Ebrato

Developers · Beta

Ebrato API

Use the detector, the humanizer and the text tools from your own code. It is a beta: it can change, and we will say so here when it does.

Get a key

Create a free account, open your dashboard and create a key under "API keys". The key is shown once, so copy it then. You can have up to 5 keys and revoke any of them at any time. Keep keys on your server, never in a web page or an app you ship.

Authorization: Bearer eb_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A key acts as you: it uses your plan and your daily allowance, the same as the website. A wrong or revoked key returns 401; it is never treated as a guest.

Limits

One daily allowance, shared by the website and the API, over a rolling 24 hours. A failed call is not counted.

PlanDeep scansRewritesText toolsWords per text tool call
Free10 / day5 / day (up to 600 words)25 / day1,500
Pro (coming soon)200 / day60 / day (up to 2,500 words)300 / day5,000

There is also a short-burst limit per IP address and per account. Over it you get 429 with a Retry-After header (seconds). When our AI is busy you get 429 too; wait and retry. Quick scans of the detector are always returned even when the deep scan is used up.

Endpoints

POST/api/detect

Scores text for how AI-written it reads. At least 40 words, up to 20,000 characters.

curl https://ebrato.com/api/detect \
  -H "Authorization: Bearer $EBRATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Paste at least forty words here..."}'

Returns score (0 to 100, higher = more AI-like), verdict, confidence (low, medium, high), mode (deep or quick; quick means the allowance ran out or the deep scan was unavailable, see notice), sentences with a score and flags each, reasons, strongest signals, and deepScansLeft. The score is a signal, not proof.

POST/api/humanize

Rewrites text to read less like AI. 20 words minimum.

curl https://ebrato.com/api/humanize \
  -H "Authorization: Bearer $EBRATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "...", "tone": "casual", "strength": "standard"}'

tone: standard, casual, academic, simple, persuasive. strength: light, standard, deep. Returns output, plus before and after with our AI score for each, and rewritesLeft. We do not promise any detector will pass the result.

POST/api/tools/{tool}

The AI text tools. Send text and the tool's options (all optional, with defaults). Returns output (and changes for the grammar checker) and left.

curl https://ebrato.com/api/tools/ai-translator \
  -H "Authorization: Bearer $EBRATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Please confirm the meeting.", "options": {"to": "Hindi"}}'
  • paraphraser: AI Paraphraser. Options: mode (standard, fluent, formal, simple, creative, shorter, longer).
  • grammar-checker: AI Grammar Check. Options: variant (us, uk, in).
  • summarizer: AI Summarizer. Options: length (short, medium, long); format (paragraph, bullets).
  • ai-translator: AI Translator. Options: to (26 languages).
  • ai-email-helper: AI Email Helper. Options: kind (reply, followup, request, outreach, thanks, apology, decline, announcement); tone (professional, friendly, formal, direct); language (26 languages).
GET/api/dictionary?word=bright

Definitions, synonyms, antonyms and examples from Princeton WordNet. No key needed; limited per IP address (60 per 10 minutes).

Errors

Errors are JSON: {"error": "A plain-English message"}.

Good to know