Contractor License Lookup avatar

Contractor License Lookup

Pricing

from $3.40 / 1,000 license rows

Go to Apify Store
Contractor License Lookup

Contractor License Lookup

Look up contractor licenses from state boards, or list licensed contractors by trade and city. Covers California, Texas, Washington, Oregon, and Louisiana. Get license number, status, expiration, classifications, owners, address, and phone, read from each board's own register. No API key.

Pricing

from $3.40 / 1,000 license rows

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Look up a contractor's state license, or list the licensed contractors for a trade in a state, city, or county. This actor reads each state licensing board's own public register for California, Texas, Washington, Oregon, and Louisiana and returns one row per license with the license number, status, expiration date, classifications, owners or qualifying parties, address, and phone. Rows are flat, so they export to CSV or drop into a Clay table.

Features

  • Two modes. List: states and trades in (plumbing, roofing, hvac, electrical, general, and more), optionally a city or county, and you get every matching licensed contractor. Lookup: a license number or business name per line, and you get the license with its status.
  • Five state boards, read at the source. Washington Labor and Industries, the Oregon Construction Contractors Board, and the Texas Department of Licensing and Regulation through their open data portals; the California Contractors State License Board through its Data Portal downloads; and the Louisiana State Licensing Board for Contractors through its public search.
  • Trade words in plain English. Type plumbing or hvac and the actor maps the word to each board's own classification names, such as C-36 in California or PLUMBING CONTRACTOR in Washington.
  • Owners and qualifiers. Washington principals, Oregon responsible managing individuals, Texas license holders, and Louisiana qualifying parties come back in owner_names.
  • Active only by default. Expired, suspended, and inactive licenses are left out unless you turn that off.
  • One summary per search. Each search ends with one free row that says how many licenses the board returned and why a search was skipped.

How it reads the boards

StateBoardSourceLookup by number or nameList by trade
CAContractors State License BoardCSLB Data Portal list downloads (by classification, statewide or by county)Only inside a trade list (the CSLB license check page uses a reCAPTCHA, which this actor does not use)Yes
TXDepartment of Licensing and Regulationdata.texas.gov TDLR All LicensesYesYes, for the trades TDLR licenses (air conditioning, electrical, elevator, appliance, water well, sign)
WADepartment of Labor and Industriesdata.wa.gov contractor license and principal dataYesYes
ORConstruction Contractors Boarddata.oregon.gov CCB Active LicensesYesBy endorsement (general or specialty)
LAState Licensing Board for ContractorsLSLBC public searchYesYes, with city

Requests go through the Apify proxy, and a refused request moves to Apify residential addresses on its own. No account, no API key, and no other developer's actor. Texas has no state general contractor license, and Texas plumbers are licensed by a separate board that this actor does not read.

Input

FieldTypeDefaultWhat it does
modestringlistlist or lookup
statesarrayState codes: CA, TX, WA, OR, LA
tradesarrayList mode. Trade words, for example plumbing, roofing, hvac, electrical, general
citiesarrayList mode. Keep contractors in these cities
countystringList mode. Keep contractors in this county (CA, TX, OR)
business_namestringList mode: a name filter. Lookup mode: one more name to look up
lookupsarrayLookup mode. One per line, for example WA | 04CONCL862CR or LA | Acadian Builders
license_numberstringLookup mode. One more license number, searched in states
active_onlystringtrueKeep only active, unexpired licenses
include_ownersstringtrueWashington: read current principals
max_resultsstring100 list, 10 lookupLicense rows per search, up to 5000
max_charge_usdstringStop before a row would pass this amount
proxy_modestringautoauto or residential. A reliability choice

Every field is text, so a Clay column can fill any of them: numbers as "50", yes or no as "true" or "false". Lists accept one item per line, items split by a semicolon, or a JSON array.

Output

FieldExample
row_typelicense or query_summary
state, board, match_typeCA, California Contractors State License Board, list
license_number, business_name, business_type1068713, HILMEN INC, Corporation
owner_names["Ochoa, Eric James"]
license_type, classificationsContractor License, ["C-36 - Plumbing Contractor"]
status, is_active, issue_date, expiration_dateCLEAR, true, 2020-09-10, 2027-09-30
address, city, county, zip, phone, email121 DEL SURENO, FALLBROOK, San Diego, 92028, (760) 908-5770, null
bond_company, bond_amount, insurance_company, workers_compwhere the board publishes them
source_urlthe board page for the license, or the board search page
results_found, results_returnedquery summary rows only
row_status, error_reason, billable_events_jsonok, null, {"license-row":1}

The run summary (key-value store record RUN_SUMMARY) lists searches, licenses per state, row statuses, requests, and the proxy route used.

Pricing

Pay per event. You pay only these events; the Apify platform and proxy costs of your run are paid by Mamba Labs.

EventFree planBronzeSilverGold
License row (license-row), one license$0.004$0.0038$0.0036$0.0034
Actor start (apify-actor-start), once per run$0.0005$0.0005$0.0005$0.0005

Free rows: the search summary rows, and skipped, blocked, error, and no results rows. On the Apify free plan the actor stops at 1.50 USD of evaluation a month (about 375 license rows); any paid Apify plan removes that cap.

Example: plumbing contractors in Spokane, Washington, capped at 50, return 50 license rows for 0.20 USD plus the 0.0005 USD start.

Usage examples

Apify Console or API

{ "mode": "list", "states": ["CA"], "trades": ["roofing"], "county": "San Diego", "max_results": "200" }
{ "mode": "lookup", "lookups": ["WA | 04CONCL862CR", "OR | 100215", "LA | Acadian Builders"] }

Clay

For verification, send a state and a license number from your table in lookups (for example WA | 04CONCL862CR) and read status, is_active, and expiration_date. For a lead list, run list mode with a trade and a city and import the rows.

MCP

The MCP server @mambalabsdev/mcp-contractor-license-lookup exposes this actor as a tool for Claude and other MCP clients.

Error handling

SituationWhat you get
A board refuses every routeOne free summary row with row_status blocked and the reason
A board cannot answer that kind of search (a California name lookup, a Texas roofing list, an Oregon trade list)One free summary row with row_status skipped and what to send instead
No license matchesOne free summary row with row_status no_results
Max charge reachedThe run stops before the next billable row and says why in the status message

Limitations

  • Five states today: California, Texas, Washington, Oregon, and Louisiana. Florida and Arizona board sites answer automated requests with a browser challenge, so they are not covered.
  • California name and number lookups work only inside a trade list, because the CSLB license check page requires a reCAPTCHA. California list files carry no owner names.
  • Each California trade can match several CSLB classifications; the first 6 are read per search. Louisiana works the same way.
  • California general engineering and general building lists (classifications A, B, and B-2) are read only by county, because their statewide files are too large for one run.
  • Texas open data carries no address or phone on A/C licenses, so filter Texas air conditioning lists by county, not city.
  • Oregon's open data lists active licenses only, and Oregon endorsements say residential or commercial, general or specialty, not the trade.
  • Washington registers most trade businesses under the GENERAL specialty; plumbing, electrical, and elevator contractors hold their own license types, which the trade words match.
  • A lookup value with digits and no spaces is read as a license number. Write a business name such as 3M as 3M Company.
  • Board data is as current as each board's own publication. On 2026-10-21 the Washington, Oregon, and Texas open data sets had been updated within the previous 3 days, the CSLB files were dated 2026-10-20, and the LSLBC search reads live. Verify a license on the board's site before you rely on it for a hiring or legal decision.
  • Louisiana publishes contractor email addresses; this actor returns them as the board shows them. You are responsible for how you use contact data under the laws that apply to you.

More from Mamba Labs

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Tooling DetectorEwkHhmqiuJgRoVEbE
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Contact Details Extractor4mMncKaJykiq94grz
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Social Presence Mapper4k6CCemkgBDz18m2h
Contact Classifier0lGSeYJmniXhGANnO
Cookie Consent AuditTrKyOS0KBoGC35nbr
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness DirectoryLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Monitor1eOwxhBVxzvOXAm4s
Government Contract Award MonitorzhEtllASykOcx9hJ8
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer FindertpkedmloIIWtXx6sg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Change TrackerL8UbEmMJC1XYPSZOb
Job Posting MonitorQCfICD9kOPiOdj5iI
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Meta Ad Library MonitorJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Hire FindercKuc38p4nYHNF3IW8
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Prospect Engineq9rT6v64nUJdPexOQ
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reporting Window FinderuINxR7a1IW8qUTRUX
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
WCAG Accessibility AuditP3jBj3FRghKEhX52z
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel Stats Extractor6hSpD3kd2s2IQ4VSs

Built by Mamba Labs.