BuildZoom Scraper
Pricing
from $4.00 / 1,000 buildzoom contractor listings
BuildZoom Scraper
Scrape contractor data from BuildZoom. Search by city and trade, filter by construction type and project value. Extract BZ scores, licenses, permits, reviews, insurance, and contact info for 4M+ US contractors.
Pricing
from $4.00 / 1,000 buildzoom contractor listings
Rating
0.0
(0)
Developer
ParseBird
Actor stats
1
Bookmarked
4
Total users
2
Monthly active users
8 days ago
Last modified
Categories
Share
BuildZoom Scraper
Scrape contractor data from BuildZoom, the largest contractor database in the US with 4M+ licensed contractors and 300M+ building permits. Search by city and trade, filter by construction type and project value. Extract BZ scores, licenses, insurance, bonds, reviews, and contact info.
| Source contractor leads, benchmark competitors, and verify licenses across the largest US contractor database with 4M+ profiles enriched by government permit data. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
parsebird/buildzoom-scraper on Apify. Call: ApifyClient("TOKEN").actor("parsebird/buildzoom-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: city (string, e.g. "miami", "dallas-tx", "new-york-ny"), trade (string, "general-contractors"/"roofers"/"electricians"/"plumbers"/"architects"/"home-builders"/"kitchen-and-bathroom-remodeling"/"home-addition"/"solar-contractors"/"foundation_contractors"), constructionType (string, ""/"residential"/"commercial"), avgProjectValue (string, ""/"10000"/"50000"/"100000"/"100001"), maxPages (integer), maxResults (integer), includeDetails (boolean). Full actor spec: fetch build via GET https://api.apify.com/v2/acts/parsebird~buildzoom-scraper (Bearer TOKEN). Get token: https://console.apify.com/account/integrations
What does BuildZoom Scraper do?
This Actor scrapes buildzoom.com, the largest contractor directory in the United States. It supports two modes:
Listing mode (default, fast and cheap):
| Field | Example |
|---|---|
| Contractor name | Cf Construction and Remodeling, Inc |
| Profile URL | https://www.buildzoom.com/contractor/cf-construction-and-remodeling-inc |
| BZ Score | 180 |
| Price range | $25,000 - $1,000,000 |
| Full address | 3532 SW 113th Ct, Miami, FL 33165 |
| City / State / ZIP | Miami / FL / 33165 |
| Phone number | (904) 513-9494 |
| Total projects | 149 |
| Rating | 5.0 |
| Review count | 6 |
| Project breakdown | New constructions, kitchen remodels, roofing, etc. |
| Description | Premier residential General Contractor... |
Detail mode (adds per contractor):
| Field | Example |
|---|---|
| License numbers | CGC1507638, CMC1251411 |
| License status | Active |
| License types | ["Certified General Contractor", "Roofing"] |
| Insurance amount | $2,000,000 |
| Insurance provider | Kinsale Insurance Co |
| Bond amount | $12,000,000 |
| Bond provider | Nielson, Hoover & Company |
| Verified license | true |
| Last updated | Feb 06, 2026 |
| Photos count | 24 |
Why scrape BuildZoom?
- Lead generation — Build targeted lists of licensed contractors by city, trade, and project value for B2B sales
- Competitive analysis — Benchmark BZ scores, pricing, and project volume across competitors in any market
- License verification — Verify contractor credentials, insurance coverage, and bond status at scale
- Market research — Analyze contractor density, specializations, and pricing trends across US cities
- Recruiting — Identify top-rated contractors and agencies in specific trades and locations
- Due diligence — Screen contractors before hiring with verified license and insurance data
- Directory building — Feed contractor data into your own marketplace or aggregation platform
How to use
- Go to the BuildZoom Scraper page on Apify Store
- Click Try for free
- Configure your input:
- City — City slug (e.g. "miami", "dallas-tx", "new-york-ny", "los-angeles")
- Trade — General Contractors, Roofers, Electricians, Plumbers, Architects, etc.
- Construction Type — All, Residential, or Commercial
- Avg Project Value — Filter by typical project budget range
- Sort By — Top 10, BZ Score, Verified Projects, Client Ratings, or Avg Project Value
- Click Start and wait for the run to finish
- Download your data in JSON, CSV, Excel, or connect via API
Note: City slugs follow the BuildZoom URL format. Most cities use
city-stateformat likedallas-tx,san-francisco-ca,new-york-ny. Some major cities use just the name:miami,chicago,houston,seattle. Check the BuildZoom website URL for the correct slug.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
city | string | "miami" | City slug from BuildZoom URLs (e.g. "miami", "dallas-tx") |
trade | string | "general-contractors" | Contractor trade: general-contractors, roofers, electricians, plumbers, architects, home-builders, kitchen-and-bathroom-remodeling, home-addition, solar-contractors, foundation_contractors |
constructionType | string | "" | Filter: residential, commercial, or empty for all |
avgProjectValue | string | "" | Filter: 10000 (up to $10K), 50000, 100000, 100001 ($100K+), or empty |
sortBy | string | "" | Sort: score, projects, ratings, value, or empty (Top 10 default) |
maxPages | integer | 5 | Max listing pages (25 contractors per page) |
maxResults | integer | 50 | Max contractors to return (0 = unlimited) |
includeDetails | boolean | false | Fetch profile pages for license, insurance, and bond data |
Output data
Listing mode example:
{"contractorName": "Cf Construction and Remodeling, Inc","slug": "cf-construction-and-remodeling-inc","url": "https://www.buildzoom.com/contractor/cf-construction-and-remodeling-inc","bzScore": 180,"priceRange": "$25,000 - $1,000,000","fullAddress": "3532 SW 113th Ct, Miami, FL 33165","city": "Miami","state": "FL","zipCode": "33165","phoneNumber": "(904) 513-9494","phoneExt": "487","totalProjects": 149,"totalProjectsVerified": 149,"rating": 5.0,"reviewCount": 6,"newConstructions": 5,"kitchenRemodels": 12,"multiRoomRemodels": 8,"description": "Premier residential General Contractor...","scrapedAt": "2026-04-06T12:00:00.000Z"}
Detail mode adds:
{"licenseNumbers": "CGC1507638, CMC1251411, CCC1330397","licenseStatus": "Active","licenseTypes": ["Certified General Contractor", "Certified Mechanical Contractor", "Certified Roofing Contractor"],"insuranceAmount": "2,000,000","insuranceProvider": "Kinsale Insurance Co","bondAmount": "12,000,000","bondProvider": "Nielson, Hoover & Company","hasVerifiedLicense": true,"lastUpdated": "Feb 06, 2026","photosCount": 24}
Use with the Apify API
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("parsebird/buildzoom-scraper").call(run_input={"city": "miami","trade": "general-contractors","constructionType": "residential","maxResults": 100,"includeDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['contractorName']} - BZ: {item['bzScore']} - {item.get('priceRange', 'N/A')}")
Pricing
This Actor uses Pay-per-event pricing:
| Event | Cost | Rate |
|---|---|---|
buildzoom-contractor-listing | $0.002 | $2 per 1,000 contractors |
buildzoom-contractor-detail | $0.005 | $5 per 1,000 contractors |
Listing mode charges only buildzoom-contractor-listing per contractor found. Detail mode charges only buildzoom-contractor-detail per contractor enriched (no double-charging).
Cost examples (listing mode):
- 50 contractors: $0.10
- 200 contractors: $0.40
- 1,000 contractors: $2.00
Cost examples (detail mode):
- 50 contractors: $0.25
- 200 contractors: $1.00
- 1,000 contractors: $5.00
You only pay for the contractors actually returned.
Tips and best practices
- Start small — Set
maxResultsto 5-10 withincludeDetailsenabled to preview the data before running a full scrape - City slug format — Check the BuildZoom URL for your target city to get the exact slug. Most use
city-state(e.g.dallas-tx), some use just the city name (e.g.miami) - Use listing mode for lead lists — Listing mode already includes name, address, phone, BZ score, price range, and project counts — enough for most lead generation use cases
- Detail mode for due diligence — Enable detail mode when you need verified license numbers, insurance coverage, and bond information
- Scheduling — Set up weekly runs to track new contractors or changes in BZ scores and project counts
Integrations
Connect this Actor to your workflow:
- Google Sheets — Export results directly
- Webhooks — Trigger actions when new data arrives
- API — Access data programmatically via the Apify API
- Zapier / Make — Automate downstream workflows
Limitations
- BuildZoom is US-only. The scraper requires US IP access, which Apify provides via its residential proxies when running on the platform.
- Services offered, permit history, and employee data are loaded via JavaScript on detail pages and are not extracted in this version. The listing page data + license/insurance/bond from detail pages covers the most valuable data points.
- Some contractors may not have all fields (rating, price range, description) depending on their profile completeness.
- Detail pages are fetched sequentially with small delays to avoid rate limiting.