ScreenVerity
U.S. exclusion, debarment and licence screening — one call, one receipt.
Screening a name through a state portal costs an agent a browser session, HTML parsing,
retries and pagination — on the order of 50k–200k tokens (estimate), with a real
chance of partial extraction and nothing durable to show an auditor afterwards. One
POST /v1/screen is typically ~2k tokens, covers every list currently
loaded, and returns an Ed25519-signed receipt naming the exact snapshot of each list
that was checked.
What you are actually buying
Not “we scraped 50 states.” Machine-checkable evidence of a multi-list check at a point
in time. Coverage is whatever /v1/sources reports — full,
partial or never_loaded, per source, with the age of every snapshot. If a
list could not be checked, the response says complete: false and names it. Lists are never
silently skipped.
Try it
curl https://api.screenverity.com/v1/sources # free — what is actually loaded
curl https://api.screenverity.com/SKILL.md # the agent skill doc
curl https://api.screenverity.com/openapi.json # machine-readable spec
A screen costs $0.25 USDC over x402. Unpaid calls return HTTP 402 with payment requirements — pay and retry with any x402 client.
Endpoints
| Route | Cost | What it gives you |
|---|---|---|
POST /v1/screen | $0.25 | Status, matches with confidence and features, snapshots checked, receipt |
GET /v1/sources | free | Every loaded list, coverage, freshness, record counts |
GET /health | free | Liveness and load summary |
GET /openapi.json | free | OpenAPI 3.1 |
GET /SKILL.md | free | Agent skill document |
GET /v1/receipts/pubkey | free | Ed25519 public key |
POST /v1/receipts/verify | free | Signature and hash check on any receipt |
For agents
An MCP server exposes screen, sources and verify_receipt over
stdio. Without a funded wallet, screen returns an explicit payment_required
error stating that no lists were checked — it never fabricates a clear. A
screening tool that answers “clear” when it failed to look is worse than no tool.
Structured summary for retrieval: /llms.txt.
Limits worth reading before you rely on this
- Not a consumer report. Built for compliance workflows. A
possible_matchmeans adjudicate, not auto-reject. - A common name with no DOB, NPI or licence number is capped at
possible_matchby design. It can never be reported as amatch. - Coverage is partial and explicitly labelled. Read /v1/sources before assuming any jurisdiction is included.