$14.99
Buy Developer once for lifetime API access. Refill with any pack.
Integrate AI image detection into your app. Upload an image and receive a score and verdict.
Buy Developer once for lifetime API access. Refill with any pack.
Paid credits
Each successful API check uses one paid credit. Daily free checks are web-only.
10 MiB / 40 MP
Results are estimates, not proof of authenticity.
Keep API keys secret. Use them on your server only.
curl 'https://isthisimageai.org/api/v1/detect' \
-H "Authorization: Bearer $ISTHISIMAGE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F 'image=@photo.jpg'import os, uuid, requests
with open("photo.jpg", "rb") as image:
response = requests.post(
"https://isthisimageai.org/api/v1/detect",
headers={"Authorization": "Bearer " + os.environ["ISTHISIMAGE_API_KEY"],
"Idempotency-Key": str(uuid.uuid4())},
files={"image": ("photo.jpg", image, "image/jpeg")}, timeout=120)
print(response.status_code, response.json())import { readFile } from 'node:fs/promises';
const form = new FormData();
form.set('image', new Blob([await readFile('photo.jpg')], { type: 'image/jpeg' }), 'photo.jpg');
const response = await fetch('https://isthisimageai.org/api/v1/detect', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.ISTHISIMAGE_API_KEY,
'Idempotency-Key': crypto.randomUUID() },
body: form
});
console.log(response.status, await response.json());{"ok":true,"request_id":"…","result":{"score":0.92,"verdict":"likely_ai"},"credits_charged":1,"remaining_credits":1499}Each successful API check uses one paid credit. Daily free checks are web-only.
Any confirmed Developer refund removes API access from that purchase.
| 400 | INVALID_REQUEST / INVALID_IMAGE |
| 401 | INVALID_API_KEY |
| 402 | INSUFFICIENT_CREDITS |
| 403 | API_ACCESS_REQUIRED |
| 409 | IDEMPOTENCY_CONFLICT |
| 409 | REQUEST_IN_PROGRESS |
| 409 | CONCURRENCY_LIMIT |
| 413 | IMAGE_TOO_LARGE |
| 415 | UNSUPPORTED_IMAGE |
| 429 | RATE_LIMITED |
| 503 | API_UNAVAILABLE / DETECTOR_UNAVAILABLE |
| 504 | PROVIDER_TIMEOUT |
| 500 | INTERNAL_ERROR |