Intel Terrain
6 boards across CA, TX, FL, NYC — refreshed nightly

Contractor Licenses. Verified Nightly. Including the ones competitors hide.

License verification, disciplinary history, and risk-tier scoring across CA CSLB, TX TDLR, FL DBPR, NY DOS, NYC DOB, and NYC DCWP. We surface denied, revoked, and surrendered licensees that standard license tools throw away — and we disambiguate license-number collisions across trades, so you see the right human. Dashboard and API.

The two differentiators competitors don't have

Two product facts that change what license lookup actually means

Most license verification tools key only on 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.

Discipline-Only Surface

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.

Live today: TX TDLR + NYC DOB

Thousands of regulatory actions across state and municipal boards that were previously discarded for “no active license on file” are now visible to subscribers. CA CSLB / FL DBPR / NY DOS / NYC DCWP follow on the roadmap.

Collision Disambiguation

We disambiguate license-number collisions by trade — so you see the right human

NYC DOB issues colliding 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.

Identity is (license_number, board_id, license_type)

Multi-row response. The discriminator field is on every plan including General Contractor — without it, a customer can't tell which row is “their” licensee.

Both facts ship today on the lookup endpoint and the dashboard. Multi-row response, typed envelope, with result_type and license_type on every result. Bulk consumers get the same shape — drop-in.

License + Discipline + Risk. One Feed.

Contractor licensing data is fragmented across 50 state boards and dozens of municipal portals. We pull it nightly and normalize the corpus so you can verify a license, surface its history, and score its risk in a single query. Including the records that don't map to an active license — denied, revoked, and surrendered — flagged with a discriminator so they never get confused for an active registration.

License Verification

All plans

Look up any contractor by license number or business name across CA CSLB, TX TDLR, FL DBPR, NY DOS, NYC DOB, and NYC DCWP. Status, license type, specialty codes, issue + expiration dates. Multi-row results when a license number is held across trades — we never collapse distinct licensees into one record.

Updated Nightly

Discipline-Only Surface

All plans

Denied, revoked, and surrendered licensees that don't appear in active-license tables — the strongest negative signal you can get on a contractor, and the one most lookup tools throw away. Surfaced with the same lookup endpoint, flagged result_type='discipline_only'.

Updated Nightly

Disciplinary History

Platform+

Every disciplinary action filed against a contractor — citations, suspensions, revocations, with case numbers, action dates, and source documents where boards expose them.

Updated Nightly

Risk-Tier Classification

Insurer

Rolled-up `low / moderate / elevated / high` risk score per contractor, computed from disciplinary frequency, complaint count, license currency, and specialty volatility.

Updated Nightly

Bulk Lookup API

Platform+

POST a list of license numbers or business names; get a normalized status report across all 4 states + NYC boards in a single call. Scales to vet a portfolio of subcontractors at once.

Updated On demand

Bond Status Tracking

Insurer

Where a board exposes surety bond posting status, we surface it: bond effective date, bond carrier, bond amount, and lapsed-bond flags. Useful for surety underwriters and high-stakes GCs.

Updated Nightly

Webhook Alerts

Insurer

Subscribe a contractor and get a webhook the moment status changes — license suspended, expired, new disciplinary action, or risk tier escalates. Wire it into your vendor management system.

Updated Real time

Six Boards. Three States. NYC.

We crawl the authoritative state portals plus NYC's two municipal contractor agencies. New York's contractor licensing is largely municipal — we treat NYC DOB and NYC DCWP as separate sources rather than rolling them under NY DOS.

California CSLB

CA

Statewide contractor license board

ca-cslb

Texas TDLR

TX

Department of Licensing & Regulation

tx-tdlr

Florida DBPR

FL

Business & Professional Regulation

fl-dbpr

NY Department of State

NY

Statewide catch-all (sparse — see NYC)

ny-dos

NYC Department of Buildings

NY

Specialty trades + general construction

nyc-dob

NYC DCWP

NY

Home Improvement Contractors

nyc-dcwp

One License Number, Full Picture.

Sample below uses an illustrative response while the production crawl ramps. Live data populates as soon as the nightly board passes complete.

California (CSLB)· lookup by license number

License Number

1234567

Business Name

ACME Construction Inc.

License Type

B — General Building Contractor

Status

Active

Expiration

2027-08-15

Risk Tier

low

0 disciplinary actions on file. Last verified against the source board overnight.

Illustrative only. Live numbers populate as soon as the nightly scrapers complete a baseline pass against each board.

What Subscribers Do With the Data

Real workflows from the four personas we serve.

Home Service Platforms

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.

Surety / Insurance Underwriters

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.

General Contractors

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, TX, FL, NYC in seconds.

Background Check / Enterprise

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.

DatasetUpdate Frequency
License VerificationNightly
Discipline-Only SurfaceNightly
Disciplinary ActionsNightly
Risk TierNightly
Bond StatusNightly
Webhook AlertsReal time

Plans for Every Contractor Workflow

Start with a 7-day free trial. Annual billing saves 2 months on every plan.

General Contractor

For GCs vetting specialty subs across CA, TX, FL, NY.

$199/mo
  • License lookup CA / TX / FL / NY / NYC
  • License status, specialty, expiration
  • Dashboard only
  • 200 row CSV export/mo
  • Email support
Most Popular

Platform

For home-service platforms vetting marketplace contractors.

$699/mo
  • Everything in General Contractor
  • Disciplinary actions and violations
  • Bulk lookup (POST a list, get a report)
  • API access (2,000 req/mo)
  • 10,000 row export/mo

Insurer

For surety / insurance underwriters pricing contractor risk.

$1,499/mo
  • Everything in Platform
  • Bond status tracking
  • Complaint history + risk-tier scores
  • API access (20,000 req/mo)
  • Unlimited export
  • Webhook alerts on changes
Design Partner Program

Testimonials coming soon

We’re onboarding a small group of home-service platforms, surety underwriters, and GCs as design partners during the first quarter of public availability. If you want preferred onboarding and a direct line to roadmap decisions, get in touch.

Frequently Asked Questions

Which states and licensing boards do you cover?

Phase 5 ships with 6 boards across 4 states: California (CSLB), Texas (TDLR), Florida (DBPR), New York Department of State, NYC Department of Buildings (DOB), and NYC Department of Consumer and Worker Protection (DCWP). 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 write a `last_scraped_at` timestamp against the source. 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. Our license lookup returns those records with a `result_type='discipline_only'` flag and the full disciplinary history. It's the strongest negative signal you can get on a contractor. Live today on TX TDLR and NYC DOB; CA CSLB / FL DBPR / NY DOS / NYC DCWP follow as roadmap. Visibility (and the discriminator field) ships on every plan including General Contractor; full reason text and history is available on Platform+.

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 license_number merge them into one record and surface the wrong person. We disambiguate by license_type and return both rows side-by-side with their respective trades labeled. The discriminator 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 a bulk lookup endpoint — POST 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 day 8 of a paid subscription — see the Terms of Service for details.

Verify a contractor in seconds, not days

7-day free trial on every plan. No credit card required.