License & Credential Verification API

General Contractor license verification API

Developer needs to confirm a general contractor holds a valid, active license before onboarding them. One REST endpoint across every U.S. state board. Confirm a contractor, nurse, or real-estate agent is licensed, active, and in good standing, without scraping portals or wiring up each state by hand.

See the API

$9 fully refundable · locks founder pricing · no charge until launch beyond the reservation

Pre-launch: the API is in private testing. Reserve to lock founder pricing and help shape coverage.

GET /v1/licenses/verify?profession=contractor&state=CA&license_number=...

# sample
curl https://api.credentry.dev/v1/licenses/verify \
  -H "Authorization: Bearer $CREDENTRY_KEY" \
  -d state=CA \
  -d profession=contractor \
  -d license_number=1043587

One schema, every board

50 states, hundreds of professions, normalized into one response. Status, expiry, disciplinary flags, and the raw source record.

Always current

Licenses expire and get revoked. We re-check against the source board so a stale cache never clears someone who shouldn't pass.

Built for the hiring flow

Sub-second verify, webhooks on status change, and a bulk endpoint for re-screening your whole roster on a schedule.

The API

One request in, one JSON response out.

Authenticate with a bearer token and send one request. Everything is versioned under /v1, so a breaking change always ships behind a new version, never under you.

Request
curl https://api.credentry.dev/v1/licenses/verify \
  -H "Authorization: Bearer $CREDENTRY_KEY" \
  -d state=CA \
  -d profession=contractor \
  -d license_number=1043587
200 OK
{
  "license_number": "1043587",
  "state": "CA",
  "profession": "contractor",
  "status": "active",
  "name": "BAY AREA BUILDERS INC",
  "classification": "General Building (Class B)",
  "issued": "2015-03-11",
  "expires": "2026-03-31",
  "disciplinary_actions": [],
  "source": "CSLB",
  "checked_at": "2026-11-06T06:44:12Z"
}
Official SDKs
cURLNode.jsPythonGo · plannedRuby · plannedPHP · plannedJava · planned.NET · plannedRust · plannedElixir · plannedSwift · planned
Request your language
Error (same shape every time)
{
  "error": {
    "type": "not_found",
    "message": "No license matches CA / contractor / 9999999.",
    "status": 404
  }
}
Endpoints
GET
/v1/licenses/verify
Verify a single license against the source board
POST
/v1/licenses/bulk-verify
Verify up to 1,000 licenses in one call
GET
/v1/licenses/{id}
Retrieve a prior verification with its timestamp
POST
/v1/webhooks
Subscribe to status-change and expiry events
Authentication

Authorization: Bearer YOUR_API_KEY

Keys are scoped per environment and rotate from the dashboard.

Rate limits

100 requests/second on Growth, higher on Scale. Standard 429 with Retry-After.

Who it's for

Teams who would rather call an API than build and maintain this in-house. The biggest platforms may have rolled their own. Everyone else is stuck choosing between brittle scrapers, stale exports, and manual checks.

Planned pricing

Starter

$29/mo

1,000 verifications, then $0.10 each

Growth

$99/mo

5,000 verifications + status webhooks

Scale

$349/mo

25,000 verifications, active monitoring, SLA

A free tier covers your first 100 calls a month, no card. Reserve now for $9 to lock these rates for 12 months. Refundable anytime.

Questions

Where does the data come from?

Public state licensing-board records. We normalize each board's format into one consistent schema and timestamp every lookup.

How fresh is it?

Verifications hit the source board so you get live status, not a stale export. Cached reads are clearly dated.

Which professions are covered?

Contractors and the skilled trades first (electrician, plumber, HVAC, roofing), then healthcare, real estate, and cosmetology. Tell us which you need.

What does the $9 reservation get me?

It locks your spot in the first cohort, founder pricing for 12 months, and priority on the professions and states you need. Fully refundable, anytime, no questions.

Micah Manzano

Who's building this

Micah Manzano, founder of Manzano Labs

I build the boring-but-critical plumbing so your team does not have to. Before this I built and shipped Nooma, an AI reporting platform used by marketing agencies, so I know what it takes to ship and keep real software running. Credentry exists because I kept watching teams rebuild the same data plumbing from scratch.

I work hands-on with developers and care about one thing: removing the friction between you and the data you need. Email me directly at hello@manzanolabs.com. I read every one.

Shape the roadmap

Building this with the developers who'll use it.

What would make Credentry an instant yes for you? Which states, lists, fields, or endpoints do you need first? Tell me and I'll build toward it. Every reply shapes what ships.

Tell us what you need

Reserve your key

$9, fully refundable. It tells us you're real and locks your founder rate. We build toward the first cohort's exact needs.

Related

Contractor license verification APIElectrician license verification APIPlumber license verification APIHVAC Contractor license verification APIRoofing Contractor license verification APINurse (RN/LPN) license verification APIReal Estate Agent license verification APICosmetologist license verification API
General Contractor License Verification API | Credentry