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.