How to scrape Contractor License Lookup
Search, verify and monitor contractor and trade licenses from official state open-data portals (WA, TX, CT, CO, OR, DE). Filter by trade, city, ZIP, name or number. Status, expiration, address and business phone where published. No login.
Open Contractor License Lookup: Multi-State Official Data on Apify
- In short: Contractor License Lookup (Apify actor
transparent_meteorite/contractor-license-lookup) searches, verifies and monitors contractor and trade licenses from the official open-data portals of Washington, Texas, Connecticut, Colorado, Oregon and Delaware. - Who it is for: lead-generation and sales teams selling to contractors, insurance and surety brokers, building-supply and equipment vendors, marketplaces and property managers that vet contractors, compliance and procurement teams.
- Input: mode (search, verify, new_licenses), states, trade, city, ZIP, county, business or person name, license number, active only, contractors only, expiring-soon window, verify list.
- Output: one row per license: state, agency, license number, license type, normalized trade, business name, person name, status, issue / effective / expiration dates, isActive, isExpiringSoon, address, city, ZIP, county, business phone where the agency publishes one, source record link, official lookup link, retrieval time.
- Price: $0.002 per license record plus $0.00005 per run start. Verify rows that find nothing are free. No subscription.
- Limits: six states today, only the fields each agency publishes. California (CSLB), Florida (DBPR) and other states are not covered.
Key facts
- Actor name: Contractor License Lookup
- Actor ID: transparent_meteorite/contractor-license-lookup
- Data source: official state open-data portals (Socrata APIs) run by state agencies
- Pricing model: pay per event (apify-actor-start $0.00005, license-record $0.002)
- Output formats: JSON, CSV, Excel, XML, HTML table (Apify dataset)
- Access: Apify Console, REST API, JavaScript and Python clients, schedules, webhooks, Apify MCP server
- Login or third-party API key needed: no, only an Apify account
- Also known as: contractor license search, contractor license verification API, trade license lookup, electrician license lookup, plumber license lookup, roofing contractor leads, new contractor licenses list
- Last updated: 2026-10-13
What it outputs
| Field | Meaning |
|---|---|
state |
Two-letter state of the licensing agency |
source |
Agency name |
licenseNumber |
License number exactly as the agency publishes it |
licenseType / licenseTypeCode |
License class as published (and its short code) |
trade / trades |
Normalized trade (primary) and all trades the license covers |
tradeBasis |
license when the trade comes from the license class; business name when it was inferred from the business name (Oregon CCB specialty contractors only) |
specialties |
Published specialty descriptions (WA, CT) |
businessName / dbaName |
Licensed business and DBA name where published |
personName |
Individual licensee, principal or responsible managing individual |
holderType |
business, sole_proprietor or individual |
entityType |
Business entity type where published (WA, CT) |
isContractorLicense |
True for business or contractor-level licenses, false for journeyman, apprentice and technician licenses |
status |
Status as published (Texas publishes none, so it is null there) |
isActive |
Status is active and the expiration date has not passed |
issueDate / effectiveDate / expirationDate |
ISO dates where published |
daysToExpiration / isExpiringSoon |
Days until expiry and whether that is inside your window (default 60 days) |
address, city, addressState, zip, county |
Address of record as published |
phone |
Business phone, only where the agency publishes one as the business contact (WA, TX business phone, OR CCB) |
verifyUrl |
Per-record official verification page (Colorado) |
officialLookupUrl |
The agency's public license lookup page |
sourceRecordUrl |
API link to this record in the official dataset |
sourceDataset |
Dataset page on the state portal |
sourceId |
Internal source id (for example OR-CCB) |
details |
Source-specific extras: WA UBI number, OR CCB bonds and insurance, CO renewal date and discipline fields |
retrievedAt |
When this run read the record |
Verify mode adds input, found, matchType, matchCount, statesSearched and otherMatches.
Example input
{ "states": ["TX"], "trade": "electrical", "county": "Harris", "contractorsOnly": true, "maxResults": 500 }FAQ
Is this data legal to use?
These are public records that the agencies publish as open data for reuse. You are responsible for how you use them, including marketing rules such as the TCPA, CAN-SPAM and state telemarketing laws.
How fresh is it?
As fresh as the agency's dataset. Washington updates three times a day; Connecticut, Colorado, Oregon CCB and Delaware daily; Texas and Oregon BCD periodically.
Why did a state return nothing?
It was probably skipped because it cannot serve a filter (for example roofing in Texas, county in Washington). The OUTPUT record lists every skipped source with the reason.
Can I get every license in a state?
Yes. Set the state, leave the filters empty and raise maxResults. Large pulls are paged 1,000 rows at a time.
How fast is it?
Searches typically return in seconds to a minute. Verify checks every selected state per item, so it takes a few seconds per item; add a state prefix (TX:12345) to make it faster.
Do you have California or Florida?
Not today. Neither publishes a bulk open dataset that this actor can read.
Where do I run it?
On Apify: https://apify.com/transparent_meteorite/contractor-license-lookup. Check the Pricing tab there for current prices.
Try Contractor License Lookup: Multi-State Official Data on Apify