API & MCP
Verify professional and occupational licenses across every supported U.S. state — by license number, person name, or business — over a simple REST API or the Model Context Protocol (MCP).
Base URL & authentication
https://uslicensecheck.com/api/v1- • Public lookups (the website path) use
POST /lookup/with no key — rate limited per IP. - • Programmatic access uses
POST /lookup/verifyand requires an API key in theX-API-Keyheader.
POST /lookup/verify
One endpoint for number, name, and business searches. The key field is source_state:
- • a 2-letter code (
OH,CT,CO,DE,TX,IL) scopes the search to that state, - •
"national"searches every supported state and returns a disambiguation list, - • omit it and the search defaults to Ohio.
Search a number nationwide:
curl -X POST https://uslicensecheck.com/api/v1/lookup/verify \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"license_number": "RS-0037427", "source_state": "national"}'Search by name within one state:
curl -X POST https://uslicensecheck.com/api/v1/lookup/verify \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"last_name": "Smith", "first_name": "John", "source_state": "IL"}'Search a business:
curl -X POST https://uslicensecheck.com/api/v1/lookup/verify \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"search_type": "business", "business_name": "CVS", "source_state": "OH"}'| Field | Type | Notes |
|---|---|---|
| source_state | string | State code, "national", or omit for Ohio |
| license_number | string | Exact number lookup |
| last_name / first_name | string | Name search (last name required) |
| business_name | string | With search_type: "business" |
| board | string | Optional profession/board filter |
| search_type | string | "individual" (default) or "business" |
GET /lookup/states
Supported states with live record counts.
curl https://uslicensecheck.com/api/v1/lookup/statesGET /lookup/state-boards?state=IL
The boards / professions available for a given state.
Response shape
A single match returns the full record (note source_state):
{
"found": true,
"full_name": "SHAHAN , BRIAN",
"license_number": "RS-0037427",
"board": "Real Estate",
"license_type": "Salesperson",
"status": "Active",
"expiry_date": "2028-04-30",
"days_until_expiry": 624,
"city": "WILMINGTON", "state": "DE",
"source_state": "DE",
"extra_data": { "ZIP": "19808", "Issue Date": "2021-09-14" }
}A national search that matches several states returns a list to disambiguate:
{
"found": true,
"multiple": [
{ "full_name": "...", "license_number": "13734",
"board": "PE", "status": "Active",
"city": "Colorado Springs", "state": "CO", "source_state": "CO" },
{ "full_name": "...", "license_number": "13734",
"board": "CERTIFIED PUBLIC ACCOUNTANT", "status": "INACTIVE",
"city": "BOSTON", "state": "MA", "source_state": "CT" }
]
}MCP server
Connect an AI assistant (Claude and other MCP clients) directly to national license data. Streamable HTTP, no authentication required.
https://uslicensecheck.com/mcpPaste the URL without quotes when adding it as a connector — a stray quote makes the client request /mcp%22 and fail.
Claude Desktop config:
{
"mcpServers": {
"uslicensecheck": {
"url": "https://uslicensecheck.com/mcp"
}
}
}Tools
- •
verify_license— by number; optionalstate(default OH,"national"for all). - •
search_licenses_by_name— by person name; optionalboardandstate. - •
verify_business_license— by business name/number; optionalstate. - •
list_states— supported states + live record counts. - •
list_ohio_boards— Ohio boards and their license types.
Rate limits
- • REST API: requests are rate limited per IP.
- • MCP: requests are rate limited per IP.
Data is sourced from official state licensing agencies and refreshed on a daily schedule. Always confirm with the issuing board for legal or hiring decisions.