Developer API
Every request goes to a versioned, JSON HTTP API at https://toolsonduty.com/api/v1/*, authenticated with a personal API key. The API runs the exact same pure functions as the website tools, so results are always identical to what you see in the browser.
Quick start
curl -X POST https://toolsonduty.com/api/v1/hash \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"text":"hello"}'{ "ok": true, "data": { "sha256": "2cf24dba5fb0a30e...", "md5": "5d41402abc4b2a76..." } }Authentication
Send your key as a bearer token: Authorization: Bearer <your-api-key>. Create a free developer account, verify your email address, and sign in to manage your API access.
Keep your key secret. Anyone with it can use your quota. If a key is ever exposed, ask us to revoke it and issue a new one.
Rate limits & pricing
| Plan | Credits | Requests / min | USD | INR | USD / 1,000 | INR / 1,000 | Notes |
|---|---|---|---|---|---|---|---|
| Free | 100 / month | 5 | $0 | ₹0 | Free | Free | Available now for evaluation and small tests. |
| Test Pack | 10,000 | 15 | $1.99 one-time | ₹199 one-time | $0.199 | ₹19.90 | One-time prepaid credits; no monthly renewal. Coming soon. |
| Standard | 25,000 / month | 60 | $4.99/ month | ₹499/ month | $0.200 | ₹19.96 | For hobby apps, prototypes and light production use. Coming soon. |
| Pro | 125,000 / month | 180 | $14.99/ month | ₹1,499/ month | $0.120 | ₹11.99 | For active production applications. Coming soon. |
| Ultra | 300,000 / month | 500 | $29.99/ month | ₹2,999/ month | $0.100 | ₹10.00 | For growing products, agencies and larger workloads. Coming soon. |
| Business | 1,000,000 / month | 1,000 | $79.99/ month | ₹7,999/ month | $0.080 | ₹8.00 | For high-volume commercial integrations. Coming soon. |
USD and INR are localized list prices, not live currency conversions. Applicable taxes may be added at checkout. Paid checkout is not enabled yet, and credits do not roll over unless a future billing offer explicitly says otherwise.
Developer accounts use one shared credit pool that resets on the 1st of each UTC month. Credits are charged only when an endpoint completes successfully. Authenticated endpoint responses include X-Credit-Limit, X-Credit-Remaining and RateLimit-Policy headers. Request-per-minute limits use Cloudflare's edge-native limiter and do not create D1 counter writes.
Response format
Every endpoint returns one consistent JSON envelope:
{ "ok": true, "data": { ... } }
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "..." } }Common error codes: MISSING_KEY, INVALID_KEY, RATE_LIMITED, INSUFFICIENT_CREDITS, INVALID_INPUT, NOT_FOUND, METHOD_NOT_ALLOWED.
