Houzz Professional Scraper avatar

Houzz Professional Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Houzz Professional Scraper

Houzz Professional Scraper

Extract Houzz professional and service provider data at scale. Scrape profiles, business names, locations, ratings, reviews, services, categories, contact details, websites, and more. Ideal for lead generation, market research, contractor discovery, and business intelligence.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(5)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

65

Total users

10

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

What does Houzz Professional Scraper do?

Houzz Professional Scraper collects contractor, designer, and trade listings from the Houzz professional directory. Search by trade and an optional city, or paste directory URLs, and the Actor returns structured records with names, phone numbers, addresses, ratings, review counts, profile links, and service details. The result is a dataset you can filter, export, or send to a CRM without copying profiles by hand.

Why use Houzz Professional Scraper?

  • Build local prospect lists for remodeling, design, and trade services.
  • Compare professional density and review activity across cities.
  • Enrich an existing vendor or partner list with Houzz profile data.
  • Keep a repeatable data feed for market research instead of manual collection.
  • Run on demand or on a schedule and download the dataset in several formats.

What data can you extract from Houzz?

FieldDescription
nameBusiness or professional display name
professional_typeHouzz trade label, such as Woodworkers & Carpenters
profile_urlPublic Houzz profile link
phonePhone number shown on the listing
formatted_addressFull address as a single line
city, state, zip, countryAddress parts
latitude, longitudeMap coordinates
ratingAverage review score on a 0 to 5 scale
review_countNumber of published reviews
about_meProfile introduction text
social_linksSocial and website links listed on the profile
budget_levelsBudget ranges the professional reports
image_urlProfile image link
total_resultsTotal listings Houzz reports for the search

The dataset also carries verification flags, financing flags, badge identifiers, the most recent review text, and pagination metadata. Fields with no value on the source page are left out of the record.

How to use Houzz Professional Scraper

  1. Open the Actor in Apify Console.
  2. Enter a profession, such as carpenter or interior-designer.
  3. Optionally add a city, such as Boston or Austin, TX.
  4. Set the maximum number of professionals and pages.
  5. Start the run and open the dataset when it finishes.
  6. Download the results or connect the dataset to your workflow.

If you already have a Houzz directory URL, place it in startUrls and leave the profession and location fields empty. Start URLs take precedence over the search fields.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsArrayNo-Houzz professional directory URLs. When set, the profession and location fields are ignored.
professionStringNocarpenterTrade to search. Common forms such as architect, interior designers, or general contractor are resolved to the matching Houzz category.
locationStringNo-City or city and state. Leave empty to search all locations.
results_wantedIntegerNo20Maximum number of professionals to save.
max_pagesIntegerNo10Maximum result pages to read for each search. Each page holds up to 15 listings.
proxyConfigurationObjectNoDisabledApify Proxy or custom proxy settings. Residential proxies help on larger runs.

Output Data

FieldTypeDescription
search_urlStringDirectory URL used for the search
page_urlStringResult page where the record was found
page_numberNumberPage position in the run
page_offsetNumberListing offset for that page
professional_idNumberHouzz professional identifier
user_idNumberHouzz user identifier
pro_idNumberHouzz pro account identifier
user_nameStringHouzz username
nameStringBusiness display name
professional_typeStringTrade label
pro_type_idNumberNumeric trade identifier
pro_sku_idNumberPlan or SKU identifier when present
profile_urlStringProfile link
image_urlStringProfile image link
phoneStringPhone number
emailsArrayEmail addresses found in the profile text
addressStringStreet address
formatted_addressStringFull address on one line
cityStringCity
stateStringState or region
zipStringPostal code
countryStringCountry code
locationStringLocation label
latitudeNumberLatitude
longitudeNumberLongitude
ratingNumberAverage rating from 0 to 5
review_countNumberReview total
is_pro_verifiedBooleanVerified profile flag
is_pro_verification_enabledBooleanVerification feature flag
has_verified_licenseBooleanVerified license flag
has_verified_kycBooleanVerified identity flag
is_video_consultation_enabledBooleanVideo consultation flag
is_sponsored_resultBooleanSponsored placement flag
is_inactive_proBooleanInactive profile flag
offers_figure_financingBooleanFinancing flag
offers_greensky_financingBooleanFinancing flag
show_highlight_videoBooleanHighlight video flag
budget_levelsArrayReported budget ranges
badge_option_idsArrayBadge identifiers
highlight_badge_idsArrayHighlighted badge identifiers
social_linksArraySocial and website links
about_meStringProfile introduction
ai_descriptionStringAdditional profile description
most_recent_review_textStringLatest review body
most_recent_reviewerStringLatest reviewer name
featured_review_textStringFeatured review body
search_keywordStringSearch keyword reported by Houzz
primary_topic_idNumberCategory identifier for the search
sort_valueNumberSort mode used by Houzz
total_resultsNumberTotal listings for the search
has_more_resultsBooleanWhether another page exists
scraped_atStringISO timestamp for the record

Usage Examples

Search by profession and location

Collect carpenters in Boston. The Actor resolves the city before reading the first page.

{
"profession": "carpenter",
"location": "Boston",
"results_wanted": 20,
"max_pages": 3
}

Search a whole country

Leave location empty to read the national directory for a trade.

{
"profession": "architect",
"results_wanted": 60,
"max_pages": 5
}

Start from directory URLs

Use one or more Houzz directory URLs. The profession and location fields are ignored in this mode.

{
"startUrls": [
{
"url": "https://www.houzz.com/professionals/interior-designer/probr0-bo~t_11785"
},
{
"url": "https://www.houzz.com/professionals/general-contractor/probr0-bo~t_11786"
}
],
"results_wanted": 100,
"max_pages": 4
}

Larger run with a proxy

Residential proxies reduce the chance of rate limiting on long runs.

{
"profession": "interior designers",
"location": "Austin, TX",
"results_wanted": 200,
"max_pages": 15,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"search_url": "https://www.houzz.com/professionals/carpenter/boston-ma-us-probr0-bo~t_11831~r_4930956",
"page_url": "https://www.houzz.com/professionals/carpenter/boston-ma-us-probr0-bo~t_11831~r_4930956",
"page_number": 1,
"page_offset": 0,
"professional_id": 99444,
"user_id": 2651177,
"pro_id": 99444,
"user_name": "mantel123",
"name": "Broughton Woodworks",
"professional_type": "Woodworkers & Carpenters",
"pro_type_id": 52,
"pro_sku_id": 1,
"profile_url": "https://www.houzz.com/professionals/woodworkers-and-carpenters/broughton-woodworks-pfvwus-pf~1828976381",
"image_url": "https://st.hzcdn.com/simgs/bc43578803f6653a_0-2801/_.jpg",
"phone": "(978) 273-8020",
"address": "28 Townsend Road",
"formatted_address": "28 Townsend Road, Groton, MA 01450",
"city": "Groton",
"state": "MA",
"zip": "01450",
"country": "US",
"location": "Groton, MA",
"latitude": 42.6124,
"longitude": -71.5584,
"rating": 5,
"review_count": 33,
"is_pro_verified": false,
"has_verified_license": false,
"is_video_consultation_enabled": false,
"is_sponsored_result": false,
"offers_figure_financing": false,
"offers_greensky_financing": false,
"budget_levels": ["1v3", "1v4"],
"badge_option_ids": [4000, 4001],
"social_links": ["https://www.facebook.com/profile.php?id=100069135374998"],
"primary_topic_id": 11831,
"sort_value": 4,
"total_results": 828,
"has_more_results": true,
"scraped_at": "2026-10-31T10:52:26.623Z"
}

Tips for Best Results

  • Start with results_wanted at 20 to check the dataset before a long run.
  • Use a city and state when the city name is common, such as Portland, OR.
  • Leave location empty when you want national coverage for a trade.
  • Set max_pages close to the pages you need. Each page holds up to 15 listings.
  • Use startUrls when you already know the exact directory page you want.
  • Turn on residential proxies for runs above a few hundred records.
  • Records can be shorter than the table because Houzz does not publish every field for every profile.

Integrations

  • Google Sheets - Send dataset rows to a spreadsheet for review.
  • Webhooks - Send each finished run to your own endpoint.
  • Make or Zapier - Add the dataset to a no-code workflow.
  • API - Read datasets from your own systems with the Apify API.
  • CRM import - Map name, phone, city, and profile_url to your contact records.

Export Formats

  • JSON - API and developer workflows.
  • CSV - Spreadsheet and analytics work.
  • Excel - Reporting and sharing.
  • XML - Legacy systems.

Frequently Asked Questions

Does the Actor return email addresses?

Only when an email appears in the profile text the Actor reads. Houzz does not publish a dedicated email field on directory listings, so most records have no email value.

Why do some records have fewer fields?

Houzz leaves fields empty for many profiles. The Actor drops empty values, so a sparse profile produces a shorter record instead of a record full of nulls.

Why did the run stop before reaching results_wanted?

Three causes are common. The directory ran out of pages, max_pages was reached, or Houzz returned the same listings again. The run log records the stop reason.

Can I use a Houzz URL instead of the profession fields?

Yes. Put the directory URL in startUrls. The Actor uses the URL you provide and ignores profession and location.

Does the Actor follow pagination?

Yes. It reads the next page offset that Houzz reports and continues until your result or page limit is reached.

Can I run this Actor on a schedule?

Yes. Create a schedule in Apify Console and choose how often the run should repeat. The same input is reused for each run.

What happens if Houzz throttles a request?

The Actor waits, retries with a backoff, and switches its request profile. If throttling continues, that search stops and the log records the failure. The run fails when every search fails.

How current is the data?

Every record is collected during the run. scraped_at stores the collection time for that record.

Support

Report issues or request a field through the Issues tab on the Actor page. Include the input you used and the stop reason from the run log so the problem can be reproduced.

This Actor collects publicly available professional directory data from Houzz. You are responsible for how you use the data and for complying with applicable laws, Houzz terms of service, and privacy rules in your jurisdiction.