The contractor your
other tools call “not found.”
We return the record.
Denied, revoked, and surrendered licenses are the strongest negative signal on a contractor — and the record most lookup tools throw away. We return it. Verified nightly, dashboard and API.
Two product facts that change what license lookup actually means
Most license verification tools key only on the license number and return only active registrations. That throws away the highest- signal regulatory data and silently merges different humans behind the same number. We don't.
We return the regulatory record where competitors return “not found”
Most license lookup tools return “not found” when a contractor's license has been denied, revoked, or surrendered. We return the regulatory record. That's the strongest negative signal you can get on a contractor — and it's the one competitors throw away.
We disambiguate license-number collisions by trade — so you see the right human
NYC DOB issues the same license numbers across license types — the same number 1094 belongs to a Master Plumber AND a Licensed Electrician, two different people. Tools that key only on license number merge them into one result and smear the wrong person across your workflow. We disambiguate by license type and surface both records side-by-side.
License + Discipline + Risk. One Feed.
One feed over fragmented state license data — verification, discipline, risk, and alerts. Here's what each surface gives you.
Verify contractors across 7 state boards
One lookup by license number or business name. Multi-row results when a license number is held across trades — we never collapse distinct licensees into one.
Catch the contractors active-license tables miss
Denied, revoked, and surrendered licensees — the strongest negative signal on a contractor, and the one most lookup tools throw away. Same lookup, flagged separately.
One risk score per contractor
Rolled up from disciplinary frequency, complaint volume, license currency, and specialty volatility — so you can triage a list without reading every record.
Built for insurers
See actions filed against a contractor
Citations, suspensions, and revocations with case numbers, action dates, and links to the source documents the boards publish.
Vet a whole portfolio in one call
Send a list of license numbers or business names, get a normalized status report across all states back. Built for screening subcontractor rosters at scale.
Know when a surety bond lapses
Where a board publishes bond data, we surface effective dates, carrier, amount, and lapsed-bond flags — built for surety underwriters and high-stakes GCs.
Built for insurers
Get alerted the moment status changes
Subscribe to contractors and receive an alert when a license suspends or expires, a new disciplinary action lands, or risk escalates. Wire it straight into your vendor management.
Built for insurers
One License Number, Full Picture.
Pick a sample license number and see what comes back — including the two things standard tools get wrong.
What Subscribers Do With the Data
Real workflows from the four personas we serve.
Vet Every Subcontractor in Your Marketplace
Home service platforms run nightly bulk lookups against the contractors they list. Surface expired licenses, recent suspensions, and risk-tier escalations before a homeowner books a job.
Underwrite Surety Bonds With Better Data
Pull a contractor's full disciplinary history, current bond status, and risk tier in a single call. Price bond premiums against actual track record, not just industry-average claim rates.
Vet Specialty Subs Before You Sign Them
GCs running multi-state jobs use the lookup to verify specialty trade licenses — electricians, master plumbers, roofers, asbestos abatement — across CA, FL, NY, TX in seconds.
Power Background Check Reports
Background-check platforms license the bulk API and roll our license + discipline data into their consumer-facing reports. Negotiated data licensing, redistribution-ready feeds.
Always Up to Date
Nightly crawls feed normalized contractor + disciplinary tables. Risk tier recomputes on the same cycle. Insurer subscribers get webhooks the moment a status changes.
| Dataset | Update Frequency | Source |
|---|---|---|
| License Verification | Nightly | State + municipal licensing boards |
| Discipline-Only Surface | Nightly | Board enforcement portals (denied / revoked / surrendered licensees) |
| Disciplinary Actions | Nightly - Quarterly | Board enforcement portals |
| Risk Tier | Nightly | Computed in-platform |
| Bond Status | Nightly | CA CSLB (only board exposing bond data today) |
| Webhook Alerts | Real time | Triggered on status diff vs. last snapshot |
Plans for Every Contractor Workflow
Start with a 7-day free trial. Annual billing saves 2 months on every plan.
Seven Boards. Four States.
We crawl the authoritative state and municipal portals, plus disciplinary actions where available.
- CaliforniaCSLB
- TexasTDLRTSBPE
- New YorkDOBDCWPDOS
- FloridaDBPR
Frequently Asked Questions
Which states and licensing boards do you cover?
7 boards across 4 states: California (CSLB), Florida (DBPR), NYC Department of Consumer and Worker Protection (DCWP), NYC Department of Buildings (DOB), New York Department of State (DOS), Texas (TDLR), and Texas (TSBPE). NY contractor licensing is largely municipal in NYC — we treat the NYC boards as separate sources rather than rolling them under NY DOS. Additional states are added quarterly based on subscriber demand.
How current is the data?
We crawl every board nightly and record when each source was last refreshed. Status changes — suspensions, revocations, new disciplinary filings — typically surface within 24 hours of being posted to the board. Insurer-tier subscribers receive webhook alerts the moment a status changes.
What is the discipline-only surface?
When a license has been denied, revoked, or surrendered, most lookup tools return 'not found' and discard the regulatory record. We don't. The same license lookup returns those records, clearly flagged as discipline-only, alongside the full disciplinary history. It's the strongest negative signal you can get on a contractor. Live today on CA CSLB, FL DBPR, NYC DOB, TX TDLR and TX TSBPE; NY DOS / NYC DCWP follow as roadmap. Discipline-only records are available on the Platform and Insurer plans, with the full reason text and disciplinary history. (The trade label that tells colliding licensees apart is a separate feature and ships on every plan, including General Contractor, because it's about identity, not discipline.)
Why do I sometimes see two results for one license number?
Some boards — most prominently NYC DOB — issue colliding license numbers across license types. The same number can belong to a Master Plumber AND a Licensed Electrician, two different humans. Standard lookup tools that key only on the license number merge them into one record and surface the wrong person. We disambiguate by trade and return both rows side-by-side with their respective trades labeled. That trade label is on every plan because without it a customer can't tell which row is their licensee.
What is the risk tier and how is it calculated?
Risk tier is a 4-level score (low / moderate / elevated / high) computed nightly per contractor from disciplinary action frequency, complaint count, license currency, and specialty volatility. It is exposed on the Insurer plan and meant as a screening signal, not a substitute for full underwriting review.
Can I vet a list of contractors at once?
Yes. The Platform and Insurer plans include bulk lookup — submit a list of license numbers or business names and get a normalized status report across every covered board in a single call.
Is the API available on every plan?
API access starts on the Platform plan ($699/mo, 2,000 req/mo) and expands on the Insurer plan ($1,499/mo, 20,000 req/mo). The General Contractor plan is dashboard-only — GCs typically run ad-hoc lookups rather than programmatic queries.
Is there a free trial?
Every plan includes a 7-day free trial with full access to that tier's features. No refunds are issued after a paid subscription begins — see the Terms of Service for details.