Angi (Angie's List) Pro Directory Scraper
Pricing
Pay per event
Angi (Angie's List) Pro Directory Scraper
Scrape the Angi pro directory for service-pros by ZIP and category. Returns business name, service categories, service-area ZIPs, rating, review count, certified flag, Super Service Award, address, phone, and website. For home-services SaaS, contractor CRMs, and competitive intel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape the Angi pro directory for home-service professionals by ZIP code and service category. Returns business name, service categories, description, rating, review count, founding year and Super Service Award status for every pro, plus a street address for most listings and a phone number for Angi-advertiser pros.
What it does
- Catalog mode — walks Angi's
pro_profileleaf sitemaps (~1.38 million profiles across 69 shards) and scrapes profiles matching optional ZIP and category filters. - Pro detail mode — scrapes a list of specific Angi pro URLs you supply directly.
Fields come back clean and consistently typed, with fallbacks that survive Angi's redesigns.
Use cases
- Home-services SaaS and contractor CRM enrichment
- Lead generation for HVAC, plumbing, electrical, roofing, and other trades
- Competitive intelligence on local service providers
- Rating and review monitoring across markets
Input
| Field | Type | Description |
|---|---|---|
mode | string | catalog (default) or pro_detail |
maxItems | integer | Maximum number of pros to return (0 = unlimited) |
zipCodes | array | Filter pros by service area ZIP codes (catalog mode) |
category | string | Filter by service category slug (catalog mode, e.g. plumbing) |
certifiedOnly | boolean | Not currently supported — Angi no longer publishes certification status on pro profile pages, and setting this to true fails the run rather than silently returning nothing |
proUrls | array | Specific Angi pro URLs to scrape (pro_detail mode) |
Output
Each record contains:
| Field | Description |
|---|---|
pro_id | Angi provider ID |
business_name | Company name |
angi_url | Angi profile URL |
service_categories | Comma-separated service categories |
description | Business description |
phone | Contact phone number — published for Angi-advertiser pros; null for standard listings |
address | Street address — published for most (not all) listings |
city | City |
state | State (2-letter code) |
zip | ZIP code |
service_area_zips | Comma-separated service area ZIP codes — not currently published by Angi |
rating | Average rating (0-5) |
reviews_count | Number of reviews |
certified | Angi-certified status — not currently published by Angi |
founded_year | Year business was founded |
employees_range | Employee count range — not currently published by Angi |
super_service_award | Super Service Award recipient |
awards | Other awards |
hours | Business hours — not currently published by Angi |
email | Contact email — not currently published by Angi |
website | Business website — not currently published by Angi |
Notes
- Angi profile pages are Cloudflare-protected. This actor gets through the WAF automatically.
- For large catalog runs, set
maxItemsto control scope. Each shard covers approximately 10,000 profiles. - Phone numbers and street addresses come from what Angi itself publishes for each listing — some fields are only available for advertiser-tier pros, and a handful of businesses simply haven't provided every detail to Angi.