unlob Docs
Browse documentation

Pricing and plans

What a call costs, what each tier includes, and where the numbers come from.

The table below is generated from the tier definition the engine enforces, so the quota on this page is the quota your key gets. Manage your plan in the console.

Plans

Plan Price Requests / month Rate / minute History Past quota
Free default Free 10,000 60 30 days Stops
Build $29/mo 50,000 600 1 years Keeps working
Scale $199/mo 500,000 3,000 5 years Keeps working
Archive $799/mo 2,000,000 12,000 Full index Keeps working

The free tier is deliberately generous — 10,000 requests a month with no card. The per-minute rate is what does the work of separating prototyping from production: 60/min is enough to build and evaluate against, and not enough to serve real users from. A workload that outgrows a prototype hits the ceiling on latency rather than on quota, which is the more honest signal.

What counts as a request

One request is one search or one graph call. /search, /similar, /why_not, /browse, /related, /corroborate, /authorities, /dossier, /path, /assemble_context and /doc/:id each bill one, whatever they return. A limit=0 count costs the same as limit=100.

Over MCP, one tool call bills one request. Connecting is free: initialize, the initialized notification, tools/list and ping are not billed, so opening a session costs nothing.

These are free and need no key: /describe, /openapi.json, /mcp/tools.json, /llms.txt, /guides/…, /account, and the health endpoints.

When you reach the quota

On Free the key stops: further requests answer 429 until the period rolls over, with no retry-after, because retrying will not help. There is no card on file, so free means free.

On the paid plans requests keep working past the quota. The pricing page promises that rather than failing closed — an agent in production should not stop because a counter rolled over. Per-request overage pricing is not yet published; if you expect to run past your quota regularly, talk to us before you do rather than after.

History depth

How far back a plan may query. A tier with a 30 days window sees the recent index; Archive sees all of it. This is a filter on what a query can reach, not a filter on what exists.

Spending less

  • limit=0&facets=true sizes a topic in one request instead of five exploratory searches.
  • collapse=story stops you buying — and reading — the same article five times.
  • fields trims the response to what you will actually use.
  • assemble_context is one billed call in place of a retrieval loop that would be several.
  • The snippet is the passage text, so get_document is rarely needed.

GET /account reports your plan, per-minute rate and requests used this period. See Rate limits and quotas for what the refusals mean.

How these rates compare with other search APIs, and the unit economics behind them, are on the main site: pricing, the 2026 landscape and the cost model. Every competitor figure there carries a dated link to the vendor's own pricing page.