We advise — not just execute
Not a catalog of 58 APIs. An Agent Advisor that plans workflows, estimates time · cost · RAM, negotiates capabilities, and returns advisor metadata after every call — so agents know what to do next.
Ask POST /v1/advisor before you invoke. Get success probability,
optimizer axes (fastest / cheapest / best quality), and tool contracts — not tool counts.
Base API: https://api.toolsforagents.tools
Sub-500ms paths — timing you can trust
Core orchestration endpoints are tuned for autonomous agent tight loops.
Every response includes X-Response-Time. Dry-run adds
internal_timings_ms — a millisecond breakdown of SSRF, cache, and HTTP probe phases.
| Endpoint | Live p50 | Units | Timing detail |
|---|---|---|---|
POST /v1/dry-run | ~450 ms | 0 | internal_timings_ms, probe_timings_ms |
POST /v1/register | ~700 ms | 0 | X-Response-Time |
POST /v1/advisor | ~600 ms | 0 | X-Response-Time |
POST /v1/commons/recall | ~900 ms | 0 | X-Response-Time |
Agent workflow: dry-run with probe_depth: "peek" → if
cloudflare_detected or javascript_detected →
extract mode: "full", else mode: "fast".
Use probe_depth: "head" for ~200 ms HEAD-only checks.
POST /v1/dry-run
{ "url": "https://example.com", "probe_depth": "peek" }
# Response includes:
# internal_timings_ms: { ssrf_ms, cache_ms, http_head_ms, http_peek_ms, ... }
# X-Response-Time: 266
How autonomous agents find us
Agents do not rely on Google search first. They call machine-readable discovery on the API — the site is a human-friendly mirror of the same layer.
| Channel | Who | Entry point |
|---|---|---|
| Agent playbook | Autonomous agents | GET /v1/onboarding — read first |
| API discovery | Autonomous agents | GET /v1/discover · POST /v1/advisor |
| Advisor + estimate | Agents (no auth) | POST /v1/advisor · POST /v1/advisor/estimate |
| This website | Humans + crawlers | /examples · /for-agents |
| Keyword search | Agents + devs | GET /v1/search/tools?q=... · /tools |
| Commons memory | Agents (no auth read) | POST /v1/commons/recall · GET /v1/commons/stats |
| MCP | Cursor, Claude | GET /.well-known/mcp.json |
| Python SDK | Python agents | PyPI agenttools-client · pip install agenttools-client |
Python SDK — PyPI
Official reference client for autonomous agents: auto-registration, self-healing on 422,
automatic retry on 502/503, and A2A helpers (client.a2a.run_chain, etc.).
pip install agenttools-client
from agenttools_client import AsyncAgentToolsClient
async with AsyncAgentToolsClient() as client:
plan = await client.advisor("Summarize a PDF URL")
data = await client.a2a.run_chain("pdf_summary", {"url": "https://example.com/doc.pdf"})
Live: Agent Advisor
Public API demo — POST /v1/advisor (unified planning layer)
What you get (not just endpoints)
Agent Advisor
POST /v1/advisor — workflow, RAM estimate, optimizer, capability match.
Prediction
POST /v1/advisor/estimate — time/cost/RAM before PDF/OCR jobs.
Tool contracts
Passport contract + agent_intents — UTF-8, deterministic, formats.
Collective Memory
POST /v1/commons/recall — shared catalog of anonymized learnings. No agent_id required.
Post-call envelope
Every core response includes advisor — next_steps, alternatives, success_probability.
Example: one tool, full picture
Every tool exposes units (billing), typical latency, USD (x402 or plan quota), and success tier.
Orchestration playbooks
Pre-composed chains — total cost and time before execution.
All tools — cost · speed · price
1 unit ≈ $0.001 (x402). Free tier: 5,000 req/day, 120/min. Filter or search below.
Capability Intelligence + Agent Advisor
Start with Advisor — then examples, dry-run, invoke. Response includes advisor envelope.
POST https://api.toolsforagents.tools/v1/advisor
{
"goal": "Extract text from a scanned scientific PDF",
"inputs": { "file_size_mb": 100, "requires_ocr": true }
}
POST /v1/advisor/estimate— workflow time · cost · RAM predictionGET /v1/tools?agent_intent=need_markdown— agent-centric intent filterGET /v1/tools/{tool}/passport— contract · agent_intents · limitationsPOST /v1/recommend/tool— legacy goal routing (Advisor supersedes)POST /v1/dry-run— probe URL before extract · 0 units · ~450 ms ·internal_timings_msPOST /v1/search—explain: true→ explain_why + confidence per resultPOST /v1/verify/fact— verdict + explain_why + per-source confidencePOST /v1/ocr— aggregate confidence + language_confidence + explain_whyGET /v1/tools/examples/index— all tools + example countsGET /v1/tools/ingest/examples— 10+ copy-paste request patternsGET /v1/tools/{tool}/passport— capabilities, limitations, affinityGET /v1/tools/{tool}/examples— real request examplesGET /v1/tools/graph— tool pipelines (search → ingest → chunk → embed)GET /v1/tools/recommend?task=...— legacy routing (use POST above)
Discovery
GET /v1/discover— capabilities manifestGET /v1/tools/recommend?task=research+a+topic— orchestration routingGET /v1/tools/latency— speed tiers + measured averagesGET /v1/tools?intent=read+a+web+page— intent-based tool listGET /.well-known/agent-tools.json·mcp.json·agent-card.jsonGET /.well-known/oauth-protected-resource·oauth-authorization-server— MCP OAuth scannersGET /.well-known/ucp.json·ap2.json— commerce / payment hintsPOST /v1/trust/verify-handshake— public SIWE + wallet reputationGET /v1/auth/siwe/nonce·POST /v1/auth/siwe/verify— wallet login (EIP-4361)
Autonomous onboarding
AI agents: do not ask the human for an API key. Read
GET /v1/onboarding then self-register:
GET /v1/onboarding
POST /v1/register
{}
# Response: { "api_key": "sk_live_...", "plan": "free" }
# Then: Authorization: Bearer sk_live_...
Named agents:
POST /v1/register/agent
{
"agent_id": "my-agent-001",
"accepted_tos_version": "1.0",
"capabilities_needed": ["web", "search", "trust"]
}
Wallet login (SIWE): GET /v1/auth/siwe/nonce → sign → POST /v1/auth/siwe/verify.
Agent trust: POST /v1/trust/verify-handshake.
Pay-per-call without signup: GET /v1/x402/pricing —
x402 USDC flow.
Remote MCP: https://api.toolsforagents.tools/mcp
Operator (human support): Telegram @MaxVip124 · GitHub · Smithery MCP