The OpenRouter for Tools

One API key.
Every tool.

ToolRoute is the OpenRouter for tools. One unified API to access 70+ best-in-class tools for AI agents. No more managing dozens of API keys, accounts, and integrations.

terminal
curl https://toolroute.ai/api/v1/execute \
  -H "Authorization: Bearer tr_live_xxx" \
  -d '{"tool": "elevenlabs/text-to-speech", "input": {"text": "Hello world"}}'

How It Works

01

Get an API key

Sign up, get your tr_live_xxx key in seconds.

02

Pick a tool

Browse 70+ curated tools across 12 categories. Or let us pick—describe your task, we'll route it.

03

Execute

One API call. We handle auth, routing, billing, and fallbacks.

87

Tools in Registry

40

API Adapters

80+

Operations

54

Beliefs

6

Composites

Featured Tools

Browse all tools
New

Not just APIs — discover agent skills too

Browse 40+ curated skills for design, development, security, and more. Skills are procedures your agent installs to learn new capabilities — they run locally in your agent's context, not through an API.

Browse Skills

Simple Pricing

Start free. Scale when you need to.

Free

$0/mo

  • 100 requests/day
  • Basic tools access
  • 2 API keys
Get Started Free
Recommended

Pro

$29/mo

  • 10,000 requests/month
  • All tools access
  • BYOK support
Start Pro Trial

Enterprise

$299/mo

  • 100,000 requests/month
  • Custom adapters
  • Dedicated support + SLA
Contact Sales

See full pricing

Works Everywhere

Drop into any workflow. One key, every language.

Claude Code
Cursor
OpenAI Agents
Python
JavaScript
curl
Python
import requests

r = requests.post(
    "https://toolroute.ai/api/v1/execute",
    headers={"Authorization": "Bearer tr_live_xxx"},
    json={
        "tool": "firecrawl/scrape",
        "input": {"url": "https://example.com"}
    }
)
print(r.json()["data"])
JavaScript
const res = await fetch(
  "https://toolroute.ai/api/v1/execute",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer tr_live_xxx",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      tool: "firecrawl/scrape",
      input: { url: "https://example.com" }
    })
  }
);

const { data } = await res.json();