For Developers
A clean API for
license data
RESTful. JSON. Well-documented. Designed for integration into your existing workflows and applications.
Endpoints
API at a glance
Core endpoints for searching, verifying, and monitoring licensee data.
/api/v1/licensees Search licensees with filters. Requires state; supports name, status, license type, brokerage, and more.
/api/v1/licensees/search Legacy search path (subset of filters: state, first_name, last_name, business_name, status, city). Prefer GET /api/v1/licensees.
/api/v1/licensees/:state/:license_number Retrieve a specific licensee record by state and license number.
/api/v1/licensees/verify Verify a license by state and license number. Returns verification status and current record.
/api/v1/licensees/batch Submit a batch of license numbers for verification. Returns results for all submitted records.
/api/v1/licensees/:state/:license_number/affiliations Affiliation history for a licensee (supervising broker relationships, effective dates).
/api/v1/licensees/:state/:license_number/supervisor Current supervising broker for a licensee, when available from normalized affiliation data.
/api/v1/licensees/:state/:license_number/affiliates Paginated list of current affiliates under a supervising broker licensee.
/api/v1/license-credentials/:credentialId/hierarchy Walk supervisor chain upward from a license credential UUID.
/api/v1/coverage View current state coverage, access types, refresh frequencies, and record counts.
/api/v1/licensees/changes Query recent changes to licensee records — status updates, expirations, and brokerage changes.
Search
Search licensees within a state
Query by name, state, license type, or status. State is required, and results come back as normalized JSON with full metadata. Paginated responses support high-volume integrations.
Query Parameters
state Two-letter state code — required (e.g., TX, CA, FL) name Full or partial name search first_name Filter by first name last_name Filter by last name business_name Filter by business / entity name status active, inactive, expired, suspended license_type broker, salesperson, etc. brokerage Filter by affiliated brokerage name city Filter by city page Page number for pagination per_page Results per page (max 100) GET /api/v1/licensees?state=TX&name=johnson&status=active
Authorization: Bearer your_api_key
Response:
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"full_name": "Robert Johnson",
"license_number": "0654321",
"license_type": "Broker",
"status": "Active",
"state": "TX",
"expiration_date": "2027-11-30",
"brokerage": "Lone Star Realty Inc.",
"source": "Texas Real Estate Commission",
"last_verified": "2026-03-09T06:00:00Z",
"first_name": "Robert",
"last_name": "Johnson",
"business_name": null,
"city": "Austin"
},
{
"id": "8b2c1a00-1234-5678-9abc-def012345678",
"full_name": "Maria Johnson-Garcia",
"license_number": "0789012",
"license_type": "Salesperson",
"status": "Active",
"state": "TX",
"expiration_date": "2026-08-15",
"brokerage": "Compass Texas LLC",
"source": "Texas Real Estate Commission",
"last_verified": "2026-03-09T06:00:00Z",
"first_name": "Maria",
"last_name": "Johnson-Garcia",
"business_name": null,
"city": "Dallas"
}
],
"meta": {
"total": 2,
"page": 1,
"per_page": 25
}
} Mock Playground
Try the API response format
Interactive preview only. This does not call the live API and does not return real-time data.
Mock only
Preview a sample search
Use this to understand request/response structure before you have an API key. Values shown below are static demo data.
Generated mock request
GET /api/v1/licensees?state=TX&name=alex&status=active
This tool is a UI mock for developer onboarding. For real data, request an API key and call
GET /api/v1/licensees.
Click "Run Mock Request" to generate a mock response. GET /api/v1/licensees/verify?state=TX&license_number=TX123
Authorization: Bearer your_api_key
Response:
{
"verified": true,
"licensee": {
"id": "2d8f3c10-abcd-4ef0-8123-456789abcdef",
"full_name": "Robert Johnson",
"license_number": "TX123",
"license_type": "Sales Agent",
"status": "Active",
"state": "TX",
"expiration_date": "2027-09-30",
"brokerage": "Lone Star Realty Inc.",
"source": "Texas Real Estate Commission",
"last_verified": "2026-03-09T05:30:00Z",
"first_name": "Robert",
"last_name": "Johnson",
"business_name": null,
"city": "Austin"
}
} Verify
Single-license verification
Verify a specific license by state and license number. The response includes a boolean verified flag and the full current record.
For batch workflows, use the POST /api/v1/licensees/batch endpoint to verify multiple licenses in a single request.
Coverage
Programmatic coverage status
Check which states are available, how data is accessed, and when it was last refreshed — all through the API. Build your application logic around actual coverage availability.
GET /api/v1/coverage
Authorization: Bearer your_api_key
Response:
{
"states": [
{
"state": "CA",
"status": "active",
"source": "California Department of Real Estate",
"access_type": "bulk_public_download",
"refresh_frequency": "nightly",
"record_count": 425000,
"last_updated": "2026-03-09T04:00:00Z"
},
{
"state": "NY",
"status": "active",
"source": "New York Department of State",
"access_type": "bulk_public_download",
"refresh_frequency": "nightly",
"record_count": 89000,
"last_updated": "2026-03-09T04:15:00Z"
},
{
"state": "WY",
"status": "active",
"source": "Wyoming Real Estate Commission",
"access_type": "lookup_only",
"refresh_frequency": "weekly",
"record_count": null,
"last_updated": null
}
]
} Authentication
Getting started
Request Access
Sign up and create your first API key from the dashboard (no existing key required). Additional keys can be created via the API.
Authenticate
Include your API key in the Authorization header on every request.
Query Data
Start searching, verifying, and integrating licensee data into your stack.
Machine-readable contract: your deployment exposes /openapi.json (Swagger UI at /docs). Use those as the source of truth when integrating; refresh marketing examples when the API changes.
Ready to integrate?
Request an API key and start building with real licensee data.