Skip to content
unlob

Frequently asked questions

The product

What is unlob?

The evidence layer for agents, on our own web index. One call, ground, returns provenance-tagged, deduplicated, token-budgeted evidence and a coverage receipt that says when the evidence is not enough. Underneath: passage-level search, 13 MCP tools including six that traverse a coverage graph over the open web, and 22 HTTP endpoints.

Does unlob own its index, or resell Google results?

Our own. We crawl the open web ourselves and serve from the index we built. No upstream provider can deprecate, reprice or rate-limit us — which is what happened to everyone building on the Bing Web Search API before Microsoft retired it in August 2025.

How large is the index?

Smaller than Google, and smaller than the well-funded competitors. It is bounded deliberately rather than accidentally: we admit a curated core and fill the tail on demand, optimising for precision of inclusion rather than raw size. Where something is missing, why_not will tell you.

What makes it different from Exa, Parallel or Brave?

Those all run their own index too — that stopped being a differentiator in 2026. Three things still separate us: price ($0.40 per 1,000 against $7 for Exa), six coverage-graph traversal tools nobody else offers over the open web, and an endpoint that explains why any URL is absent.

Pricing

How much does it cost?

Free covers 10,000 credits a month with no card. Build is $29 for 50,000 credits, Scale $199 for 500,000, and Archive $799 for 2,000,000. A search costs one credit, so that works out at $0.40 per 1,000 searches on the larger plans.

How can it be this much cheaper than the alternatives?

A different cost structure, not a subsidy. We own the index, so none of our bill is a per-query fee to an upstream provider — the largest cost line for every reseller in the category. What we spend follows usage rather than index size, so margin widens with volume, and we are self-funded with no valuation the price has to grow into.

What does a call cost?

Calls are priced in credits by what they do: a search, a document fetch, similar, browse and why_not cost 1 credit; corroborate, related, authorities, dossier and path 2; assemble_context 3; ground 5; changes 10. An MCP tool call costs exactly what the matching HTTP call costs, and connecting is free. A call that runs and fails costs 1 credit, a refused call costs nothing, and health probes and the capability catalog at /describe are never billed.

What happens when I run out of credits?

On the free tier, calls stop — it hard-caps, because there is no card on file and a surprise bill is worse than a clear stop. A call that would cost more than the credits left is refused rather than run. On paid plans you keep serving and usage-based overage applies at the rate shown in your console.

The coverage graph

What is the coverage graph?

A typed graph over the search index — passages, hosts, stories, topics and entities, connected by how they were published and what they are about. Six API calls traverse it, letting an agent check corroboration, find authorities, build an entity brief, connect two documents, or receive a ready-packed context set.

How is that different from GraphRAG?

GraphRAG and Neo4j build a knowledge graph over your documents — you supply the corpus, run entity extraction, and operate the infrastructure. The coverage graph is already built, over the open web, and queried through the same API as search. No ingestion step, nothing to operate.

Do graph calls cost extra?

A little: a graph traversal costs 2 credits against 1 credit for a search, and assemble_context costs 3. The baked signals — centrality, community, independent source counts, in-degree — arrive on every search hit at no additional cost because they are stored fields.

What does independent_sources actually count?

Distinct hosts asserting a story, not surviving copies. When a near-duplicate is rejected at admission its host is recorded against the surviving passage, so deduplication compacts the index without destroying the corroboration signal.

Using the API

How do I get an API key?

Enter your email in the console. The magic link that arrives creates your account and issues your first key in one step — sign-up and sign-in are the same action. Keys look like ulb_ followed by 48 hex characters and are shown once.

Is there an MCP server?

Yes — 13 tools over Streamable HTTP at https://api.unlob.com/mcp, authenticated with the same key REST uses. Works with Claude Code, Claude Desktop, Cursor, VS Code, Codex and anything else that speaks the Model Context Protocol. One config block, and opening a session costs no credits — free of credits rather than unmetered: a client that reconnects in a tight loop can still be rate limited. Only the tool calls are billed.

What are the rate limits?

60 credits a minute on Free, 600 credits a minute on Build, 3,000 credits a minute on Scale, 12,000 credits a minute on Archive. A search costs 1 credit, so Free is 1 search a second. Free is deliberately slow rather than small: the quota is generous so you can evaluate properly, and the rate limit is what makes it unsuitable for serving real users. The limit is counted once for the whole account rather than per server, so the published figure is the rate you get. Exceed it and the call is refused with a 429 whose retry-after gives the real wait in seconds — the time left in that minute.

Which languages are supported?

101, all in a single embedding space. A query in one language retrieves relevant passages in another with no translation step. Scripts without word delimiters — Chinese, Japanese, Thai — are tokenised as character bigrams at index and query time.

Can I search only documentation, or only academic papers?

Yes. Thirteen content types are assigned at index time from page structure rather than guessed from the URL, so content_type[]=docs really does exclude blogs about documentation.

Trust and compliance

Can I find out why a URL is missing?

Yes, and as far as we know no other search API answers that question. why_not reports whether a URL is present, was removed and for what reason — redundant, superseded, stale, access-starved, lost-replacement, tombstoned-source — or was never admitted.

Can I reproduce a search result from months ago?

You can reconstruct the evidence base by bounding the crawl-time window with from and to, provided your plan reaches back that far — 30 days on Free, one year on Build, five years on Scale, the full index on Archive.

How are API keys stored?

As cryptographic hashes, with the last four characters kept for display. The plaintext is returned once at creation and cannot be recovered by you or by us, so a key listing physically cannot leak a usable credential. Lost keys are resolved by rotation.

Do you respect robots.txt?

Yes — including crawl-delay, with longest-match precedence and support for wildcards and end-anchors. Where a site blocks us we accept the coverage gap and report it through why_not rather than escalating into an arms race.

Deployment and sovereignty

Can unlob run inside our own cloud or jurisdiction?

Yes. Because we build and serve our own index, the whole evidence layer — index, coverage graph and receipts — can be deployed inside your boundary: a national or regional cloud, your VPC, or a disconnected environment. That is the sovereign edition: the same closed product, deployed and scoped per installation, operated by unlob or run there under licence, and priced per installation rather than per credit.

Does a query ever leave our boundary?

On unlob cloud, yes — the query is sent to us and handled under the privacy policy, scoped to your tenant and retained in aggregate and fingerprinted form. In a sovereign installation, no: the query is processed and recorded inside your environment, and the record of it is yours — full text, attributed to the calling principal, on your retention policy. It is deliberately not anonymised there, because an audit trail has to say who asked.

Do you decide what is true?

No. unlob does not decide what is true and does not label content. It records what was reported, by whom, where a claim originated, which independent origins corroborate it and what evidence is missing, and hands that to your model with a receipt. The judgement stays with your model and your people.

Still have a question?

Email us and a person will answer. Or start on the free tier and find out directly.

API and MCP reference ↗