Houzz Scraper & API - Professionals & Contractor Leads, Phones avatar

Houzz Scraper & API - Professionals & Contractor Leads, Phones

Pricing

$0.60 / 1,000 results

Go to Apify Store
Houzz Scraper & API - Professionals & Contractor Leads, Phones

Houzz Scraper & API - Professionals & Contractor Leads, Phones

Houzz scraper and API: contractor, designer and home-service leads from houzz.com/professionals by category and city or ZIP. One result = one business: name, rating, reviews, phone, address, lat/lng, price level, verified license; website with details. $0.60 per 1,000, the cheapest.

Pricing

$0.60 / 1,000 results

Rating

0.0

(0)

Developer

Giovanni Rich

Giovanni Rich

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

This Houzz scraper turns the houzz.com/professionals directory into clean JSON, CSV or Excel lead lists. Give it categories (general contractors, interior designers, plumbers, landscape contractors, roofing and gutters, 100+ more) and cities or ZIP codes, and get every matching business with its star rating, review count, phone number, street address, latitude / longitude, price level, Houzz highlights (verified license, hired on Houzz…) and profile URL. Turn on includeDetails for the website, licence number, services and areas served.

Use it as a Houzz professionals scraper for contractor and designer lead generation, or as an unofficial Houzz API ($0.60 per 1,000 businesses, no start fee) you call from your own code, Make, Zapier, n8n or an AI agent. It reads the JSON Houzz embeds in its own directory pages over plain HTTP: no browser, no login, no API key. Deep search goes past Houzz's 1,499-per-search cap (in testing, general contractors near Charlotte returned 1,245 unique businesses in 70 seconds).

What you get

One dataset item per business:

  • Business: name, category (Houzz's main category), categories, description, imageUrl.
  • Reputation: rating (1.0-5.0, null = no reviews), reviewCount, highlights, verifiedLicense, verifiedBusiness, projectCount, photoCount.
  • Price: priceLevels (any of $-$$$$), costEstimate (e.g. "$50,000 - 2 million").
  • Contact: phone; with includeDetails also website, websiteDomain, licenseNumber, servicesProvided, areasServed, awards, estimateDetails, additionalAddresses, profileSuspended.
  • Where: address, addressFull, city, state, postalCode, country (US / CA), latitude, longitude, locationServed, distanceMiles.
  • Listing type: sponsored (paid slot in the results), paidListing (pays for Houzz Pro), videoConsultation.
  • Links and ids: profileUrl, id (Houzz user id, stable between runs), professionalId.
  • Where it came from: sourceCategory, sourceLocation, sourceKeyword, position, searchUrl, scrapedAt.

Sample output

Real rows from a cloud run for general contractors near Charlotte, NC:

namecategoryratingreviewCountphonecitystate
Weiss Construction, LLCGeneral Contractors521(704) 622-4061CharlotteNC
Conservation Renovations Inc.General Contractors4.713(704) 412-1964CharlotteNC
JM Customs & RestorationsGeneral Contractors514(980) 391-6540CharlotteNC
Dream Home Builders and RemodelersKitchen & Bath Remodelers511(704) 659-1905CharlotteNC

Use cases

  • Contractor lead lists: every 4+ star general contractor, remodeler or roofer around a city, with phone and (with includeDetails) website, ready for a CRM or cold-calling sheet.
  • Building-products and supplier prospecting: find the kitchen and bath remodelers, cabinet makers or pool builders in your sales territory and rank them by review count.
  • Agency and SaaS outreach: marketing agencies and contractor-software vendors build target lists by category, city, price level and paidListing (who already pays Houzz for leads).
  • Local market research: who dominates kitchen remodels in Austin, how many licensed electricians serve a ZIP code, how ratings spread across a metro.
  • Reputation and competitor checks: schedule a weekly run and track rating and reviewCount by the stable id.
  • AI agents: "find licensed 4+ star kitchen remodelers near 78704 with their websites" maps straight onto the input fields.

Pricing

$0.60 per 1,000 businesses (pay per result; one result = one business saved). No start fee, no charge per search, and includeDetails (website, licence number) costs nothing extra. Duplicates, unrecognised categories or places, skipped sponsored listings and failed requests are never charged. It is the cheapest Houzz professionals scraper on the Store with real users:

Houzz scraper (30-day users)Price per 1,000 businesses
This one$0.60, details and website included, no start fee
fortuitous_pirate (2)$0.93 + $0.001 per run
shahidirfan (10)$1.00 + $0.0005 per run
ahmed_jasarevic (1)$1.90
memo23 (21)$2.00 + $0.0005 per run, + $1.00 for extra profile data
abotapi (14)$2.00 + $0.08 per run, + $1.00 for details
easyapi (6)$2.99 + $0.09 per run
solidcode (6)$3.55 + $0.00005 per run
fatihtahta (5)$3.99
malikgen (8)$4.00, + $8.00 for e-mails
You scrapeYou pay
100 businesses$0.06
1,000 businesses$0.60
10,000 businesses$6.00
100,000 businesses$60.00

The Apify free plan's $5 monthly credit covers about 8,300 businesses. Every general contractor Houzz shows around a big city (about 1,500 businesses) is about $0.90. The prefilled input (general contractors near Charlotte, 20 businesses) costs about $0.012 and took 8 seconds in a cloud test. If you set a maximum cost per run, the scraper stops cleanly when it reaches it.

Why this one

  • Cheapest Houzz scraper with real users: $0.60 per 1,000 with details and websites included. The most-used ones charge $2.00 per 1,000 plus a start fee per run and $1.00 more for profile details.
  • Deep search past the 1,499 cap: the same search is re-run per rating band, price level and highlight and merged without duplicates.
  • Real filters: minimum rating, price level, verified license and other highlights, Spanish-speaking, keyword inside a category.
  • Phone in 99% of rows (1,245-business test run), coordinates in 92%.
  • Fast and light: plain HTTP, no browser or login, about 10-20 seconds per 100 businesses.

FAQ

Is there an official Houzz API? Houzz has a partner API for Houzz Pro customers, not a public directory API. This actor reads the public professionals directory on houzz.com and needs no key.

Does it get Houzz reviews? No. You get the star rating and review count; profileUrl links to the full profile. Review text and reviewer names are not collected.

How do I get only licensed contractors? Set standouts: ["verifiedLicense"]. Every row also carries verifiedLicense either way, and with includeDetails the licenseNumber as stated on the profile.

How do I get websites? Set includeDetails: true. The website is on the profile page, not in the directory, so it costs one extra request per business (no extra charge).

Why does a row have no coordinates or address? Sponsored listings and service-area businesses hide them. locationServed and city are usually still there.

Does it cover Canada and other countries? US cities, ZIP codes and Canadian cities ("Toronto, ON", "Vancouver, BC") work on houzz.com. Houzz's other country sites (houzz.co.uk, houzz.com.au…) are separate sites and not covered.

Is scraping Houzz legal? The actor collects publicly visible business listings, not personal data, and does not bypass any access control. You are responsible for how you use the data and for following Houzz's terms and the laws that apply to you (for example on cold calling).

How much does a typical run cost? 200 licensed remodelers in one metro with websites: $0.12. Every general contractor around a big city (about 1,500): about $0.90. The free plan's $5 credit covers about 8,300 businesses a month.

Something is wrong or a field is missing. Open an issue on the Issues tab of the actor page with the run ID. It reaches the developer directly.

Example inputs for common jobs

Copy one into the JSON tab of the input and adjust.

Remodeling leads with websites for cold outreach (4+ stars, licence checked by Houzz):

{ "categories": ["general contractors", "kitchen and bath remodelers"], "locations": ["Austin, TX"], "minRating": "4", "standouts": ["verifiedLicense"], "includeDetails": true, "maxResults": 200 }

Cover a whole metro by ZIP code (duplicates across searches are saved once):

{ "categories": ["roofing and gutters"], "locations": ["28202", "28277", "28105", "28031"], "maxResults": 300 }

Niche service inside a trade (keyword search on name, description and services):

{ "categories": ["landscape contractors"], "keywords": ["pool deck", "outdoor kitchen"], "locations": ["Phoenix, AZ"] }

Spanish-speaking pros, organic results only, for a local marketing agency list:

{ "categories": ["painters", "general contractors"], "locations": ["Miami, FL"], "spanishSpeaking": true, "includeSponsored": false }

How to use

  1. Type one or more Professional categories (general contractors, architects, interior designers, kitchen and bath remodelers, plumbers, electricians, painters, pool builders…) and Locations (Charlotte, NC, 28277, Toronto, ON). Every category is searched in every location. Houzz searches a 50-mile radius around the place.
  2. Optionally add Keywords (water heater, ADU, pool deck) searched inside each category, and filters: Minimum star rating (3+, 4+, 5), Price levels, Highlights (verified license, hired on Houzz, locally owned, family owned, free / online consultation, custom work), Spanish-speaking, Include sponsored listings.
  3. Turn on Include profile details when you need the website and licence number (one extra request per business).
  4. Set Max businesses per search (0 = everything the search can reach) and click Start. Download the results as JSON, CSV, Excel or HTML from the Output tab, or pull them through the Apify API, Make, Zapier, n8n or an MCP client.

Already have links? Paste houzz.com category / city pages, browse URLs with filters in them, or a professional's profile URL into Houzz URLs.

Input

FieldDefaultDescription
categories-Houzz professional categories, one search each
locationsnationwide"City, ST", ZIP code or "City, Province"
keywords-Free-text search inside each category + location
minRating"0""0" (any), "3", "4" or "5" stars and up
priceLevelsallAny of $, $$, $$$, $$$$
standoutsallverifiedLicense, hiredOnHouzz, locallyOwned, familyOwned, freeConsultation, onlineConsultation, customWork
spanishSpeakingfalseOnly "Speaks Spanish" businesses
includeSponsoredtrueKeep sponsored listings (flagged sponsored: true)
includeDetailsfalseOpen each profile for website, licence number, services
maxResults100Max businesses per search; 0 = all
deepSearchtrueGo past Houzz's 1,499-per-search limit
startUrls-houzz.com professionals URLs

4+ star general contractors around Charlotte with a website, organic listings only:

{
"categories": ["general contractors"],
"locations": ["Charlotte, NC"],
"minRating": "4",
"includeSponsored": false,
"includeDetails": true,
"maxResults": 100
}

Plumbers in Toronto who mention water heaters:

{
"categories": ["plumbers"],
"locations": ["Toronto, ON"],
"keywords": ["water heater"],
"maxResults": 50
}

Licensed, mid-to-high-priced remodelers in three Texas cities:

{
"categories": ["kitchen and bath remodelers", "general contractors"],
"locations": ["Austin, TX", "Dallas, TX", "Houston, TX"],
"standouts": ["verifiedLicense"],
"priceLevels": ["$$$", "$$$$"],
"maxResults": 0
}

From links you copied off the site:

{
"startUrls": [
"https://www.houzz.com/professionals/landscape-contractors/c/Denver--CO",
"https://www.houzz.com/professionals/hznb/general-contractor/charlotte-nc-us-rating-4-probr1-bo~t_11786~r_4460243~rg_40",
"https://www.houzz.com/professionals/general-contractors/building-impact-llc-pfvwus-pf~96917289"
],
"maxResults": 20
}

Output example

From a real run (general contractors near Charlotte, NC, description shortened):

{
"id": "2673447",
"professionalId": "100343",
"name": "Weiss Construction, LLC",
"category": "General Contractors",
"categories": ["General Contractors", "Home Remodeling"],
"rating": 5,
"reviewCount": 21,
"priceLevels": [],
"costEstimate": "$50,000 - 2 million",
"phone": "(704) 622-4061",
"address": "10612 Providence Road, Suite D203",
"addressFull": "10612 Providence Road, Suite D203, Charlotte, NC 28277",
"city": "Charlotte",
"state": "NC",
"postalCode": "28277",
"country": "US",
"latitude": 35.0552,
"longitude": -80.8195,
"locationServed": "Serves Charlotte",
"distanceMiles": 8.2,
"description": "Weiss Construction was founded by General Contractor, Evan Weiss, and built on a foundation of service and quality. ...",
"highlights": ["Hired on Houzz"],
"verifiedLicense": false,
"verifiedBusiness": false,
"sponsored": false,
"paidListing": true,
"projectCount": 0,
"photoCount": 630,
"videoConsultation": false,
"profileUrl": "https://www.houzz.com/professionals/general-contractors/weiss-construction-llc-pfvwus-pf~1887698191",
"imageUrl": null,
"sourceCategory": "general contractors",
"sourceLocation": "Charlotte, NC",
"sourceKeyword": null,
"position": 1,
"searchUrl": "https://www.houzz.com/professionals/probr0-bo~t_11786~r_4460243",
"scrapedAt": "2026-10-20T17:47:48.231Z"
}

With includeDetails: true (an interior designers near Austin, TX row, shortened): "name": "Calming Spaces Interiors, Design & Remodeling", "rating": 4.8, "reviewCount": 50, "phone": "(512) 842-4664", "website": "http://www.calmingspaces.com", "websiteDomain": "calmingspaces.com", "servicesProvided": ["Art Selection", "Attic Conversion", "Basement Design", "Bath Remodeling", …], "areasServed": ["Austin", "Round Rock", "Cedar Park", …].

Fill rates on a 1,245-business test run (general contractors near Charlotte, deep search): name, category, profile URL, review count 100%; phone 99%; coordinates 92%; street address 75%; star rating 23% (most businesses deep in the list have no reviews yet; the first pages are 85% rated); price levels 7%. With includeDetails on a 12-business run: website 100%, services and areas served 100%, licence number 33%. A field Houzz does not publish for a business is null or empty, never guessed.

API example

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("rel8ble/houzz-professionals-scraper").call(run_input={
"categories": ["general contractors"],
"locations": ["Charlotte, NC"],
"minRating": "4",
"includeDetails": True,
"maxResults": 100,
})
for b in client.dataset(run["defaultDatasetId"]).iterate_items():
print(b["name"], "|", b["rating"], "|", b["reviewCount"], "|", b["phone"], "|", b.get("website"), "|", b["profileUrl"])

One HTTP call that runs the actor and returns the rows (curl):

curl -X POST "https://api.apify.com/v2/acts/rel8ble~houzz-professionals-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"categories": ["plumbers"], "locations": ["Toronto, ON"], "maxResults": 50}'

Integrations

  • Apify API: run the actor and fetch results over REST, or with the official Python and JavaScript / Node.js clients.
  • MCP for AI agents: through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other agents can call this Houzz API directly. Every input field is described for agents ("find licensed 4+ star kitchen remodelers near 78704 with their websites" maps straight onto the input).
  • Make, Zapier and n8n: send new leads to HubSpot, Pipedrive, Salesforce, Google Sheets, Airtable or Slack.
  • Webhooks and schedules: run weekly and deduplicate on id to get only new businesses.

Limits (read before large runs)

  • 1,499 businesses per single Houzz search is Houzz's own display limit (100 pages of 15); the count it shows is also capped there, so siteTotal: 1499 in RUN_SUMMARY means "1,499 or more". Deep search runs the same search per rating band, price level, highlight and language and merges the results; it reaches more, not everything, and the summary says how many narrower searches ran.
  • 50-mile radius. Houzz searches about 50 miles around the place and the radius is a saved site preference, not a URL option, so it cannot be changed here. Use ZIP codes or several towns for finer control; distanceMiles is on every organic row.
  • Sort order is Houzz's "Best match"; the site's other orders are not reachable over plain HTTP, so there is no sort input. Deep search covers what sorting would.
  • Sponsored listings repeat on every page; they are saved once and flagged sponsored: true. Set includeSponsored: false for organic results only. Filters (rating, price, highlights) are Houzz's own and apply to organic results; the rating filter is also checked on every saved row.
  • Category names: Houzz maps common synonyms (plumber -> Plumbers, interior designer -> Interior Designers & Decorators). A name it has no page for is searched as a keyword among all professionals in that location instead, and the log says so.
  • Unknown places (a typo, a town Houzz does not know) are skipped and reported, never charged.
  • Keyword searches sometimes get a redirect from Houzz that drops the keyword; the actor detects that and retries on a new session (usually 1-2 extra requests, visible as keywordDroppingRedirectsRetried in the summary).
  • Speed: requests are spaced politely (at most 4 a second; each page is about 1.3 MB). A 100-business search takes 10-20 seconds; includeDetails adds about 0.3 s per business.
  • No personal data, no reviews. Only public business listing data is collected: no reviews, no reviewer names, no Houzz user accounts. E-mail addresses that look personal in free-text fields are replaced with [email removed]. Some sole traders trade under their own name; that is the business name Houzz lists.