Houzz Pro Scraper avatar

Houzz Pro Scraper

Pricing

from $0.89 / 1,000 results

Go to Apify Store
Houzz Pro Scraper

Houzz Pro Scraper

Scrape Houzz professional directory listings by category, location, keyword, or URL across all 14 Houzz country sites: ratings, reviews, contact info, services, and photos. Export to JSON, CSV, or Excel.

Pricing

from $0.89 / 1,000 results

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Houzz Pro Scraper

Extract professional listings from Houzz's directory of architects, interior designers, contractors, and 70+ other home-service categories — across all 14 Houzz country sites. Search by category and location, run a free-text keyword search, deep-fetch specific pros for full profile details, or paste any Houzz directory URL.

Search any Houzz category + location, or paste a Houzz URL directly, and get ratings, review counts, contact info, services, service areas, and photos as clean, ready-to-use JSON, CSV, or Excel rows.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor: Use the Apify actor parsebird/houzz-scraper via ApifyClient — example: client.actor("parsebird/houzz-scraper").call(run_input={"mode":"search","site":"houzz.com","category":"interior-designers","locations":["New-York--NY"],"maxPages":5,"maxListings":100}) — key inputs are mode (search/keyword/review/url), site (one of 14 Houzz country domains), category, locations (array of "City--State" strings), queries (free-text keywords for keyword mode), proUrls/urls (for review/url modes), minRating, minReviewCount, verifiedOnly, sortBy, maxPages, maxListings, and fetchDetails (richer per-pro fields) — output rows have displayName, userName, proTypeDisplayName, city/state/country, latitude/longitude, formattedPhone, website, numReviews, reviewRating, featuredReview/mostRecentReview, verified, awards, aboutMe, servicesProvided, areasServed, socialFacebook/socialInstagram/socialLinkedin, and url — full API spec at https://apify.com/parsebird/houzz-scraper/api and get a token at https://console.apify.com/account/integrations.

What does Houzz Pro Scraper do?

Houzz Pro Scraper pulls structured data out of Houzz's professional directory — the same directory home-owners browse to find architects, interior designers, general contractors, kitchen & bath remodelers, landscape architects, and 70+ other trade categories. It works as a Houzz API alternative, and covers all 14 Houzz country sites: houzz.com, houzz.com.au, houzz.co.nz, houzz.co.uk, houzz.ie, houzz.de, houzz.fr, houzz.it, houzz.es, houzz.dk, houzz.se, houzz.com.sg, houzz.in, and houzz.jp.

  • 🔍 Search mode — pick a category and one or more locations (New-York--NY, Sydney--NSW), and the actor pages through every matching pro.
  • ⌨️ Keyword mode — narrow a category/location search with free-text keywords (matched against each pro's name, about-me text, and category, since Houzz's directory has no server-side keyword search).
  • 👤 Review mode — deep-fetch specific pros by profile URL or username, always pulling the richer profile-page fields (services, areas served, cost estimate, rating breakdown).
  • 🔗 URL mode — paste any Houzz professional-directory URL (or a single pro's profile URL) and scrape it directly.
  • Post-fetch filtersminRating, minReviewCount, and verifiedOnly narrow results after fetching; sortBy reorders by rating, review count, name, or newest.
  • 🔁 Resume & Incremental mode — continue an interrupted run with resumeFromRunId, or track a scheduled search over time with incrementalMode, which classifies every pro as NEW, UPDATED, UNCHANGED, REAPPEARED, or EXPIRED between runs.
  • ⏱️ Automation-ready — run it on a schedule, trigger it via the Apify API, or wire it into Make, Zapier, or n8n.
  • 📤 Export anywhere — download results as JSON, CSV, Excel, or HTML straight from the Apify Console, or pull them via API/webhook.

What data can you extract from Houzz?

FieldDescription
displayName, userNameBusiness/pro name and Houzz username
proTypeDisplayNameCategory, e.g. "Interior Designers & Decorators"
city, state, country, zip, latitude, longitudeLocation
formattedAddress, formattedPhone, websiteContact info
numReviews, reviewRatingReview aggregate (0-5 scale)
aspectCommunication, aspectOnTime, aspectQuality, aspectValueRating breakdown by aspect (requires fetchDetails)
featuredReview, mostRecentReviewSample reviews with author, text, and rating
verified, hasVerifiedLicensePaid/claimed business profile and license verification flags
awards, badges, meritsBest of Houzz awards and profile badges
aboutMeFull about-me / bio text
servicesProvided, areasServed, costEstimateRequires fetchDetails
socialFacebook, socialInstagram, socialLinkedinSocial profile links
urlCanonical Houzz profile URL

Input parameters

ParameterTypeRequiredDefaultDescription
modestringNosearchsearch / keyword / review / url
sitestringNohouzz.comOne of 14 Houzz country domains
categorystringNointerior-designersService category (search/keyword modes)
locationsarrayNo[] (all)"City--State" strings
queriesarrayKeyword modeFree-text keywords
proUrlsarrayReview modePro profile URLs or usernames
urlsarrayURL modeAny Houzz directory URLs
minRatingintegerNo0Minimum rating (0-5), applied after fetching
minReviewCountintegerNo0Minimum review count, applied after fetching
verifiedOnlybooleanNofalseOnly paid/claimed profiles
sortBystringNodefaultdefault / rating-desc / review-count-desc / newest / name-asc
maxPagesintegerNo5Max result pages per search (15 pros/page)
maxListingsintegerNo0 (unlimited)Total cap across all searches
fetchDetailsbooleanNofalseVisit each pro's own page for richer fields
resumeFromRunIdstringNoContinue a previous interrupted run
incrementalModebooleanNofalseTrack a scheduled search across runs
emitUnchanged / emitExpiredbooleanNofalseAlso emit UNCHANGED / EXPIRED rows (Incremental mode)
proxyobjectNoApify defaultWorks for all 14 sites; Residential optional

Output example

{
"id": "5208",
"userId": 16380,
"professionalId": 5208,
"displayName": "Ruthie Staalsen Interiors",
"userName": "ruthiedesigner",
"proTypeDisplayName": "Interior Designers & Decorators",
"country": "US",
"state": "TX",
"city": "Grapevine",
"zip": "76051",
"latitude": 32.9328,
"longitude": -97.0808,
"formattedPhone": "(817) 592-8379",
"website": "http://www.ruthiestaalsen.com",
"numReviews": 109,
"reviewRating": 5.0,
"aspectQuality": 5.0,
"aspectCommunication": 5.0,
"aspectValue": 5.0,
"verified": true,
"servicesProvided": ["Interior Design", "Kitchen Design", "Bathroom Design"],
"areasServed": ["Fort Worth", "Irving", "Grapevine"],
"costEstimate": "$5,000 - 500,000",
"socialFacebook": "https://www.facebook.com/ruthiedesigner",
"url": "https://www.houzz.com/professionals/interior-designers-and-decorators/ruthie-staalsen-interiors-pfvwus-pf~1199665728",
"mode": "search",
"category": "interior-designers",
"location": "New-York--NY"
}

Use cases

  • Lead generation — build a list of interior designers, contractors, or architects in a target city with phone/website contact info.
  • Competitive research — compare ratings, review counts, and services across pros in the same category and market.
  • Market monitoring — schedule a search with Incremental mode to catch new pros and rating changes as they happen.
  • CRM / lead-scoring pipelines — pipe structured JSON straight into your own database via the Apify API.

How to scrape Houzz

  1. Pick a Mode: search (category + location), keyword, review (specific pros), or URL.
  2. For search/keyword mode, set Category and Locations (e.g. interior-designers + New-York--NY).
  3. Set Max pages and Max listings to control run size.
  4. Optionally turn on Fetch pro detail pages for services, areas served, cost estimate, and rating breakdown.
  5. Click Start and download results as JSON, CSV, or Excel once the run finishes.

How much does it cost to scrape Houzz?

This actor uses pay-per-event (PPE) pricing — you pay only for what you get.

EventPrice per eventPrice per 1,000
Result$0.00149$1.49
Enrichment (optional, fetchDetails)$0.00079$0.79

Result fires once per pro row saved. Enrichment fires in addition, once per pro, only when fetchDetails is on (always on in Review mode). Scraping 1,000 pros without detail enrichment costs about $1.49; with it, about $2.28.

Resume & recurring updates

Resume (resumeFromRunId) continues one specific interrupted run: paste the run ID (or its dataset ID) and this run skips every pro already collected there, picking up only what's still missing.

Incremental mode (incrementalMode) is for a search you run on a schedule (daily/weekly) against the same category/location/query. It remembers what the search returned last time and classifies every pro as NEW, UPDATED (with a changedFields list), UNCHANGED, REAPPEARED (was gone, is back), or EXPIRED (tracked before, no longer found — only after a run that scanned every page of every search without being cut short by Max pages/Max listings). By default only NEW/UPDATED/REAPPEARED/EXPIRED rows are pushed; emitUnchanged/emitExpired also push the others (billing extra rows). stateKey names the saved baseline — leave it empty and the actor derives one automatically from mode/site/category/locations/queries/filters.

Yes — this actor only collects publicly available directory data that Houzz itself shows to any visitor, without logging in or bypassing any paywall. You're responsible for how you use the extracted data; review Houzz's Terms of Service before republishing personal contact information. See Apify's guide on the legality of web scraping for more detail.

FAQ

Which Houzz sites are supported? All 14: houzz.com, houzz.com.au, houzz.co.nz, houzz.co.uk, houzz.ie, houzz.de, houzz.fr, houzz.it, houzz.es, houzz.dk, houzz.se, houzz.com.sg, houzz.in, and houzz.jp. Categories differ by site — an unavailable category stops the run with the list of categories that site actually has.

Why do some fields come back null unless I turn on Fetch pro detail pages? servicesProvided, areasServed, costEstimate, and the per-aspect rating breakdown only appear on a pro's own profile page, not in directory search results — turning on fetchDetails (or using Review mode, where it's always on) fetches that page for each pro.

Does keyword search happen on Houzz's servers? No — Houzz's public directory has no server-side keyword search endpoint, so Keyword mode fetches a category/location search and matches your keyword client-side against each pro's name, about-me text, and category. A broad search with a higher Max pages gives it more to search through.

Can I schedule recurring runs? Yes — use Apify's built-in Scheduler, and combine it with Incremental mode to only get charged for pros that are new or changed since the last run.

Something looks wrong or missing — how do I report it? Open an issue on the actor's Issues tab in Apify Console, including the input you used and the run ID.