Angi (Angie's List) Contractor & Reviews Scraper
Pricing
Pay per event
Angi (Angie's List) Contractor & Reviews Scraper
Extract verified home service contractor profiles, ratings, reviews, services, addresses, and business hours from Angi (Angie's List). Used by contractors, insurance, and lead-gen teams.
Pricing
Pay per event
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

๐ ๏ธ Angi (Angie's List) Contractor Scraper
๐ Pull verified home service contractors in seconds. Filter by city and service. No API key, no membership card, no manual copy-paste from profile after profile.
๐ Last updated: 2026-05-08 ยท ๐ 18 fields per record ยท 49 service categories ยท All 50 US states ยท Profiles, ratings, services, hours
Angi (formerly Angie's List) is one of the largest home services directories in the United States, with millions of contractor profiles, customer reviews, and Super Service Award winners across plumbing, electrical, roofing, HVAC, remodeling, and dozens of other trades. This Actor turns any public Angi listing or profile URL into a clean, structured dataset of verified pros, ready for spreadsheets, CRMs, and lead-gen pipelines, without you ever touching a browser.
The scraper takes one or more Angi search URLs (city + service or state + service or category-only "near me" pages), walks each listing, and visits every contractor profile to enrich the record with the about-us copy, address, website, business hours, services offered, and the freshest review excerpts. Output is a flat JSON / CSV / Excel dataset with 18 fields per contractor, including business name, Angi rating, review count, service categories, badges, and review highlights. Data quality is the priority: fields that Angi does not surface publicly (such as direct phone numbers gated behind contact forms) are not included, so you never end up with rows full of nulls.
| ๐ฏ Target audience | ๐ง Primary use cases |
|---|---|
| Home service marketers and lead-gen agencies | Build a contractor lead list filtered by city and trade |
| Insurance adjusters and underwriters | Pre-qualify pros for claims partner programs |
| Real estate teams and property managers | Sourcing reliable maintenance and remodel contractors |
| Researchers and journalists | Local-market analysis on home service supply and quality |
| Franchise developers | Map local-market saturation by service category |
| Reputation analysts | Track ratings, reviews, and Super Service Award trends |
๐ What the Angi Scraper does
- ๐๏ธ Search by category and location. Drop in any Angi listing URL: a city + service page, a state-wide page, or a
/nearme/{service}/page. - ๐ Aggregates every visible profile. The scraper walks the listing, deduplicates by profile URL, and follows pagination when present.
- ๐งพ Enriches each record from the profile page. Angi's profile schema-org JSON, contact panel, services pills, and review highlights are all extracted in one pass.
- ๐ก๏ธ Cloudflare and DataDome handled. Camoufox over a residential US proxy clears the bot challenges that block plain HTTP scrapers.
- ๐งน No always-null columns. Fields that Angi gates (such as the public phone number, which sits behind their contact form) are omitted, so you can ship the dataset straight to Excel or your CRM.
Each record contains identity (business name, profile URL, businessId, logo image), trust signals (Angi rating, review count, badges, review highlights), location (street, city, state, ZIP), reach (services offered, website, business hours), and the about-us description the contractor wrote on Angi.
๐ก Why it matters: Angi reviews are widely seen as higher signal than generic Yelp or Google posts because Angi gates them through paid membership history. Pair an Angi-derived list with skip-trace or licensing data and you get a verified, ranked contractor universe in minutes.
๐ฌ Full Demo
๐ง Coming soon: a 3-minute walkthrough showing how to point the scraper at an Angi search URL, pull a city's plumber roster, and export the results to Google Sheets.
โ๏ธ Input
| Field | Type | Required | Description |
|---|---|---|---|
searchUrls | array<string> | No | One or more Angi listing URLs. Use a city + service URL (/companylist/us/ca/los-angeles/...), a state-level service URL (/companylist/us/ca/plumbing.htm), or a national category page (/nearme/plumbers/). When omitted the scraper runs against three default urban service pages. |
maxItems | integer | No | Hard cap on the number of contractor records returned. Free plan is auto-limited to 10 for previewing. Paid plan supports up to 1,000,000. |
fetchProfileDetails | boolean | No | When true (default) the scraper visits each contractor profile to add description, address, services, badges, business hours, and review highlights. Disable to run a faster listing-only pass. |
proxyConfiguration | object | No | Apify proxy configuration. Residential US is recommended and used by default. Datacenter proxies are blocked by Angi's bot protection. |
Example: city + service search.
{"searchUrls": ["https://www.angi.com/nearme/plumbers/","https://www.angi.com/nearme/electrician/"],"maxItems": 50,"fetchProfileDetails": true}
Example: state-wide audit, listing-only for speed.
{"searchUrls": ["https://www.angi.com/companylist/us/ca/plumbing.htm","https://www.angi.com/companylist/us/tx/plumbing.htm"],"maxItems": 500,"fetchProfileDetails": false}
โ ๏ธ Good to Know: Angi gates direct phone numbers behind a contact form, so the scraper does not return them. Website, address, ZIP, and Angi rating are public and are returned in full.
๐ Output
Each row in the dataset is one contractor profile. Output formats: JSON, CSV, Excel, RSS, and HTML.
๐งพ Schema
| Field | Type | Example |
|---|---|---|
๐ผ๏ธ imageUrl | string | https://cdn.homeadvisor.com/files/eid/12700000/12703198/12993646_logo.png |
๐ข name | string | Bath Planet of Rochester |
๐ profileUrl | string | https://www.angi.com/companylist/us/ny/henrietta/bath-planet-of-rochester-reviews-1.htm |
๐ businessId | string | 7491831 |
โญ rating | number | 4.8 |
๐ฌ reviewCount | integer | 99 |
๐ ๏ธ services | array | ["Bathroom Remodel","Walk In Tub Installation and Replacement"] |
๐ address | string | 535 Summit Point Drive, Suite 4 |
๐๏ธ city | string | Henrietta |
๐บ๐ธ state | string | NY |
๐ฎ zip | string | 14467 |
๐ website | string | http://www.bathplanetlocal.com |
๐ description | string | You deserve a bathroom that is more than just your everyday shower or tub... |
๐
badges | array | ["21 years of experience","Free Estimates","Warranties"] |
โฐ businessHours | string | Sunday:Closed; Monday:9:00 AM - 5:00 PM; ... |
๐ญ reviewHighlights | array | Three short customer review excerpts. |
๐ sourceUrl | string | https://www.angi.com/nearme/plumbers/ |
๐ scrapedAt | string (ISO) | 2026-05-08T00:29:29.609Z |
๐ฆ Sample records
โจ Why choose this Actor
| Capability | |
|---|---|
| ๐ฏ | Listing + profile in one pass. Aggregates the listing card AND the deeper profile page into a single tidy row, so you do not need to chain two scrapers. |
| ๐ก๏ธ | Cloudflare and DataDome cleared. Camoufox + residential US proxy handles Angi's bot protection out of the box. |
| ๐ฆ | Real, audited fields. Phone is gated by Angi behind a contact form, so the scraper omits it instead of shipping a column full of nulls. |
| ๐ง | Schema-org friendly. Pulls structured LocalBusiness JSON-LD when available for the cleanest possible city, state, and ZIP. |
| ๐งญ | Flexible URL inputs. City + service, state + service, or /nearme/{category}/ pages all work. |
| ๐ฆ | Pagination aware. Walks the next-page link until the cap is reached. |
| ๐ฐ | Pay only for what you need. Free preview at 10 records, paid up to 1,000,000 per run. |
๐ 49 home service categories supported, all 50 US states, and over 3 million public Angi profiles eligible for scraping.
๐ How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| โญ Angi (Angie's List) Contractor Scraper (this Actor) | Pay per run | All US states, 49 categories | Live, on demand | URL based, any city/state/category | 1 click in Apify Console |
| Manual copy-paste from angi.com | Free, slow | Whatever you visit | Manual | Whatever the UI exposes | Hours per project |
| Generic browser scraper templates | Cheap | Anything you configure | DIY | DIY | Days of work, breaks on Cloudflare |
| Paid lead-gen vendor lists | Expensive recurring fee | Vendor-curated subset | Vendor cadence | Vendor-defined | Slow procurement cycle |
| Internal scraping team | High fixed cost | Team-defined | Team-defined | Team-defined | Months to first useful output |
This Actor sits in the sweet spot: cheap, fast to start, you control the URLs, and the bot-protection stack is already solved.
๐ How to use
- ๐ Sign up. Create an Apify account at console.apify.com and open this Actor.
- ๐ Pick your search URLs. Visit angi.com, browse to a city + service or
/nearme/{category}/page, and copy the URL. Paste one or more intosearchUrls. - ๐ข Set
maxItems. Start with 10 to preview. Bump to 100 or 1,000+ once happy. - โถ๏ธ Run. The Actor handles Cloudflare, residential proxy, and pagination automatically.
- ๐ฅ Download. Export the dataset as JSON, CSV, or Excel, or pull it through the Apify API.
โฑ๏ธ Total time: under 2 minutes from sign-up to first export for a 10-record preview.
๐ผ Business use cases
๐ Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
๐ Automating Angi Contractor Scraper
You can call this Actor from any system that speaks HTTP, including your own backend, a notebook, or a workflow tool.
- Node.js / TypeScript using the official Apify client
- Python using the official Apify client
- Apify API reference for direct REST calls
Schedules: configure a recurring run (daily, weekly, on a cron expression) so your contractor list always reflects the latest Angi state, no babysitting required.
โ Frequently Asked Questions
๐ Integrate with any app
Wire the dataset into the rest of your stack with no glue code.
- Zapier - kick off a run when a Google Form is submitted
- Make - move records into Airtable or HubSpot on a schedule
- Slack - drop the run summary into a channel when it finishes
- Google Drive - auto-export the CSV to a shared folder
- Webhooks - call your own backend when a run finishes
- Apify API - native REST integration with everything you build
๐ Recommended Actors
- ๐๏ธ California State Licensed Contractor CSLB Scraper - cross-check Angi pros against California's official contractor license database.
- ๐ ๏ธ Texas State Licensed Contractor Scraper - the same official-license cross-check for Texas-based pros.
- ๐ Manta Business Directory Scraper - widen lead-gen lists with another national small-business directory.
- ๐ฉบ RateMDs Physician Review Scraper - the same review-and-rating workflow, applied to healthcare providers.
- ๐งฎ NASBA CPA Directory Scraper - certified-professional directory data for finance and accounting workflows.
๐ก Pro Tip: browse the complete ParseForge collection for more home-services, licensing, and business-directory scrapers.
๐ Need Help? Open our contact form and we will get back within one business day.
โ ๏ธ Disclaimer: This Actor scrapes only public data from Angi. It is not affiliated with, endorsed by, or sponsored by Angi Inc. or its parent or subsidiaries. Use the data in compliance with Angi's terms of service and any applicable data-protection laws in your jurisdiction.