Scrapers.lat logo scrapers.lat
Public records

USA Contractor License Scraper: Names, Phones & Addresses

Scrape US state contractor licenses: business name, principal contact, license number and type, status, address, phone, dates and liability insurance. Filter by keyword, city, type or status. Export to JSON, CSV or Excel.

33 fields per record JSON · CSV · Excel · API Pay per use
usa-contractor-licenses-scraper.json 200 OK
{
  "businessName": "04 CONSTRUCTION LLC",
  "primaryPrincipalName": "Ochoa, Eric James",
  "contractorLicenseNumber": "04CONCL862CR",
  "contractorLicenseTypeCode": "CC",
  "contractorLicenseType": "CONSTRUCTION CONTRACTOR",
  "specialtyCode1": "01",
  "specialty1": "GENERAL",
  "statusCode": "A",
  "status": "ACTIVE"
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
Business NamePrimary Principal NameContractor License NumberContractor License Type CodeContractor License TypeSpecialty Code1Specialty1Status CodeStatusAddress StreetAddress Street2CityStateZip
Sample output

A real example record, exactly the shape you receive.

Business NamePrimary Principal NameContractor License NumberContractor License Type Code
04 CONSTRUCTION LLCOchoa, Eric James04CONCL862CRCC
1002 COATINGS & CONST LLCBYRAN, JUSTIN DAVID1002CCC811LRCC
100PLUS REMODELING LLCHUI, WESLEY JM100PLRL754Q5CC
100 PROOF DRYWALL LLCLINDAL, JAMES WALLACE100PRPD823ORCC
101 GENERAL CONTRACTING LLCBARNETT, KIMBERLY MARIE101GEGC810PHCC
GET /usa-contractor-licenses-scraper
{
  "businessName": "04 CONSTRUCTION LLC",
  "primaryPrincipalName": "Ochoa, Eric James",
  "contractorLicenseNumber": "04CONCL862CR",
  "contractorLicenseTypeCode": "CC",
  "contractorLicenseType": "CONSTRUCTION CONTRACTOR",
  "specialtyCode1": "01",
  "specialty1": "GENERAL",
  "statusCode": "A",
  "status": "ACTIVE"
}

Frequently asked questions

What counts as a lead?

Every record has a business name plus a street address, and most carry a phone number and a named principal, so each row is a usable sales lead.

Can I search several businesses at once?

Yes. Add multiple keywords and one run searches them all, tagging each record with the keyword that matched.

Can I get only active licenses?

Yes. Set status to Active (or Expired, Suspended and so on) to keep only matching licenses.

Is insurance information included?

Where a liability insurance or bond policy is on file, the record includes the insurer, policy number, coverage amount and dates.

How fresh is the data?

Records are read live at run time, so each row reflects the register at the moment of the run (see observedAt).

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.