Houzz Pro Scraper
Pricing
from $0.89 / 1,000 results
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
Maintained by CommunityActor 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 filters —
minRating,minReviewCount, andverifiedOnlynarrow results after fetching;sortByreorders by rating, review count, name, or newest. - 🔁 Resume & Incremental mode — continue an interrupted run with
resumeFromRunId, or track a scheduled search over time withincrementalMode, 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?
| Field | Description |
|---|---|
displayName, userName | Business/pro name and Houzz username |
proTypeDisplayName | Category, e.g. "Interior Designers & Decorators" |
city, state, country, zip, latitude, longitude | Location |
formattedAddress, formattedPhone, website | Contact info |
numReviews, reviewRating | Review aggregate (0-5 scale) |
aspectCommunication, aspectOnTime, aspectQuality, aspectValue | Rating breakdown by aspect (requires fetchDetails) |
featuredReview, mostRecentReview | Sample reviews with author, text, and rating |
verified, hasVerifiedLicense | Paid/claimed business profile and license verification flags |
awards, badges, merits | Best of Houzz awards and profile badges |
aboutMe | Full about-me / bio text |
servicesProvided, areasServed, costEstimate | Requires fetchDetails |
socialFacebook, socialInstagram, socialLinkedin | Social profile links |
url | Canonical Houzz profile URL |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| mode | string | No | search | search / keyword / review / url |
| site | string | No | houzz.com | One of 14 Houzz country domains |
| category | string | No | interior-designers | Service category (search/keyword modes) |
| locations | array | No | [] (all) | "City--State" strings |
| queries | array | Keyword mode | — | Free-text keywords |
| proUrls | array | Review mode | — | Pro profile URLs or usernames |
| urls | array | URL mode | — | Any Houzz directory URLs |
| minRating | integer | No | 0 | Minimum rating (0-5), applied after fetching |
| minReviewCount | integer | No | 0 | Minimum review count, applied after fetching |
| verifiedOnly | boolean | No | false | Only paid/claimed profiles |
| sortBy | string | No | default | default / rating-desc / review-count-desc / newest / name-asc |
| maxPages | integer | No | 5 | Max result pages per search (15 pros/page) |
| maxListings | integer | No | 0 (unlimited) | Total cap across all searches |
| fetchDetails | boolean | No | false | Visit each pro's own page for richer fields |
| resumeFromRunId | string | No | — | Continue a previous interrupted run |
| incrementalMode | boolean | No | false | Track a scheduled search across runs |
| emitUnchanged / emitExpired | boolean | No | false | Also emit UNCHANGED / EXPIRED rows (Incremental mode) |
| proxy | object | No | Apify default | Works 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
- Pick a Mode: search (category + location), keyword, review (specific pros), or URL.
- For search/keyword mode, set Category and Locations (e.g.
interior-designers+New-York--NY). - Set Max pages and Max listings to control run size.
- Optionally turn on Fetch pro detail pages for services, areas served, cost estimate, and rating breakdown.
- 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.
| Event | Price per event | Price 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.
Is it legal to scrape Houzz?
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.