HomeAdvisor Contractors & Reviews Scraper
Pricing
Pay per event
HomeAdvisor Contractors & Reviews Scraper
Extract public HomeAdvisor contractor profiles and reviews by city or URL. Get services, experience, approval status, ratings, review text, recommendations, and project prices. Export two clean datasets or automate via API and schedules.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Extract public HomeAdvisor contractor profiles and customer reviews from city directories or direct profile URLs.
HomeAdvisor Contractors & Reviews Scraper turns public home-service business pages into structured contractor leads, reputation data, service details, rating distributions, review text, recommendations, and shown project prices.
Use one direct profile for a quick lookup, or provide a HomeAdvisor city directory to map contractors in a local market.
- π Find contractor profiles from supported city directories
- β Track ratings, review counts, distributions, and customer feedback
- π§ Capture services, experience, amenities, and payment methods
- π΅ Collect project prices when reviewers publicly show them
- π€ Export contractors and reviews separately as JSON, CSV, Excel, XML, or RSS
- π No HomeAdvisor login or private API key required
What does HomeAdvisor Contractors & Reviews Scraper do?
The Actor accepts public URLs from HomeAdvisor and extracts structured contractor intelligence.
Supported inputs are:
- City directories such as
/c.Denver.CO.html - Contractor profiles such as
/rated.MartinandSons.72192370.html
A directory run discovers public contractor profile links.
A profile run extracts the business record and its publicly displayed reviews.
Contractors go to the default dataset.
Reviews go to a separate named Reviews dataset, so exports stay clean and easy to join with profileId.
The Actor does not submit quote requests, reveal gated phone numbers, or enter account-only flows.
Who is it for?
Lead-generation teams
- Build contractor prospect lists by city or trade
- Enrich CRM records with public service and reputation data
- Segment businesses by rating, experience, or review volume
Local market researchers
- Compare contractor supply across cities
- Map services offered in a home-improvement market
- Identify established and highly reviewed businesses
Reputation and customer-experience teams
- Monitor new public feedback on selected contractors
- Review recommendation language and recurring themes
- Track aggregate ratings and review counts over time
Analysts and pricing researchers
- Collect project-price signals when customers show them
- Compare services with rating outcomes
- Feed review text into sentiment or topic models
Why use this contractor reviews extractor?
- β Two useful datasets: contractor profiles and reviews are not mixed together
- β Stable joins: numeric HomeAdvisor profile IDs connect every review to a contractor
- β Source provenance: every contractor keeps the directory or profile URL that produced it
- β Public-data scope: no account, lead request, or gated phone workflow
- β Fail-closed validation: unsupported domains and paths are rejected before crawling
- β Bounded costs: contractor and per-profile review caps prevent accidental large runs
- β Automation ready: use schedules, API calls, webhooks, Zapier, Make, or MCP
- β Resilient access: conservative US residential browser sessions and blocked-page retries
What HomeAdvisor contractor data can you extract?
Contractor profile fields
| Field | Description |
|---|---|
profileId | Stable numeric ID parsed from the HomeAdvisor profile URL |
name | Public contractor or business name |
profileUrl | Canonical public HomeAdvisor profile URL |
sourceUrl | Directory or profile input that produced the record |
sourceType | directory or profile provenance |
city, state, postalCode | Public business location |
streetAddress | Public street address when shown |
approved | Whether the page displays Approved status |
description | Public About/business description |
services | Offered service or project categories |
yearsOfExperience | Experience stated on the profile |
amenities | Public amenities such as free estimates |
paymentMethods | Accepted payment methods |
rating | Aggregate rating out of five |
reviewCount | Public review count |
ratingDistribution | Percent distribution for one- through five-star ratings |
website | Public external business website when available |
serviceHours | Public service hours when available |
reviewsScraped | Number of review rows saved in this run |
scrapedAt | ISO timestamp for monitoring and audit trails |
Customer review fields
| Field | Description |
|---|---|
profileId | Join key for the contractor dataset |
contractorName | Contractor name at scrape time |
author | Public reviewer display name |
date | Public review date |
rating | Review rating |
service | Reviewed service or project type when shown |
text | Public review text |
recommended | Recommendation flag when explicitly shown |
projectPrice | Publicly shown project price when present |
currency | Currency inferred from the shown price |
scrapedAt | ISO extraction timestamp |
Optional fields are omitted when HomeAdvisor does not show them.
How much does it cost to scrape HomeAdvisor contractors?
This Actor uses pay-per-event pricing.
You pay for the run startup, each contractor profile, and each public review saved.
The current pre-release pricing is:
| Event | Free | Starter | Scale | Business |
|---|---|---|---|---|
| Run startup | $0.010 | $0.010 | $0.010 | $0.010 |
| Contractor profile | $0.10514 | $0.091423 | $0.07131 | $0.054854 |
| Customer review | $0.00345 | $0.00300 | $0.00234 | $0.00180 |
Higher-tier plans receive additional volume discounts.
A direct profile with five reviews costs about $0.1324 on the Free plan before any platform rounding.
A direct profile with 25 reviews costs about $0.2014 on the Free plan.
The final published prices are formula-validated against representative cloud compute and residential proxy bandwidth.
Apify Free plan users receive monthly platform credits that can be used to test a small input.
How to scrape HomeAdvisor contractors and reviews
- Open HomeAdvisor Contractors & Reviews Scraper.
- Add one or more public HomeAdvisor directory or contractor profile URLs.
- Choose the maximum number of contractors.
- Keep Include public reviews enabled when you need review intelligence.
- Set a small review limit for the first run.
- Click Start.
- Export contractor profiles from the default dataset.
- Open the named Reviews dataset for review-level exports.
Start with a direct profile to validate your workflow quickly.
Then add directories or more profiles after checking output and cost.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | HomeAdvisor city directory or contractor profile URLs |
maxContractors | integer | 10 | Global cap for unique contractor records |
includeReviews | boolean | true | Save public reviews to the Reviews dataset |
maxReviewsPerContractor | integer | 25 | Review cap per contractor, from 0 to 200 |
maxRequestRetries | integer | 1 | Fresh-session retries per blocked or incomplete page |
Only www.homeadvisor.com directory and profile paths are supported.
Invalid URLs fail before scraping instead of silently returning unrelated data.
Quick profile lookup
{"startUrls": [{ "url": "https://www.homeadvisor.com/rated.MartinandSons.72192370.html" }],"maxContractors": 1,"includeReviews": true,"maxReviewsPerContractor": 5,"maxRequestRetries": 1}
City contractor discovery
{"startUrls": [{ "url": "https://www.homeadvisor.com/c.Denver.CO.html" }],"maxContractors": 20,"includeReviews": false,"maxReviewsPerContractor": 0,"maxRequestRetries": 1}
Contractor output example
{"profileId": "72192370","name": "Martin and Sons","profileUrl": "https://www.homeadvisor.com/rated.MartinandSons.72192370.html","sourceUrl": "https://www.homeadvisor.com/rated.MartinandSons.72192370.html","sourceType": "profile","city": "Commerce City","state": "CO","approved": true,"yearsOfExperience": 30,"rating": 4.9,"reviewCount": 166,"reviewsScraped": 5,"scrapedAt": "2026-07-16T00:00:00.000Z"}
Actual values reflect the live public page and can change.
The default dataset contains one row per contractor.
Review output example
{"profileId": "72192370","contractorName": "Martin and Sons","profileUrl": "https://www.homeadvisor.com/rated.MartinandSons.72192370.html","author": "Jeff H.","date": "Jun 2026","rating": 5,"service": "Wood or Fiber Cement Siding Repair or Partial Replacement","text": "The communication was excellent and prompt.","projectPrice": 1500,"currency": "USD","scrapedAt": "2026-07-16T00:00:00.000Z"}
The Reviews dataset may contain fewer rows than requested when the profile exposes fewer public reviews.
Tips for reliable HomeAdvisor scraping
- π― Start with one direct profile and five reviews
- π Keep limits low while designing a new downstream workflow
- π Prefer canonical
/rated.*.htmllinks for deterministic lookups - π§ Keep directory inputs separated by market when comparing cities
- π Use schedules for reputation monitoring rather than one oversized run
- π Join contractor and review exports on
profileId - π Allow retries only when needed; retries consume residential bandwidth
- π¦ Store historical snapshots in a named dataset or external warehouse
HomeAdvisor changes page structures and anti-bot controls over time.
The Actor detects challenge pages and fails rather than saving misleading shells.
Integrations and contractor workflows
HomeAdvisor β Google Sheets
Export contractor profiles for sales qualification, territory planning, or local competitor maps.
HomeAdvisor β Slack or Discord
Schedule selected profiles and alert a reputation team when rating or review count changes.
HomeAdvisor β Make or Zapier
Add new contractor records to a CRM, then route high-rated businesses into an outreach sequence.
HomeAdvisor β data warehouse
Load contractor and review datasets into BigQuery, Snowflake, or PostgreSQL for trend analysis.
HomeAdvisor β sentiment model
Send review text to an NLP pipeline to classify service quality, responsiveness, price, and professionalism themes.
Webhooks
Use run-finished webhooks to trigger exports without polling.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/homeadvisor-contractors-reviews-scraper').call({startUrls: [{ url: 'https://www.homeadvisor.com/rated.MartinandSons.72192370.html' }],maxContractors: 1,includeReviews: true,maxReviewsPerContractor: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
The returned defaultDatasetId points to contractor profiles.
Named Reviews dataset metadata is available from the run's storage links in Apify Console.
Using the Apify API with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/homeadvisor-contractors-reviews-scraper').call(run_input={'startUrls': [{'url': 'https://www.homeadvisor.com/rated.MartinandSons.72192370.html'}],'maxContractors': 1,'includeReviews': True,'maxReviewsPerContractor': 5,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Use the same input contract in Python, Node.js, cURL, schedules, tasks, and MCP.
Using the Apify API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~homeadvisor-contractors-reviews-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.homeadvisor.com/rated.MartinandSons.72192370.html"}],"maxContractors": 1,"includeReviews": true,"maxReviewsPerContractor": 5}'
Do not embed permanent Apify tokens in client-side code or public repositories.
Use HomeAdvisor data with AI agents via MCP
Connect the Actor to Claude Code, Claude Desktop, Cursor, or VS Code through Apify's hosted Model Context Protocol.
Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/homeadvisor-contractors-reviews-scraper"
Claude Desktop, Cursor, or VS Code
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/homeadvisor-contractors-reviews-scraper"}}}
Authenticate with your Apify account when prompted.
Example prompts:
- βUse
automation-lab/homeadvisor-contractors-reviews-scraperto extract this contractor profile and summarize recurring customer feedback.β - βCollect five public reviews from these HomeAdvisor profiles and compare service ratings.β
- βBuild a Denver contractor market table with business names, services, ratings, and review counts.β
Legality of scraping HomeAdvisor
Web scraping public information is generally legal in many jurisdictions, but rules depend on the data, purpose, location, and applicable agreements.
Use this Actor only for lawful purposes.
Collect only public data you are authorized to process.
Respect HomeAdvisor's terms, applicable privacy laws, intellectual-property rights, and reasonable request volumes.
Do not use extracted data for harassment, discrimination, deceptive outreach, or unsolicited communications that violate law.
This Actor intentionally excludes private accounts, quote submission, lead requests, and gated phone revelation.
You are responsible for your use of the output.
Limitations
- HomeAdvisor applies Cloudflare and other anti-bot protections
- Public city directories can change which profile links they expose
- Optional profile fields may be absent
- A profile page may expose fewer reviews than the requested cap
- The Actor does not promise every historical review
- Review dates can use human-readable month/year formatting
- Project prices are returned only when publicly shown in review content
- No login, phone reveal, quote request, or lead submission is performed
- Pages are processed sequentially to favor reliability over speed
Use a direct profile when directory discovery is unavailable.
FAQ
How fast is the HomeAdvisor scraper?
A direct profile usually takes under a minute, but anti-bot retries and page size can increase runtime. Directory runs take longer because each discovered profile requires a separate browser navigation.
Why are some contractor fields missing?
HomeAdvisor does not show every field on every profile. The Actor omits unavailable optional values instead of inventing data.
Why did a run fail with no contractor output?
The page may have been blocked, the directory may no longer expose profiles, or the input path may be unsupported. Check logs, retry once, or use a canonical direct /rated.*.html profile URL.
Why are there fewer reviews than maxReviewsPerContractor?
The setting is a cap, not a promise. A page can expose fewer public records than requested, and this version does not claim full historical pagination.
Does this reveal contractor phone numbers?
No. Gated phone revelation and lead-generation interactions are intentionally excluded.
Can I scrape profiles without reviews?
Yes. Set includeReviews to false and maxReviewsPerContractor to 0 for a lower-cost profile-only workflow.
Is this an official HomeAdvisor API?
No. It is an independent public-web extraction Actor. It is not affiliated with or endorsed by HomeAdvisor or Angi.
Can I schedule reputation monitoring?
Yes. Create an Apify task with selected profile URLs, schedule it, and compare records by profileId and scrapedAt.
Other contractor and local-business scrapers
Combine this Actor with Automation Lab tools for enrichment and verification:
- Contractor License Verification Scraper
- CSLB California Contractor License Scraper
- Washington Contractor License Lookup Scraper
- Oregon Contractor License Lookup Scraper
- Google Maps Scraper
- Yelp Scraper
Use license tools for compliance checks and this HomeAdvisor scraper for public marketplace reputation and service intelligence.
Support
Open an issue from the Actor's Apify Store page with:
- The affected public HomeAdvisor URL
- A run ID
- The expected record or field
- Whether the failure was repeatable
Do not include private credentials, personal account cookies, or gated lead information.
Start with HomeAdvisor Contractors & Reviews Scraper and a single profile URL to validate your workflow.