Angi Scraper - Home Service Pro Leads, Reviews & Contacts
Pricing
from $8.00 / 1,000 pro lead scrapeds
Angi Scraper - Home Service Pro Leads, Reviews & Contacts
Scrape Angi (Angie's List) home-service pros by category & city: business name, phone, address, rating, reviews, paid-pro / Super Service Award badges, services, payment methods + lead score & monitoring. No login, no browser.
Pricing
from $8.00 / 1,000 pro lead scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Angi Scraper — Home Service Pro Leads, Reviews & Contacts
Extract complete home-service-pro data from Angi (formerly Angie's List / HomeAdvisor) by service category and city — business name, phone number, full address, star rating, review count, paid-pro / Super Service Award / verified badges, services offered, payment methods, business facts and every customer review. Each pro comes with a 0–100 lead score so your best prospects float to the top.
No login, no API key, no browser — fast, reliable extraction of the richest Angi dataset on the market, built for B2B lead generation across plumbers, electricians, HVAC, roofers, landscapers, cleaners, painters, remodelers and 60+ more trades.
Why this Angi scraper?
Most "Angi scrapers" grab a name and a rating and stop there. This actor reads Angi's category-listing and profile pages directly, merges the public JSON-LD with the page's embedded data, and ships the fields that actually generate revenue — starting with the phone number and the buying-intent badges (active advertiser / paid pro).
| Data | Generic scrapers | This actor |
|---|---|---|
| Business name, category, city/state | ✅ | ✅ |
| Phone number | ❌ | ✅ when listed |
| Full street address + ZIP | partial | ✅ when listed |
| Overall rating + review count | partial | ✅ authoritative |
| Super Service Award winner | ❌ | ✅ |
| Paid pro / active advertiser (buying-intent) | ❌ | ✅ |
| Verified-business badge | ❌ | ✅ |
| Services offered | ❌ | ✅ when listed |
| Payment methods | ❌ | ✅ |
| Business facts (emergency service, free estimates, warranties) | ❌ | ✅ |
| Years in business | ❌ | ✅ when listed |
| Full customer reviews (rating, text, author, date) | partial | ✅ |
| 0–100 lead score | ❌ | ✅ |
| Monitoring (only-new pros) | ❌ | ✅ |
| One clean dataset per entity (no empty columns) | ❌ | ✅ |
Use cases
- Lead generation for B2B sellers — home-service pros buy software, insurance, financing, marketing, fleet, uniforms, equipment and SaaS. Export them with phone, address, rating and lead score and feed your CRM or outreach sequence. Paid-pro / advertiser flags surface the businesses already spending on growth.
- Franchise & acquisition prospecting — find high-rated, established pros (Super Service Award, 10+ years, 100+ reviews) by trade and metro for roll-ups, partnerships and franchising.
- Competitive & market research — map who serves a city in any trade, at what rating, with what services and how many reviews.
- Reputation & review mining — pull every customer review for sentiment analysis, testimonials, or competitor monitoring.
- Local SEO & directory building — build category × city business directories with names, ratings and review counts.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Angi Scraper, set the categories (e.g.
plumbing,roofing,hvac) and locations (Austin, TX,Denver, CO), and a max pros cap. - Click Start and watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"categories": ["plumbing", "hvac"],"locations": ["Austin, TX", "Denver, CO"],"maxResults": 100,"includeProfileDetails": true,"includeReviews": false,"withPhoneOnly": false,"monitorMode": false}
- categories — home-service categories (friendly names or Angi slugs):
plumbing,electrical,hvac,roofing,landscaping,house cleaning,pest control,painting,flooring,handyman,garage doors,tree service,windows,fencing,appliance repair,foundation repair,remodeling, and 60+ more. - locations — US cities as
City, ST(a state is required — Angi lists pros by city). - startUrls (optional) — paste Angi category-listing URLs (
…/companylist/us/tx/austin/plumbing.htm) or individual profile URLs (…-reviews-158736564.htm) to scrape directly. - maxResults (default 100) — cap on pro records emitted (reviews don't count toward it).
- maxPagesPerListing (default 3) — how many result pages to page through per category+city (duplicates removed automatically).
- includeProfileDetails (default true) — open each pro's profile for the phone number, badges, services, payment methods and business facts. Turn off for a faster name + city + review-snippet scan.
- includeReviews (default false) — also emit each pro's reviews as separate rows.
- minRating / minReviews / withPhoneOnly / paidProOnly / superServiceAwardOnly — quality filters.
- monitorMode (default false) — remember pros from previous runs and emit only new ones (see below).
- maxConcurrency (default 8) and proxyConfiguration — performance & proxy (US residential by default).
Output
By default you get one dense table of pros. A pro record (type: "pro"):
{"type": "pro","businessName": "We Plumb","category": "plumbing","phone": "(737) 297-5863","street": null,"city": "Austin","state": "TX","zipCode": "78702","areaServed": "Austin, TX","rating": 5,"reviewCount": 8,"isPaidPro": true,"isAdvertiser": true,"isSuperServiceAward": false,"isVerified": true,"isCorporateAccount": false,"profileType": "PAID_PROFILE","yearsInBusiness": null,"services": ["Drain Cleaning", "Water Heater Installation"],"paymentMethods": ["Credit Card"],"businessFacts": { "Emergency Services": "Yes", "Free Estimates": "Yes", "Warranties": "Yes" },"description": "We Plumb provides a wide variety of plumbing services…","logoUrl": "https://cdn.homeadvisor.com/…/original.jpg","angiProviderId": "158736564","profileUrl": "https://www.angi.com/companylist/us/tx/austin/we-plumb-reviews-10565886.htm","leadScore": 51,"scrapedAt": "2026-06-23T12:00:00.000Z"}
A review record (type: "review") carries businessName, rating, text, author, datePublished and profileUrl. Use the Pros, Leads and Reviews dataset views to switch between them.
What to expect (field coverage)
Angi mixes pro-entered and platform data, so some fields are present only when the pro filled them in. Verified across multiple metros and trades:
| Field | Coverage |
|---|---|
| Business name, category, city/state, rating, review count, profile URL, badges | ✅ ~100% |
| Phone number | ✅ on paid/advertiser pros; absent on some free profiles |
| Business facts (emergency / free estimates / warranties), payment methods | ✅ usually present |
| Full street address + ZIP | ✅ when the pro lists a physical address (many are service-area only → city/ZIP) |
| Services offered, years in business, description | ✅ when the pro published them |
| Customer reviews | ✅ the reviews shown on the public profile |
A blank field means Angi didn't publish it for that pro — not that scraping failed. Nothing is dropped, so you always get the richest dataset available.
Monitoring — only get new pros
Turn on monitorMode and the actor remembers every pro it has emitted (in a named key-value store) and returns only new pros on each subsequent run. Pair it with a Schedule to track a metro/trade as new pros join Angi — perfect for a steady drip of fresh leads. Monitor mode is fully orthogonal to Apify Schedules: the schedule decides when a run starts; monitor mode decides which records are new, so the two compose cleanly without conflict.
Automate & schedule
- Apify API — start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and Python — official SDKs.
- Schedules — run it daily/weekly with monitor mode to capture newly listed pros.
- Webhooks — trigger CRM import, Slack alert or an email sequence the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/angi-leads-scraper').call({categories: ['plumbing', 'hvac'],locations: ['Austin, TX'],maxResults: 100,includeProfileDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} Angi pros`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new pro leads straight into your CRM.
- Slack — get notified when a monitored city/trade adds pros.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find the top-rated plumbers in Austin with a phone number and a Super Service Award" and let it run the scraper for you.
More scrapers from scrapesage
Build a complete home-services & local lead-gen stack:
- Thumbtack Scraper — home-service pros, reviews, hire counts & leads from Thumbtack.
- BuildZoom Scraper — contractors with license, permit history & project data.
- Houzz Scraper — remodeling & design pros with phone, website & socials.
- Hipages Scraper — Australian tradies & home-service leads.
- Bark Listing Scraper — service-provider leads from Bark.
- Expertise.com Scraper — vetted "best of" local pros by city & category.
- Three Best Rated Scraper — top-3 hand-picked local businesses.
- US Contractor License Scraper — state contractor-license rolls (CA/WA/OR).
- Google Maps Scraper — local business leads, emails & reviews.
- Website Contact Scraper — emails, phones & socials from any business website.
Tips
- Keep
includeProfileDetailson — it's the difference between a name and a contactable lead (phone, badges, services). It adds one fast page per pro. - Stack categories × cities for breadth — Angi pins the same sponsored pros at the top of every page, so running more trades and metros yields far more unique pros than paging alone (the actor already pages and dedupes for you).
- Use
paidProOnly/superServiceAwardOnlyto target the highest-intent or highest-quality pros only. - Recurring leads: combine a Schedule with monitorMode to receive only newly listed pros each run.
- Proxy: Angi serves clean pages only to US residential IPs — the default proxy is already set correctly; keep it.
FAQ
Which trades can I scrape? 60+ categories including plumbing, electrical, HVAC, roofing, siding, landscaping, lawn care, tree service, house cleaning, carpet/window cleaning, pressure washing, pest control, painting, flooring, handyman, garage doors, windows, doors, fencing, drywall, insulation, concrete, foundation repair, appliance repair, moving, remodeling, home builders, septic and more. Pass a friendly name or an Angi slug.
Does it return phone numbers? Yes — when a pro lists one. Angi exposes the phone on active advertiser / paid-pro profiles, which the actor extracts. Use withPhoneOnly to keep only pros with a phone.
Does it need the Angi API or a key? No. There's no public Angi API; this actor reads the same data the website serves to visitors — no key or login needed.
How do I monitor a city for new pros? Turn on monitorMode and create a Schedule. Each run emits only pros not seen before; add a webhook or Zapier zap to push them into your CRM automatically.
A field is empty — why? Some pros are service-area businesses (no street address), some leave services or years-in-business blank, and free profiles may not list a phone. Fields are blank only when Angi didn't publish that data — never because the scraper skipped it.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
Is scraping Angi legal? This actor collects publicly available data only. You're responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and Angi's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.