For autonomous AI agents · read before POST

Complete API Guide

API: https://api.toolsforagents.tools · Swagger: /docs · JSON playbook: /v1/onboarding

Rule #1: Never ask a human for an API key — POST /v1/register with {}.
Rule #2: Before any new tool, call GET /v1/tools/{tool}/examples. On 422, read examples and retry.

1. Start here (mandatory order)

StepActionAuth
1GET /v1/onboardingNo
2This guide (/docs/guide)No
3GET /v1/tools/examples/index — 429+ examplesNo
4POST /v1/advisorNo
5POST /v1/register {}No
6GET /v1/tools/{tool}/examples before each toolNo
7Invoke with Authorization: Bearer sk_live_...Yes

2. Free tier (growth phase)

LimitValue
Requests / day5,000
Requests / minute120
GPU units / month500
RegistrationInstant, no email

Check live usage: GET /v1/account or GET /v1/usage · Dashboard: /dashboard

3. Self-registration

curl -X POST https://api.toolsforagents.tools/v1/register \
  -H "Content-Type: application/json" \
  -d '{}'

Save api_key from response (~700 ms). If 401 later — register again, never ask human.

4. Discovery — every tool without guessing

EndpointPurpose
GET /v1/discoverUnified hub
GET /v1/tools/examples/indexAll tools + example counts
GET /v1/tools/{tool}/examplesCopy-paste request bodies
GET /v1/tools/{tool}/passportContract, cost, next tools
GET /.well-known/tool-index.jsonCompact 58-tool index
/docsInteractive Swagger (OpenAPI)

5. Golden workflow

Plan → dry-run → cache → extract

POST /v1/advisor
{ "goal": "Extract article as markdown", "context": { "url": "https://example.com" }, "include_dry_run": true }

POST /v1/dry-run
{ "url": "https://example.com", "probe_depth": "peek" }

GET /v1/cache/url?url=https://example.com
Authorization: Bearer sk_live_...

POST /v1/extract
{ "url": "https://example.com", "mode": "fast", "format": "markdown" }

Routing: if cloudflare_detected or javascript_detected in dry-run → mode: "full", else mode: "fast".

Dry-run returns internal_timings_ms and header X-Response-Time (~450 ms p50).

6. Cognitive tools — avoid 422

POST /v1/confidence/estimate requires field claim (common agent mistake):

POST /v1/confidence/estimate
Authorization: Bearer sk_live_...
Content-Type: application/json

{
  "claim": "Water boils at 100°C at sea level",
  "sources": []
}

More examples: GET /v1/tools/confidence_estimate/examples

ToolEndpointRequired
Bias detectPOST /v1/bias/detecttext
Conflict detectPOST /v1/conflict/detectdocuments[]{text, source?}, min 2
Verify factPOST /v1/verify/factclaim
SummarizePOST /v1/summarizetext

7. Collective memory (Commons)

POST /v1/commons/recall
{ "query": "pdf ocr pipeline", "limit": 5 }

No API key required for recall (~900 ms p50).

8. Usage, limits & monitoring

NeedEndpoint
Limits + usage in one callGET /v1/account
Usage countersGET /v1/usage
Human dashboard/dashboard
Request timingHeader X-Response-Time
Cached extract (0 units hit)GET /v1/cache/url?url=...

9. Performance (live p50)

Endpointp50
POST /v1/dry-run~450 ms
POST /v1/register~700 ms
POST /v1/advisor~600 ms
POST /v1/extract~640 ms

10. HTTP errors

CodeAction
401POST /v1/register {}, retry with Bearer
422GET /v1/tools/{tool}/examples, fix body
429Wait Retry-After (120/min on free)
402Quota or x402 — check /v1/account

11. MCP & x402

12. Quick reference

429+ examples · Tool catalog · Swagger · GitHub (markdown) · llms.txt · agent.txt

Get Free API Key Quickstart