Quickstart: API
A first REST call in five minutes: signup, inspect, run, wallet.
A first real call in five minutes: sign up, find a capability, inspect its price, run it, read the wallet.
1. Create an account and a key
Sign up on the dashboard (password, Google, GitHub or an emailed code) and verify your email: the workspace unlocks with $1 of credit that runs real calls. Mint a key under API keys. It is shown only once, so store it now.
export ROUTERGROWTH_API_KEY=rg_live_...
Building an agent that speaks MCP? It can skip the key and connect with OAuth instead: see the MCP quickstart.
2. Find a capability
curl -X POST https://api.routergrowth.com/v1/discover \
-d '{"query": "find a verified email for a person"}'
Discover is free and public: it searches the catalog, never executes a paid call, and returns candidates with status, providers and starting_price.
3. Inspect it
curl -X POST https://api.routergrowth.com/v1/inspect \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{"capability": "contact.find"}'
The response is the contract: input_schema, output_fields, per-provider offers with exact prices, and billing conditions. Inspect before the first run of a capability, and tell the user what it costs when that matters to them: they asked, they set a budget, or a batch would pass about $1.
4. Run it
curl -X POST https://api.routergrowth.com/v1/run \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-H "Idempotency-Key: my-unique-value-1" \
-d '{
"capability": "contact.find",
"input": {"first_name": "Alex", "last_name": "Rivera", "company_domain": "example.com"},
"routing": {"provider": "auto", "strategy": "best_value", "max_cost": "0.10"}
}'
A successful response looks like:
{
"run_id": "run_...",
"status": "succeeded",
"capability": "contact.find",
"provider": "...",
"routing_reason": "auto: best_value picked ...",
"billing": {"currency": "USD", "quoted": "0.042", "charged": "0.042", "platform_funded": true},
"timing": {"duration_ms": 842},
"attempts": [{"provider": "...", "outcome": "succeeded", "duration_ms": 842, "detail": null}],
"result": {"...": "..."},
"request_id": "req_...",
"created_at": "2026-09-02T09:30:00+00:00"
}
The Idempotency-Key header makes the call safe to retry: a replay returns the original run with an Idempotent-Replay: true response header instead of executing again.
5. Check the wallet and history
curl https://api.routergrowth.com/v1/wallet -H "Authorization: Bearer $ROUTERGROWTH_API_KEY"
curl https://api.routergrowth.com/v1/runs -H "Authorization: Bearer $ROUTERGROWTH_API_KEY"
curl "https://api.routergrowth.com/v1/history?q=alex.rivera@example.com" -H "Authorization: Bearer $ROUTERGROWTH_API_KEY"
The last one is the run log read by subject: every run that mentions that person in its input or result, the outbound touches, and paid results you can reuse instead of buying again. Check it before enriching or messaging anyone (details).
Every key gets a web view of the same state, balance, keys, runs and usage, on the dashboard. Agents read it over the API; you read it in the browser.
6. Go one tier down when you need to
Discover also returns raw endpoints: one provider's own endpoint, with kind: "endpoint". Inspect one to get the provider's request shape, then run it with max_cost set, because a raw run has no quote and settles on the provider's measured cost after the call.
curl -X POST https://api.routergrowth.com/v1/discover \
-d '{"query": "tiktok video comments", "kind": "endpoint"}'
curl -X POST https://api.routergrowth.com/v1/inspect \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{"provider": "dataforseo", "endpoint": "/v3/serp/google/organic/live/advanced"}'
curl -X POST https://api.routergrowth.com/v1/run \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{
"provider": "dataforseo",
"endpoint": "/v3/serp/google/organic/live/advanced",
"input": {"keyword": "best crm", "location_code": 2840, "language_code": "en"},
"routing": {"max_cost": "0.05"}
}'
result.data is the provider's payload untouched. When discover says a capability wraps the endpoint, prefer the capability: normalized output, a quote, failover.
Next
- Raw endpoints: addressing, the hold and settle rules, health.
- Run reference: routing options, waterfall, response fields.
- Errors: stable codes and retry guidance.
- How it works: the billing model behind the calls.
Reading this as an agent? This page as markdown: /docs/quickstart-api.md · every page: /docs/llms.txt