Introduction.
metasearch.sh puts thirteen search, scraping, and answer engines behind one metered API key. Top up in dollars, send a request, get normalized results and a receipt.
There is one endpoint: POST /api/v1/search. It fronts Brave, Exa, Perplexity, Firecrawl, Serper, and eight more. You pick a mode — general, news, deep research, scrape, patents, and so on — and either name a provider or let the router pick the best configured engine for that mode. Results come back in one shape regardless of what served them.
What the router does
Omit provider and the request goes to the best engine for that mode: enabled, healthy, cheapest first. If it fails or comes back empty, the next candidate gets the same request — up to three attempts — and only the one that actually answers is billed. The routing block in the response names which engine served you and lists the ones that were skipped, so a slow request is distinguishable from a broken one.
Name a provider and fallback is deliberately switched off. An explicit choice is a choice; quietly serving something else would make your results irreproducible. If that engine is down you get a 503 telling you so, not a silent substitution.
Discovering the API
GET /api/v1/manifest is public and needs no key. It returns every mode with its purpose, whether query takes text or a URL, which engines can currently serve it, and what a call costs. An agent that reads it once never needs updating when we switch a provider off, which is the point: routing decisions live on the server, not in your prompt.
Who this is for
Agents, and the people who build them. An agent that searches the web needs different engines for different jobs — an index for lookups, a reader for pages, an answer engine for synthesis — and each one wants its own account, key, and billing relationship. metasearch collapses that to a single key in the environment. Because every response reports charged_usd and balance_usd, an agent can budget mid-run instead of discovering an empty account after the fact.
Where next
- Search — the full request/response reference
- Providers & modes — the thirteen engines and what each can do
- Errors — every status code and how to fix it
- Billing — how the meter works, to the micro-dollar
- search-cli — the bring-your-own-keys companion CLI