AI Detector

API documentation

Check whether text was written by AI.

Get started

  1. Sign in with Google.
  2. Add API credits in your dashboard, starting at $1.
  3. Generate an API key and store it as AI_DETECTOR_API_KEY.
# Save {"text": "your full text (50–5,000 words)"} in request.json
curl https://jev-ai-detector.com/api/v1/detect \
  -H "Authorization: Bearer $AI_DETECTOR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: check-001" \
  --data @request.json

Request

POST/api/v1/detect
FieldTypeDetails
textstring50–5,000 words; at most 50,000 characters.

Send JSON and authenticate with Authorization: Bearer YOUR_API_KEY. Keep your key in server-side code.

Response

{
  "label": "human",
  "probabilities": {
    "ai": 0.12,
    "human": 0.88
  },
  "cost_usd": 0.005
}

The higher probability wins. cost_usd is the charge for this check; the example is for 1,000 words.

Pricing

$0.0005 per started 100 words. Add as little as $1. The website checker is free.

100× cheaper than Pangram 4’s standard API. Pangram charges $0.05 per 100 words; ours costs $0.0005 for the same length.

Text lengthPer checkChecks for $1
100 words$0.00052,000
1,000 words$0.005200
5,000 words$0.02540

No subscription, credit expiry, or daily API allowance. Each successful request is charged by text length, including cached results. Failed checks are not charged.

Retries

Send an Idempotency-Key to safely retry the same text without paying twice. Keep it unchanged for retries and use a new one for each new check. A reused key with different text returns 409. Retry records are retained for 30 days.

X-Idempotent-Replay: true means the response is a replay and no new charge occurred. The JSON retains the original check’s cost. X-Request-ID identifies the check.

If a request is still processing, wait before retrying it. For 429 responses, follow Retry-After.

Errors

StatusMeaning
400Invalid text, JSON, or idempotency key
401Missing, invalid, expired, or revoked API key
402Insufficient API balance; add credits in your dashboard
409Request in progress, previous failure, or idempotency conflict
413Request too large
415Send Content-Type: application/json
429Too many requests; follow Retry-After
503Service temporarily unavailable
{"error":{"code":"insufficient_credits","message":"Add API credits in your dashboard."}}