Skip to content
unlob

Quickstart

Sign up, get a key, search. There is no project to create, no index to provision and no sales call in between.

Make your first unlob API call

  1. Get an API key

    Open the console and enter your email. The link that arrives creates your account and issues your first API key in one step — sign-up and sign-in are the same action.

  2. Export the key

    Keys look like ulb_ followed by 48 hex characters. Store it as an environment variable; it is shown once and cannot be recovered, only rotated.

  3. Run a search

    Send the key as an x-api-key header to https://api.unlob.com/search with a q parameter. You get metadata-only hits back — url, host, title, snippet, score and world-model signals.

  4. Fetch one document

    Pick the hit you actually want and call /doc/:id with its id. That is the only call that returns page text, which is what keeps a ten-result search affordable.

Get a key

Open the console and enter your email address. The magic link that arrives creates your account, your organisation and a tenant on the free plan, and issues an API key labelled default — all in one step. There is no separate sign-up flow, and no password.

The free plan gives you 10,000 requests a month, 30 days of history and 1 request per second, with no card required. It hard-caps at quota rather than billing you by surprise — the generous quota is there so you can evaluate properly, and the rate limit is what stops it carrying production traffic.

Authenticate

Keys have the form ulb_ followed by 48 hexadecimal characters. Send yours in either an x-api-key header or an Authorization: Bearer header — both are accepted everywhere.

The plaintext key is returned exactly once, at creation. We store only a hash of it, so a key listing physically cannot leak a usable credential. If you lose a key, rotate it.

Both header forms workbash
export UNLOB_API_KEY="ulb_..."

curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/search?q=hello"
curl -H "Authorization: Bearer $UNLOB_API_KEY" "https://api.unlob.com/search?q=hello"

Search returns metadata-only hits. You get the url, host, title, a bounded snippet, the relevance score and a set of world-model signals — but never the page body.

That is deliberate. An agent that receives ten full page bodies has spent its context before deciding which page it wanted.

Searchbash
curl -H "x-api-key: $UNLOB_API_KEY" \
  "https://api.unlob.com/search?q=climate+policy&collapse=story&limit=5"

Read one document

When your agent has decided which passage matters, fetch exactly that one. The text is cleaned extraction — no navigation, no cookie banners, no footer.

Fetchbash
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/doc/p:8f2c9a"

Try the coverage graph

The single call worth trying before anything else is assemble_context. It runs the whole retrieval loop server-side — retrieve, collapse by story, rank by corroboration then authority then relevance, pack to your token budget — and returns each passage with the reason it was included.

GraphRAG in one callbash
curl -H "x-api-key: $UNLOB_API_KEY" \
  "https://api.unlob.com/assemble_context?q=who+funds+independent+web+indexes&budget=4000"

Use it from an agent

If your agent speaks the Model Context Protocol, you do not need to write HTTP calls at all. The MCP server exposes all eleven tools over stdio; drop the config block into Claude Code, Claude Desktop, Cursor or anything else that supports MCP.

Frequently asked questions

Do I need a credit card to start?

No. The free plan gives you 10,000 requests a month with no card, and it stops at quota rather than billing you unexpectedly.

Where do I find my API key again?

You cannot retrieve a key after creation — we store only a hash. The console shows the last four characters so you can identify a key, and lets you rotate it, which issues a replacement in a single transaction so you are never left with two live keys or none.

Start on the free tier

10,000 requests a month, no card. Everything documented here works on every plan.