REST + MCP · Stage 0 · free during the probe

Verify any US contractor license, from the official record.

One clean, normalized API for license status, expiry, classification, and bond/insurance — aggregated verbatim from state public-records sources. Built for agents and apps, not for scraping forms.

Why this exists

Every state publishes its contractor roster differently — different columns, different status words, different portals, and in most cases no API at all. Verifying a license today means hand-checking a state website per contractor. This API normalizes those sources into one schema with a single call, so a marketplace, lender, insurer, or AI agent can confirm a license in milliseconds.

Normalized

One schema across states: status, type, expiry, bond and insurance, city/zip — the raw source field is preserved alongside.

Cite-stamped

Every record carries its source_url and as_of date. Nothing is invented or editorialized.

Agent-native

A full Model Context Protocol surface at /v1/mcp — an AI agent can verify a license with no glue code.

Browse coverage

Overview pages built from the real rosters — license counts, status, classifications and top cities, each with a verification box.

Try it live

Searches the live dataset by business or principal name. Name search is scoped to records whose name begins with the query's first character. Results come straight from the API below — nothing here is mocked.

Coverage & freshness

Pulled live from /v1/states when this page loads. Partial coverage is flagged honestly, never hidden.

Loading live coverage…

Using the API

REST

No key required during the probe. CORS-enabled. JSON responses.

# Verify one license (the core call)
curl "https://license-verify.pages.dev/v1/lookup?state=OR&license=101573"

# Search by name
curl "https://license-verify.pages.dev/v1/search?q=construction&state=OR&status=active"

# Paged by-state list
curl "https://license-verify.pages.dev/v1/licenses?state=WA&page=0"

# Coverage & freshness
curl "https://license-verify.pages.dev/v1/states"

Full machine-readable docs & parameters →

MCP (for AI agents)

The same data over the Model Context Protocol at /v1/mcp (JSON-RPC 2.0 over Streamable HTTP). GET returns a capability summary; POST the usual initialize / tools/list / tools/call messages. Tools: lookup_license, search_licenses, list_licenses, get_coverage.

# List the tools an agent can call
curl -s https://license-verify.pages.dev/v1/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Pricing

Transparent and usage-based by design. We are in Stage 0: the API is free during the probe and no key is required while we validate real demand.

Probe — free

Available now. No key, no signup. Fair-use rate limits. Full REST + MCP access to all covered states.

Pay-per-use — planned

Metered per verification with a free monthly allowance, when demand proves out. No surprise tiers; you pay for the calls you make.

No payment is collected today. Pricing is published here as intent so there are no surprises later.

Integrity

Every record is reported verbatim from an official public-records source with a source_url and an as_of date. Status and dates are never invented, altered, reordered for pay, or editorialized. Partial state coverage is flagged, never hidden.

A non-match returns an honest found: false — never a fabricated record. Answers are not for sale.