Make integration
Verify contractor licenses in any Make scenario
Add a licensing check to any scenario: onboarding, lead routing, compliance. One HTTP module returns license status, trade, and expiration from state boards across 28 states. You only pay for the bundles we match.
License verification in any scenario
Onboarding a subcontractor, routing an inbound lead, or running a compliance gate? Add one module and you know whether the contractor is licensed and active before the scenario continues.
The HTTP module calls our verify endpoint per bundle and hands back the license status, number, trade, expiration, and any contact on file. Route on match_confidence with a filter to auto-approve, flag for review, or reject.
1. Get an API key
Emailed in under a minute. The same key works on the REST API and the MCP server. No card, no call.
2. Add an HTTP module
Add an HTTP › Make a request module pointed at the verify endpoint, and map fields from the previous module into the body.
Method & URL
POST https://contractorroster.com/api/v1/verify
Headers
X-API-Key: cr_live_YOUR_KEY Content-Type: application/json
Body type Raw, content type JSON
{
"name": "{{company_name}}",
"state": "{{state}}",
"city": "{{city}}"
}Pass name for a fuzzy match, or license_no for an exact one. Map company_name, state, and city from the previous module.
Two settings to get right
- Set Body type to Raw and content type to
JSON (application/json). - Turn Parse response on, or you cannot map the
recordfields downstream.
3. What comes back
Each call returns the matched license plus a confidence score. Use the fields you need from the response: record.license_no, record.status, match_confidence, and the rest.
{
"matched": true,
"match_confidence": 1,
"match_method": "exact",
"record": {
"license_no": "1000002",
"business_name": "RANDALL MARK DOCKERY",
"status": "CLEAR",
"trade": "C57",
"issue_date": "2015-01-10",
"expiration_date": "2027-01-31",
"city": "LODI",
"zip": "95242",
"phone": "(925) 383-0487",
"email": null,
"website": null
}
}No confident match returns { "matched": false } with any near candidates, and never charges you. Gate your flow on match_confidence to set your own bar.
Coverage & pricing
10¢ per match, from a prepaid balance. A miss costs nothing, so you only pay for hits. Top up from $50 via Stripe.
Coverage spans 28 stateswith 17 trades, sourced directly from each state’s licensing board. A contractor in a state we don’t cover yet returns matched: false. New states are added regularly.
Prefer to pull whole lists instead of verifying one at a time? The same key works on the MCP server and the HTTP API.