Our own index — not a Google SERP reseller
Web search built for agents,
not for clicking.
Our own index, admitted rather than ranked. Metadata-only passage hits, a traversable coverage graph, and eleven MCP tools — at a fraction of what an own-index search API normally costs.
curl -H "x-api-key: $UNLOB_API_KEY" \
"https://api.unlob.com/search?q=climate+policy&collapse=story&limit=5"- Keyword p50
- 2.1 ms
- Per 1,000 queries
- $0.40
- MCP tools
- 11
- Languages
- 101
Single node, 31k-passage corpus
On the Scale plan
Search, graph traversal, context packing
One embedding space, no translation step
Latency measured single-node on a 31,000-passage corpus — see the method.
The cheapest own-index search API, by a wide margin
Owning an index used to be the differentiator. It is not any more — Exa, Parallel and Brave all run their own, backed by billions in valuation. What still separates them is what you pay for a query, and there we are not close to the field.
| Provider | Own index? | $ / 1,000 queries | Source |
|---|---|---|---|
Approximately $25 per 1,000 searches on the Starter plan; the rate falls on higher-volume plans. | No Scrapes Google, Bing, Baidu and others | $25 | SerpApi pricing |
$14 per 1,000 search queries on Gemini 3.x after 5,000 free prompts per month. Gemini 2.5 models use the older scheme at $35 per 1,000. One prompt can trigger several billed queries. | Yes Google's index | $14 | Gemini API pricing |
A per-request search fee of roughly $5 to $14 per 1,000 on top of token charges ($1/$1 per million on Sonar, $3/$15 on Sonar Pro). Pro Search mode runs $14 to $22 per 1,000. | Yes Perplexity index | $14 | Perplexity API pricing |
TavilyAcquired Credit-based at $0.008 per credit pay-as-you-go. A basic search is 1 credit (~$8 per 1,000), an advanced search 2 credits (~$16 per 1,000), and a deep research request 4 to 250 credits. | No No publicly documented independent web index | $8 | Tavily pricing |
Base search is $7 per 1,000 requests. Results beyond the first 10 add $1 per 1,000, contents add $1 per 1,000 pages, and AI summaries another $1 per 1,000 — so a realistic RAG call costs more than the headline. | Yes Proprietary AI-native semantic index | $7 | Exa pricing |
Search is $5 per 1,000 requests. The Answers plan is $4 per 1,000 plus $5 per million tokens. | Yes 40B+ pages, no Google or Bing dependency | $5 | Brave Search API pricing |
$5 per 1,000 queries after the free allowance, capped at 10,000 queries per day. | Yes Google's index, via Programmable Search Engine | $5 | Custom Search JSON API pricing |
The Turbo search processor is $1 per 1,000; Basic and Advanced are both $5 per 1,000. The Task API, which is what most agent workloads actually use, runs $5 to $2,400 per 1,000 depending on processor. | Yes Proprietary web index and retrieval infrastructure | $1 | Parallel pricing |
$1 per 1,000 on the Starter plan, falling to about $0.30 per 1,000 at high volume. | No Google SERP wrapper | $1 | Serper pricing |
Roughly $0.60 to $1 per 1,000 SERPs depending on endpoint, priority and volume. | No SERP data collection at scale | $0.60 | DataForSEO pricing |
$29 per month for 50,000 requests. | Yes Our own crawl and index | $0.58 | This page |
$199 per month for 500,000 requests. | Yes Our own crawl and index | $0.40 | This page |
Three things nobody else does
Our own index, priced like infrastructure
Not a Google SERP reseller and not a wrapper. We crawl, admit and serve our own corpus — and charge $0.40 per 1,000 queries for it, well under every other own-index API on the market.
Read more →A coverage graph, not a link list
Every hit carries centrality, community and independent-source counts. Six tools let an agent traverse the connections instead of rebuilding the world in its context window.
Read more →Coverage you can audit
Ask why any URL is or is not in the index and get a real answer: present, never admitted, or removed with the reason. No other search API will tell you what it left out.
Read more →Coverage graph
Every other search API makes your agent rebuild the world in its context window
Run a search, get twenty links. Now the agent has to work out which are duplicates, which sources are independent, which are authoritative, and what to read next — dozens more searches, all of it in context, all of it billed by the token. We already computed that structure in order to build the index. So we hand it to you.
relatedReturns the connected neighbourhood of a passage from the coverage graph — the edges are what to read next.
Collapses: A search per hop. One call replaces the whole chain.
corroborateReports how many distinct hosts independently carry a story — the anti-hallucination check.
Collapses: Manual cross-searching to verify a claim.
authoritiesReturns the top passages on a topic ranked by graph centrality — trust-triage a field without reading junk into context.
Collapses: Reading twenty mediocre results to find the three that mattered.
dossierBuilds a one-hop brief on an entity: mentions, the hosts covering it, and the entities co-mentioned with it.
Collapses: ~10 searches plus a manual merge, in one call.
pathFinds the shortest chain of edges linking two passages — reasoning-path retrieval, or connect-the-dots.
Collapses: Open-ended investigation, reduced to a structural query.
assemble_contextGraphRAG as a service: returns a ready-to-read context pack — corroborated, story-deduplicated, trust-ranked and packed to a token budget, each passage carrying the reason it was included.
Collapses: The entire do-it-yourself RAG loop.
The index
Search is a selection problem, not a ranking problem
A human search engine can return a hundred documents and rank the good one first, because a person will skim and discard. An agent cannot disambiguate the query and cannot triage the results without reading them — and reading costs tokens it does not get back. So we admit selectively rather than indexing everything, and we tell you what is missing.
Query
Scoped to a vertical, narrowed by filters
Match
Keyword, semantic or hybrid
Filter
On precomputed quality and graph signals
Return
Metadata-only hits in ~2 ms
Fetch or traverse
One body, or the coverage graph
Frequently asked questions
Does unlob have its own web index, or does it resell Google results?
Our own. We crawl the open web ourselves and serve from the index we built. No upstream search engine can deprecate us, reprice us or rate-limit us — which is exactly what happened to everyone who built on the Bing Web Search API before it was retired in August 2025.
How can it be this much cheaper than Exa or Brave?
A different cost structure, not a loss-leader. We own the index, so no part of our bill is a per-query fee to an upstream provider — which is the largest cost line for every reseller in the category. What we do spend follows how much the API is used rather than how large the index is, so margin widens with volume instead of narrowing. We are also self-funded and not raising, so there is no valuation the price has to grow into.
What is the coverage graph, and why does it matter for agents?
Every search API hands an agent a list of links and makes it rebuild the relationships in its own context window — dozens of searches, deduplication, trust triage, all in-context and expensively. We already compute those relationships to build the index. The coverage graph exposes them, so an agent can traverse connections, check corroboration and assemble a packed context set in one call instead of twenty.
Can I ask why a specific URL is missing from results?
Yes, and as far as we know no other search API will answer that question. The why_not endpoint tells you whether a URL is present, was removed and for what reason — redundant, superseded, stale, access-starved — or was never admitted. For regulated buyers that is the difference between "we searched" and "here is what was considered and what was excluded".
Is there an MCP server?
Yes — eleven tools over stdio JSON-RPC, covering search, document fetch, similarity, coverage transparency and six coverage-graph operations. It works with Claude Code, Claude Desktop, Cursor and anything else that speaks the Model Context Protocol.
What does the free tier include?
10,000 requests a month, 30 days of history, and 1 request per second — no card required, and it is the most generous free quota in the category. One magic link creates your account and your first API key. The rate limit, not the quota, is what makes it a tier for building and evaluating rather than for serving users; it hard-caps at quota rather than billing you by surprise.
Start on the free tier
10,000 requests a month, no card, no sales call. One magic link creates your account and your first API key.