// DEVELOPER API

Text-check APIwith a key and plain JSON.

The same analysis as on the site, for your own programs: score, metrics, spots in the text with quotes, cleaning and marking. Requests and responses are JSON.

characters
...
requests at once
...
requests per s
...
per month
...
curl -s https://authortext.com/api/analyze \  -H "Authorization: Bearer atk_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{"text": "It is important to note that various factors play a crucial role."}'
200 OK/ application/json/ Response shortened: not every field is shown
{  "probability": 36.048,  "confidence": "LOW",  "band": { "index": 2, "key": "mixed" },  "evidence": [    { "type": "phrase", "line": 1, "why": "high",      "excerpt": ">>>It is important to note<<< that various ..." }  ],  "stats": { "words": 12, "sentences": 1 }}

01/Endpoints

These requests accept the key; account and payment requests do not.

  • POST /api/analyze Score, metrics, spots in the text with quotes, watermarksbody: {"text": "..."} 1 request
  • POST /api/clean Cleaning: removes hidden characters and typography; a text that is too long is cut to the plan limit (truncated, limit)body: {"text": "..."} 1 request
  • POST /api/highlight Marks the found spots for highlightingbody: {"text": "..."} 1 request
  • POST /api/fetch-url Loads a page by address and analyzes its textbody: {"url": "..."} 5 requests
  • POST /api/extract-file Text from a file: PDF, DOCX, ODT, RTF, EPUB, FB2, HTML, TXTbody: file 5 requests
  • GET /api/me The key's plan and its limits does not spend requests

02/Good to know

Nothing stored

The text is processed in memory, never written to disk and never logged.

Key and plan

The key is created in your account and shown once; the server keeps only its fingerprint. A new key replaces the old one.

One error format

An error always looks like {"error": {"code", "message"}}, with no stack traces.

Text, link, file

Send a text, a page address or a whole document.

03/API by key: the Pro and Max plans

Prices and limits are read from the server, so they cannot drift from the real ones.

Pro

-per month
- characters per request- requests at once- requests per second
Choose a subscription
  • The API key is included in the Pro and Max plans.
  • All kinds of analysis and fragment review
  • Authorization: Bearer header for analysis, cleaning, marking, loading by link and from a file
  • The key works while the paid period is running

04/Errors and limits

HTTP statuscodeWhen
400invalid_jsonThe request body is not valid JSON
413payload_too_largeThe request body is too large
415unsupported_media_typeContent-Type is not application/json
422empty_text / invalid_textThe text field is empty, missing or not a string
422text_too_longThe text is longer than the plan allows; the reply carries limit and plan
429rate_limitedToo many requests; see the Retry-After header
  • Requests are counted as a "burst": first you can send as many in a row as shown above, then that many per second. Loading by link or from a file costs 5 requests; a text over 100,000 characters costs 1 more for every 100,000.
  • A missing, wrong or expired key does not produce an error: the request is handled as a free one, with the free limits (3,000 characters). Check the plan with GET /api/me.
  • The score is a guide, not proof of authorship.
// API KEY

The key is created in your account

Subscribe to the Pro or Max plan, open the "API key" section in your account and press "Create key".

Open your account