Providers & modes.
Thirteen engines in three families, each probed with a real billed request every 30 minutes. Name one explicitly, or let the router pick from the engines that support your mode.
The three families
Search engines — parallel, brave, serper, serpapi, exa, tavily — query a web index and return ranked results at a flat price per call. Scrapers & readers — jina, firecrawl, browserless, stealth — turn a URL into clean text; stealth is our own Chrome-fingerprint fetcher for pages that fight back. Answer engines — perplexity, xai, linkup — return grounded, LLM-synthesized answers with sources; where the upstream bills by token, so do we, from the usage it actually reports.
The table
| provider | family | modes | from / call | median | uptime |
|---|---|---|---|---|---|
| parallel | search | general news deep | $0.0075 | — | — |
| brave | search | general news deep | $0.0075 | — | 0% |
| serper | search | general news scholar patents images places | $0.0015 | 1030 ms | 100% |
| exa | search | general academic people similar deep | $0.0105 | 1287 ms | 100% |
| jina | scraper | general extract | $0.0001 +tok | 2412 ms | 98% |
| linkup | answer | general news deep | $0.0090 | 989 ms | 100% |
| stealth | scraper | scrape extract | $0.0008 | 63 ms | 100% |
| firecrawl | scraper | general scrape extract | $0.0114 | 1270 ms | 100% |
| tavily | search | general news academic deep | $0.0120 | — | — |
| browserless | scraper | scrape extract | $0.0060 | — | — |
| perplexity | answer | general news academic deep | $0.0210 +tok | — | 0% |
| serpapi | search | general news scholar images | $0.0375 | — | — |
| xai | answer | social | $0.0075 +tok | 11104 ms | 100% |
How those two columns are measured. Every configured engine gets one real, billed request every 30 minutes from our production region, and we record what came back. The figures above are the median round-trip and the success rate over the last 24 hours (n = 432 probes), recomputed every five minutes. Median rather than mean, because one timeout would drag an average somewhere no real call ever went; and an em-dash rather than a zero, because an unmeasured engine and an instant one are not the same fact. The same data, charted, is at /status.
A provider under 100% is failing its probe right now. The router sorts it last but still tries it, because an engine that fails a health check can still answer a real query, and being the only candidate beats returning nothing.
Prices shown are the default-mode rate; some modes price differently — deep usually costs more, scrape sometimes less. Every response tells you the exact charge, and Billing explains the formula.
Live availability
GET /api/v1/providers is public (no auth) and returns, per provider: supported modes, whether it is currently configured, the per-call resale price, whether it is token-billed, and the result of the last health check — a real billed probe run every 30 minutes. Responses are cached for 60 seconds.
{
"providers": [
{
"name": "brave",
"modes": ["general", "news", "deep"],
"available": true,
"price_per_search_usd": 0.0075,
"token_billed": false,
"status": {
"ok": true,
"latency_ms": 412,
"checked_at": "2026-07-03T09:30:00.000Z"
}
}
]
}The human-readable version, with 24 hours of uptime history, lives at metasearch.sh/status.