Browse documentation
Is this URL in the index? — GET /why_not
Coverage transparency: is this URL in the index, and if not, what happened to it?
/why_not Request
curl \
-H "x-api-key: $UNLOB_API_KEY" \
"https://api.unlob.com/why_not?url=<url>" Behaviour
Answers one of three things. `present` returns the hit. `removed` names the reason — redundant, superseded, stale, access-starved, lost-replacement, or tombstoned-source — and, where one exists, the passage that superseded it. `unknown` means it was never admitted, or was never seen.
Use it before concluding the web is silent on something: an absent URL and an absent topic are different findings.
Costs 1 credit.
Parameters
| Name | Type | Description |
|---|---|---|
urlrequired | string | The URL to ask about. |
Responses
| Status | Meaning |
|---|---|
200 | present, removed (with a reason), or unknown. |
401 | Missing, unknown or revoked key. A key minted moments ago can answer 401 until it propagates to the serving fleet. |
429 | Over the per-minute rate (spent in credits), or a hard-capped key without the credits this call costs. `retry-after` is present on the rate-limit case only. |
The same call over MCP
This capability is why_not on the
MCP server, taking the same parameters and returning the same body. A parity test
in the API fails the build if the two ever diverge, so you can read either
reference and use the other.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "why_not",
"arguments": {
"url": "<url>"
}
}
} Most clients build that frame for you — see Connect a client.
See Errors for what to do with each status, and Retries and backoff for which are worth repeating.
FAQ
- What does 200 mean on GET /why_not?
- present, removed (with a reason), or unknown.
- What does 401 mean on GET /why_not?
- Missing, unknown or revoked key. A key minted moments ago can answer 401 until it propagates to the serving fleet.
- What does 429 mean on GET /why_not?
- Over the per-minute rate (spent in credits), or a hard-capped key without the credits this call costs. `retry-after` is present on the rate-limit case only.