Pricing
Prepaid credits across every provider. Passthrough pricing plus a small purchase fee, or bring your own keys.
Credits
SearchRouter is pay-as-you-go on prepaid credits. You top up a balance once, and every request - search, embeddings, rerank, answer, extract - draws from it, regardless of which upstream provider serves the call. One balance, one bill, no per-vendor contracts.
Each response includes a usage object with the exact cost in USD, which is deducted from your org balance and recorded as a usage event:
{
"results": [ ... ],
"usage": { "requests": 1, "results": 10, "cost": 0.005 }
}Passthrough pricing + purchase fee
For managed providers (using SearchRouter's own upstream keys), you pay the provider's list price, passed through at cost, plus a small fee applied when you purchase credits. There is no per-request markup - the price you see in GET /api/v1/models is what you pay per call.
Per-model pricing is published in the model catalog as USD strings (the OpenRouter convention), priced per request or per million tokens depending on the capability:
| Capability | Priced by | Example model | Price |
|---|---|---|---|
| Search | request | serper/google | $0.001 / request |
| Search | request | exa/neural | $0.005 / request |
| Embedding | 1M tokens | openai/text-embedding-3-small | $0.02 / 1M tokens |
| Rerank | search unit | cohere/rerank-v3.5 | metered per call |
| Answer | request | perplexity/sonar | metered per call |
-1 means the cost is dynamic and computed at call time from the provider's response (e.g. token usage). The real cost is always returned in usage.cost.Bring your own keys (BYOK)
Instead of managed credentials, you can store your own provider API keys - AES-encrypted per organization and decrypted only at call time. With BYOK:
- Upstream usage is billed directly to your provider accounts.
- You still route everything through one SearchRouter key with unified routing and fallback.
- SearchRouter charges only a small platform fee for the gateway, not passthrough provider cost.
Add keys via POST /byok or your dashboard's provider settings.
Free & demo mode
Demo mode returns realistic example payloads with zero upstream credentials, so you can build and test your integration before adding any keys or credits. Models exposed under the :free variant route to a provider's free tier where one exists.
Checking your balance
Query GET /credits for the org-wide balance, or GET /key for a single key's usage and remaining spend limit:
curl https://searchrouter.ai/api/v1/credits \ -H "Authorization: Bearer $SR_API_KEY"
{
"total_credits": 100.0,
"total_usage": 12.84
}See the Models & Account reference for the full account endpoints.