Houzz Scraper | Photos, Products, Pros & Ideas
Pricing
from $0.75 / 1,000 houzz public results
Houzz Scraper | Photos, Products, Pros & Ideas
Extract public Houzz photos, products and reviews, professional profiles, projects, discussions and idea galleries. Paste Houzz URLs or IDs and export structured results to JSON, CSV or Excel. No login required.
Pricing
from $0.75 / 1,000 houzz public results
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Collect public Houzz photos, products with reviews, professional profiles, projects, design discussions and idea galleries in one structured Dataset. Paste a Houzz category URL or specific Houzz URLs and IDs; the Actor returns normalized, deduplicated records with stable identifiers and source links. No Houzz account, login or browser is required.
What this Actor does
The Actor collects public Houzz photo categories and individual photos, products, professional profiles, projects, discussions and idea galleries.
One run can mix several target types. Each delivered item is one public entity: a photo, a photo comment, a professional profile, a project, a product, a product review summary, a product review, a discussion, a discussion answer, an idea gallery item or a gallery comment. Items carry a recordType field so you can filter or split the Dataset by entity.
Links point back to the public Houzz page whenever the source exposes one. Missing optional values remain null or empty instead of being guessed. The Actor never signs in, never uses account cookies and never returns private messages or contact details.
Use cases
- Build a photo library for a room, style or renovation category with titles, images and source links.
- Research product catalogs with review summaries, ratings, brands and published prices.
- Collect public professional profiles and their published project portfolios for market research.
- Track public design discussions and answers around a renovation topic.
- Export idea galleries with the products and photos they contain.
How to use
- Open the Actor in Apify Console.
- Paste a Houzz photo category URL in Houzz URLs, or add specific photo, professional, product, discussion or gallery targets.
- Click Start and open the Dataset when the run finishes.
The prefilled example collects a small sample from the Houzz kitchen photo category. Reduce Maximum results for a quick test, or replace the example category with your own targets. API requests process only the targets you supply.
Input
Start with houzzUrls and maxItems; no IDs are needed for supported page URLs. You can mix supported houzz.com category, photo, professional, product, discussion and numeric ideabook URLs. Professional /pro/username URLs are also accepted. Other hosts, search pages and URLs with ID query parameters are not supported in this field; use the typed fields for IDs.
Every target field is optional, but at least one target must be supplied. Categories accept a Houzz photo category URL (the Actor reads the numeric topic ID from bp~t_…) or a bare topic ID such as 709. Photo, professional, product and discussion fields accept either a Houzz URL or a numeric ID. The advanced idea gallery field accepts numeric gallery IDs. Category URLs select the category only; additional style or location filters are not applied.
maxPhotosPerTopic, maxProjectsPerProfessional and maxItems are hard caps. maxItems applies across the whole run, including related projects, reviews, answers and comments. Categories run first, then photos, professional IDs, professional usernames, products, discussions and galleries; earlier targets can use the entire limit. Duplicate entities are delivered once, even when they appear in several targets.
includeProfessionalProjects is enabled by default and returns each professional's public project list. When professional projects are enabled, includeProjectDetails fetches the full project record instead of the compact list row. includeProductReviews and includeAnswers are enabled by default. includeComments is disabled by default because it adds public photo and gallery comments to the Dataset.
This is the complete input contract with neutral valid values:
{"houzzUrls": [],"photoTopics": ["https://www.houzz.com/photos/kitchen-ideas-and-designs-phbr0-bp~t_709","712"],"photoIds": ["https://www.houzz.com/photos/kitchen-remodel-soltis-phvw-vp~160172880"],"professionalIds": ["https://www.houzz.com/professionals/kitchen-and-bath-remodelers/usi-design-and-remodeling-pfvwus-pf~1006722033"],"professionalUsernames": ["designit"],"productIds": ["https://www.houzz.com/products/uttermost-niva-prvw-vr~200622379"],"questionIds": ["https://www.houzz.com/discussions/small-open-plan-layout-advice-6621384"],"galleryIds": ["77863297"],"includeProfessionalProjects": true,"includeProjectDetails": false,"includeProductReviews": true,"includeAnswers": true,"includeComments": false,"maxPhotosPerTopic": 40,"maxProjectsPerProfessional": 20,"maxItems": 300}
A smaller verified input used for the example below:
{"houzzUrls": ["https://www.houzz.com/photos/kitchen-remodel-soltis-phvw-vp~160172880","https://www.houzz.com/photos/94972480"],"maxItems": 2}
Output
Results are stored in the default Dataset. One item represents one public entity. Every item contains recordType, id and scrapedAt; the remaining fields depend on the record type and stay empty when the source does not publish them. url links to the public Houzz page.
The run summary in the key-value store reports delivered counts, per-target status, failed targets and whether the run completed, stopped at the result cap, reached its time budget or could not collect anything. A run that collects nothing is never reported as completed.
This is a complete Dataset item from a real successful run with the small input above:
{"recordType": "photo","id": "160172880","url": "https://www.houzz.com/photos/kitchen-remodel-soltis-transitional-kitchen-phoenix-phvw-vp~160172880","title": "Kitchen Remodel (Soltis)","imageUrl": "https://st.hzcdn.com/simgs/af21f6910ed5221f_9-1544/home-design.jpg","imageWidth": 660,"imageHeight": 990,"imageUrls": [],"description": null,"ownerId": "22988755","ownerUserName": "teammariano","ownerName": null,"professionalId": null,"proType": null,"numReviews": null,"reviewRating": null,"city": null,"state": null,"country": null,"brand": null,"price": null,"priceText": null,"currency": null,"reviewCount": null,"averageRating": null,"ratingDistribution": [],"aspectSummaries": [],"created": null,"modified": null,"likes": 1680,"numberOfAnswers": null,"commentCount": 6,"parentId": null,"parentType": null,"sourceTopicId": null,"categoryId": 1005,"topicId": null,"projectId": "6211731","projectName": "Kitchen Remodel","objectType": null,"objectId": null,"galleryId": null,"tags": [],"scrapedAt": "2026-10-26T08:05:31.678+00:00"}
Records can be exported as JSON, CSV or Excel from the Dataset.
Pricing
One result event is charged per unique record delivered to the Dataset. Apify applies your plan's price automatically:
| Apify plan | Price per result | Equivalent per 1,000 results |
|---|---|---|
| Free | $0.001 | $1.00 |
| Bronze | $0.0009 | $0.90 |
| Silver | $0.0008 | $0.80 |
| Gold | $0.00075 | $0.75 |
| Platinum | $0.00075 | $0.75 |
| Diamond | $0.00075 | $0.75 |
Photos, profiles, projects, products, reviews, discussions, answers and gallery items are separate records when delivered. Runs that deliver no items produce no result charges. If a spending limit is reached, the run stops, keeps delivered rows and reports a spending-limit outcome in the run summary. Check the Pricing tab for the current price before starting a paid run.
Related Actors
| Actor | Best for |
|---|---|
| Realtor.com US Property Listings Scraper | Compare home listings and property details for renovation research. |
| Zillow Search Scraper | Filtered Search URLs | Collect filtered US property search results alongside Houzz project research. |
| Google Maps Business Scraper | $1 per 1,000 | Look up local contractor and design business profiles outside Houzz. |
Limits and data quality
Coverage is limited to public Houzz content. Titles, prices, ratings, review counts, project counts and availability change on the source and can differ between runs. The Actor reports what the source returns at collection time and does not verify or recalculate ratings and prices.
Some entity types require an identifier. Houzz does not publish a public listing endpoint for every content type, so products, discussions and idea galleries are collected from the URLs or IDs you supply. Photo categories are browsed automatically.
Browsing stops at the configured category, project and global caps. The global cap includes results saved earlier in the same resumed run. A spending limit can also stop collection before the requested number of results is reached. If a page repeats while more results are expected, the run summary reports that collection is incomplete. Optional enrichment failures keep the base record and remain eligible for another attempt when the run resumes.
The Actor respects source availability. If Houzz temporarily restricts access, already delivered rows remain in the Dataset and the run is marked partial or stopped rather than completed. Missing public values remain empty; the Actor does not infer them.
Frequently asked questions
Do I need a Houzz account?
No. The Actor only reads public content and does not sign in.
Why do I need a gallery ID instead of a gallery URL?
Houzz gallery URLs do not consistently expose the numeric gallery ID. Paste the ID when you have it; photo, professional, product and discussion fields accept URLs.
Why are some fields empty?
Houzz does not publish every field for every entity. A photo may have no room topic, a product may have no current price, and a professional profile may not expose a public description. Empty values are preserved as null rather than guessed.
Why are there fewer results than requested?
The cap is a maximum, not a guarantee. Categories can contain fewer items, duplicates are removed, and optional targets can fail. Check the run summary for per-target status.
Can I mix target types in one run?
Yes. All supplied targets are processed in a deterministic order and deduplicated across the run.
Responsible use
Use the collected data lawfully and respect Houzz's terms, applicable privacy rules and your own obligations. The Actor returns public content only. Do not use it to contact people who have not invited contact, and do not treat public profile information as consent for unsolicited marketing.
Support
Open an issue in the Actor's Issues tab with your run ID, a reproducible input and the target that failed. Remove any personal or secret values before sharing.