Developers

Everything the website does, your program can do too — same endpoints, same results, no rate ceiling. A JSON body over HTTPS, a key in a header, a credit per call.

Authentication

Send your key in an x-api-key header. Keys look like sk_live_… and are shown exactly once, when created — apilib stores only a SHA-256 hash, so a lost key must be replaced rather than recovered.

curl -X POST https://api.doathing.com/v1/text-cleaner \
  -H "x-api-key: $APILIB_KEY" \
  -H "content-type: application/json" \
  -d '{"text": "<p>hello</p>", "options": {"strip_html": true}}'

Credits

Each endpoint costs a whole number of credits, shown on its catalogue page and in the credits_remaining field of every successful response. New accounts start with a one-time bonus of 100 credits. There is no subscription and no monthly reset — you top up when you run out.

Credits are checked and deducted before the endpoint runs. A call rejected for bad input still costs a credit; a call rejected for a bad key does not.

Quotas

Requests are throttled per key, and separately rate-limited per IP address. Exceeding either returns 429. Every endpoint documents its own timeout and maximum input size on its catalogue page.

Errors

Failures return a consistent envelope with a stable error code and a docs_url. See the error reference for the full list.