US Contractor Leads Scraper (Phone & Address, All 50 States) avatar

US Contractor Leads Scraper (Phone & Address, All 50 States)

Pricing

from $0.004 / contractor lead

Go to Apify Store
US Contractor Leads Scraper (Phone & Address, All 50 States)

US Contractor Leads Scraper (Phone & Address, All 50 States)

US contractor businesses in every state by trade and city: general contractors, roofers, electricians, HVAC, plumbers and more, with phone, website, street address and e-mail where published. Export a state or a trade, or look up a firm.

Pricing

from $0.004 / contractor lead

Rating

0.0

(0)

Developer

ScrapeBench

ScrapeBench

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 hours ago

Last modified

Categories

Features

Limited permissions

Share

Pain points

  • Most states publish no statewide contractor roster with phone numbers, and the ones that do each use a different format.
  • Maps scrapers search one town and one keyword at a time, so a statewide trade list takes thousands of searches.
  • A licence roll lists who holds a licence, not the many trade businesses that work under a city registration or none at all.

What we solve

  • Contractor businesses in all 50 states and DC, in 15 trades from general contractors and roofers to well drillers, in one stored copy that a run reads in seconds.
  • Phone on 92–96% of rows, website on 73–82%, street address on nearly all and e-mail on 27–41%, measured in 16 states on 2026-11-10.
  • Filter by state, trade and city, or look up firms by name; a row without a phone, website or street can have it added by business name (on by default, its own small charge).

Summary

Contractor businesses across the United States: general contractors and builders, roofing and gutters, electricians, HVAC, plumbing, concrete and masonry, painting, carpentry and flooring, excavation and paving, landscaping and fencing, fire protection, garage doors, damage restoration, handymen and well drillers, in every state and DC. A row is one business: its name, trade, phone, website, e-mail where published, street, city, state and ZIP. Businesses marked closed are left out. Pick states (by name or two-letter code), trades and cities; a run reads a stored copy, so a whole state comes back in one run. With 'Include contact details' on (the default), a row missing a phone, website or street address is looked up by its name and town and gets what is found; the match is strict, so a firm that cannot be confirmed stays as it is. These are businesses that list themselves as contractors, not a licence roll.

Who it's for

  • Building-material, roofing and HVAC suppliers selling to contractors in several states
  • Software, insurance and financing vendors building contractor lead lists
  • General contractors finding subcontractors by trade and town
  • Agencies and marketers running local campaigns for trade businesses

How to use

This actor does two jobs. Run it, then collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API).

Get a list (export): no names, just filters; returns the whole matching list.

{
"states": [
"TX"
],
"categories": [
"Roofing and gutters"
],
"cities": [
"Austin"
],
"includeContacts": true,
"maxResults": 500
}

Check specific firms (lookup): put company names or licence numbers in mode, queries, states; Inputs below says how each is matched.

{
"mode": "lookup",
"queries": [
"Scholten Construction"
],
"states": [
"SD"
],
"maxResults": 20
}

See Inputs below for every available field.

What you get

One row per record:

FieldDescription
nameBusiness name as listed
categoryTrade (General contractors, Roofing and gutters, Electricians, HVAC, Plumbing, ...)
phonePhone as listed; phone_e164 holds it as +1XXXXXXXXXX
websiteThe business's website where available
emailE-mail where the business published one
streetStreet address
cityCity; region (the state's code) and postal_code beside it
listing_idA stable id for the business, the same in every run
source_urlA map search for the business by name and address

Sample:

{
"name": "Scholten Construction Company",
"listing_id": "2f8985d56d1db01a",
"category": "Roofing and gutters",
"categories": [
"Roofing and gutters"
],
"phone": "6053510861",
"phone_e164": "+16053510861",
"website": "https://scholtenconstructionllc.com/",
"email": null,
"street": "27077 S Sundowner Ave",
"city": "Sioux Falls",
"region": "SD",
"postal_code": "57106",
"country": "US",
"source_url": "https://www.google.com/maps/search/?api=1&query=Scholten%20Construction%20Company%2C%2027077%20S%20Sundowner%20Ave%2C%20Sioux%20Falls%2C%20SD%2057106"
}

Inputs

FieldRequiredTypeDefaultDescription
modenostring"auto"export: no names, just filters; returns the whole matching list. lookup: put business names in 'queries'. auto picks the mode for you.
querynostring—A business name (or listing number) to look up in the stored copy of the directory. Kept alongside 'queries' for saved tasks.
queriesnoarray[]A business name (or listing number) to look up in the stored copy of the directory. Several values in one run; combined with 'query'.
statenostring—Only listings in this state. Kept alongside 'states' for saved tasks.
statesnoarray[]Only listings in this state. Several values in one run; combined with 'state'.
citynostring—Only listings in this city. Kept alongside 'cities' for saved tasks.
citiesnoarray[]Only listings in this city. Several values in one run; combined with 'city'.
categoriesnoarray[]Only rows from this trade (one or more). Available: Carpentry and flooring, Concrete and masonry, Damage restoration, Electricians, Excavation and paving, Fire protection, Garage doors, General contractors, HVAC, Handyman, Landscaping and fencing, Painting, Plumbing, Roofing and gutters, Well drilling.
includeContactsnobooleantrueAdd each business's phone, website and street address where available, looked up by business name. Charged as a separate 'Contact details found' event per row that gets one; a row without a contact costs only the row price. Only fields the source left empty are filled. Turn off for the list alone.
maxResultsnointeger500Per query in lookup mode; per run in export mode.
proxyConfigurationnoobject{"useApifyProxy": false}Used only for live lookups; exports read the stored snapshot.

Pricing (Pay Per Event)

You pay per result (dataset-item) — no charge for empty runs. Example: 500 contractor leads at $0.004/result ≈ $2.00.

With 'Include contact details' on (the default), a row without a phone, website or street address that gets one is also charged a 'Contact details found' event ($0.005); every other row costs only the row. Notices (unknown trade, no match) are free. Apify platform usage is billed separately per your plan.

Use cases

  • Sales lists: every roofing contractor in a state or a metro, with phone and website.
  • Territory planning: contractors by state, town and trade for a rep's route.
  • Market sizing: count HVAC or plumbing businesses per state before a launch.
  • Firm look-ups: find a contractor's phone, website and address by its name.

Why this actor

  • Every state and DC in one actor: a whole state's trade list in one run instead of town-by-town searches.
  • Phone on 92–96% of rows and website on 73–82% (16 states, 2026-11-10); a missing one can be added by name.
  • A strict name match for added contacts: a firm that cannot be confirmed stays without one rather than getting another firm's.
  • Pay per row; the contact charge applies only to rows that get one, and notices are free.

Limitations & updates

Covers publicly listed businesses in 15 contractor trades in the 50 states and DC (no territories); a firm with no public business listing is not in it, and a business in two trades appears under its main one. Not a licence roll. Data comes from a stored copy refreshed monthly (its date is in the run log); a business that closed since may still appear. At most 100,000 rows per run.

FAQ

Where does the data come from?

From publicly available business listings: what contractors publish about themselves (name, trade, phone, website, address). Businesses marked closed are left out. Runs read a stored copy that we refresh every month (the run log gives its date). With 'Include contact details' on, a missing phone, website or street address is looked up by the business's name and town.

Is this a list of licensed contractors?

No. These are businesses that list themselves in a contractor trade, licensed or not. To check a licence, use the state's licence board; our Contractor License Lookup covers the states that publish one.

How do I pick states?

Put them in States, by name or two-letter code ("Texas" or "TX"); leave it empty for every state. Add trades and cities to narrow it.

How many rows can one run return?

Up to 100,000 (maxResults). A large state's whole list can be bigger: run it trade by trade or city by city.

Which trades are included?

General contractors (builders, remodelers, construction services), Roofing and gutters, Electricians, HVAC, Plumbing, Concrete and masonry, Painting, Carpentry and flooring (incl. countertops and windows), Excavation and paving, Landscaping and fencing, Fire protection, Garage doors, Damage restoration, Handyman and Well drilling.

How do I look up a firm?

Put business names in queries and set mode to lookup; add a state to narrow it. A name matches when it is contained in the business name, ignoring case and punctuation.

How am I charged?

One 'Contractor lead' event per row returned, plus one 'Contact details found' event per row without a phone, website or street address that gets one when 'Include contact details' is on. Notices are free.

Guides & use cases

Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:

More actors, coverage and nightly verification results: scrapebench.dev

Works with AI assistants (MCP)

Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.

Then just ask:

"List roofing contractors in Austin, Texas, with their phone numbers and websites."

That is States 'TX', Trade 'Roofing and gutters', City 'Austin'. Keep maxResults small on a first call. Runs started this way bill exactly like any other run.

Data & lawful use

This actor collects publicly available information that each listed business publishes for public lookup — licence records, business listings and the contact details professionals list there. Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any names, phone numbers and emails in your results as personal data.

When you run this actor, you decide what is collected and what it is used for, so you are the controller of that data and we act only as your processor (Apify Standard Actor Contract). You need a lawful basis for your use, must honour opt-out and deletion requests, and must follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar). Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or for anything the source's own terms forbid.

Your results are stored in your own Apify account. We don't keep a copy of your results and don't sell or share them.

Disclaimer

This is an independent tool. It is not affiliated with, endorsed by or sponsored by each listed business. Names and marks are used only to describe the data source. Records are provided as published by the source and may be out of date or incomplete. For anything consequential (hiring, a permit, a legal decision), confirm the record with the issuing agency. You are responsible for making sure your use complies with applicable law and the source's terms.

Need help?

Open an issue on this actor's Issues tab and we'll respond there. Bug reports, missing fields and feature requests are all welcome. Guides and examples: scrapebench.dev.

If you are a person named in this data and want your record removed from our copy, email apify-help@scrapebench.dev; the source agency remains the official record.

Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: Apify Console → Settings → Security → Share run data with developers. It lets us see exactly what went wrong and keep improving the actor.

If this actor saved you time, a short review on its Store page helps other buyers find it.