Angi Scraper | Angie's List HVAC Near Me avatar

Angi Scraper | Angie's List HVAC Near Me

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Angi Scraper | Angie's List HVAC Near Me

Angi Scraper | Angie's List HVAC Near Me

Scrape Angi.com (formerly Angie's List) HVAC, plumbers, roofers and home-service contractors by ZIP. Export names, nearme street addresses, ratings, and Angi Inc contact phones. HomeStars Canada public phones when listed. Guest pages only — US merchant phones are gated. CSV, Excel, or JSON.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Angi.com (formerly Angie's List) for US home-service contractors — HVAC, plumbers, roofers, electricians, and 40+ nearme trades — by ZIP code and category. Export company names, JSON-LD street addresses, ratings, Angi Inc contact phones, and HomeStars Canada public phones when listed. Download CSV, Excel, or JSON.

Use this Actor as a practical Angi scraper / Angie's List data API alternative for contractor directories, home-service lead research, and ZIP-level market coverage. Pick searchType=nearme, a category slug such as hvac or roofing, an optional US postalCode, and maxResults. Residential egress is handled by the scrape worker — you do not send cookies, proxyUrl, or Request quote payloads.

  • Nearme lists on www.angi.com/nearme/{slug}/ with JSON-LD streetAddress (the cards hide the street; the structured data has it)
  • US category search via Angi gateway v5 JSON (not the 36KB /search HTML shell) plus optional nearme-street merge by reviews-{id}
  • Company profiles (…-reviews-{id}.htm) for ZIP and owner / tech names
  • Angi Inc contact (/landing/contact-us) — Indianapolis street + customer-service tel:
  • HomeStars Canada public profile phones when __NEXT_DATA__ includes them
  • Guest pages only — no Request quote, no request.angi.com, no login
  • Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or the Apify API
  • Pay per event — Actor start + each Dataset result; platform usage is included (you do not pay separate Apify compute on top)

Unofficial tool. This Actor is not affiliated with, endorsed by, or sponsored by Angi Inc. It collects guest / public pages a logged-out visitor can already see. It does not log in, submit Request quote, or scrape private account data.


What does the Angi Scraper do?

Angi Scraper lets you extract structured angi.com contractor listings without running your own US residential proxy and anti-bot stack. Give it a nearme category, a ZIP + categoryId for search, or a batch of live profile URLs, then start a run.

Under the hood, the Actor:

  1. Validates your input (searchType, market, category / postalCode, URLs)
  2. Enforces free-tier caps when you are on a free Apify plan
  3. Calls a managed worker that fetches guest Angi HTML/JSON (Chrome TLS impersonation + US residential egress)
  4. Parses nearme JSON-LD streets, gateway v5 search cards, …-reviews-{id}.htm profiles, Angi Inc contact, and opened HomeStars / Instapro lists
  5. Writes Dataset rows plus INPUT_ECHO, RUN_SUMMARY (and ERROR_SUMMARY on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.


What Angi data can I extract?

DataNearmeUS searchUS detailAngi Inc contactHomeStars CA
Company / org nameAngi Inc
Live profile URL (reviews-{id})/profile/
JSON-LD street addressmerge optionaloften ZIP onlyIndianapolis HQusually city only
ZIP / locality / regioncity
Owner / technician namesafter enrich
Merchant phonegatedgatedgatedHQ tel:public when listed
Merchant emailusually noneusually noneusually noneplatform inbox ≠ shop
Super Service Award filterssaFilter

Identity keys: US contractors use the numeric id in …-reviews-{id}.htm (do not invent ids). HomeStars uses the public profile id. Angi Inc contact is a single HQ entity page, not a contractor SERP.

Honest phone policy: US merchant phones are gated on guest pages. There is no Show phone; Request quote is a submit, not a reveal. Rows include empty phones plus leadAbsences rather than fake numbers. Store peers that advertise “every plumber’s phone” are claiming a channel this Actor will not fake.


Why scrape Angi?

Angi (formerly Angie's List) is one of the largest US home-services marketplaces for HVAC, plumbing, roofing, electrical, windows, flooring, and dozens of other trades. Teams scrape public Angi pages to:

  • Build ZIP-level contractor directories (nearme streets + search cards)
  • Watch ratings / Super Service Award coverage for a trade
  • Pull Angi Inc HQ contact without paging the site by hand
  • Enrich CRM-adjacent catalogs with names + addresses when phones are gated
  • Cover HomeStars Canada public phones on the same Actor when market=ca

Compared with a generic URL scraper, this Actor returns Angi-specific fields (kind, reviews-{id} URLs, JSON-LD street, leadAbsences) in one input surface.

How this Angi scraper compares

Store search for “Angi scraper” / “Angie's List scraper” also surfaces crawlers that advertise phone numbers, full addresses, and 150+ categories, often from $0.80 / 1,000 or a $30/month rental. Some of those phones exist only for Angi-advertiser pros; others over-claim guest data. This Actor is the guest table: names, nearme streets, ratings, HQ phones — US merchant phones gated on purpose.

This ActorTypical Store peers
Nearme JSON-LD street by ZIPYes (?postalCode=)Rare / undocumented
Gateway v5 search (not /search HTML)YesOften HTML-only
US merchant phone on guest pagesNo (gated)Often claimed yes
HomeStars CA public phonesYes when listedRare
Angi Inc /landing/contact-usYesRare
Request quote / request.angi.comNeverSometimes implied
PricingPPE $3.00 / 1,000 + $0.005 start; platform usage includedfrom $0.80 / 1,000, or $30/month + usage

Use a peer when you need advertiser-tier phones and accept their source. Use this Actor when you want export-ready guest Angi rows and developer-paid platform usage.

Honest scope: city/state /companylist/ hubs have zero merchant cards — they are not a SERP. Map search does not exist on angi.com. angi.ca / angi.co.uk / angi.de are not this product (.co.uk is a domain-sale page). MyBuilder UK and Instapro DE/FR/NL/IT lists are opened for identity; public phones are often still gated.


More Actors like this

Need Care.com caregivers, HomeStars Canada trades, Google Maps local businesses, or a generic protected-page scrape? Use a dedicated Actor below for structured fields. Use this Actor for Angi.com / Angie's List US contractors, nearme streets, and Angi Inc contact.

Similar home-service & local-lead scrapers

Prefer a dedicated site scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.

Local services & lead gen

Real Estate

Jobs & Freelance

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

General tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.

Need a custom site (listing + detail, your field list)? Submit a custom scraper request.


How to scrape Angi.com (no code required)

  1. Create a free Apify account
  2. Open Angi Scraper
  3. Choose searchType: nearme, search, detail, contact, about, intl-list, or intl-detail
  4. For nearme, enter a category slug (hvac, roofing, electrical, windows, flooring, pest-control, …) and optionally a US ZIP (postalCode) so JSON-LD streets match that area
  5. For US search, set postalCode + categoryId (plumbing = 107). Do not paste the /search HTML page as if it were a listing feed
  6. Click Start and download the Dataset as JSON, CSV, Excel, or JSONL

Start with maxResults: 3–5 to verify the ZIP and trade, then scale up. Empty {} runs a tiny NYC HVAC nearme so the platform auto-test succeeds — for real jobs, pass a fresh ZIP and category.

Find HVAC contractors near a ZIP

In plain English: pick nearme + hvac + a US ZIP → get a table of Angi HVAC pros with JSON-LD street addresses.

You give: searchType=nearme, category=hvac, postalCode=75201, maxResults=20.

Scrape plumbers, roofers, or electricians

In plain English: change the nearme slug (roofing, electrical, windows, flooring). Aliases such as gutters map to the live Angi slug (gutter-repair-replacement).

You give: searchType=nearme, category=roofing, optional postalCode.

Search Angi by category ID and ZIP

In plain English: gateway search returns thinner cards (phones still gated). Turn merge nearme streets on to overlay JSON-LD streets onto matching reviews-{id} rows.

You give: searchType=search, categoryId=107, postalCode=33101, mergeNearmeStreets=true.

Pull Angi Inc contact or a profile URL

In plain English: contact returns Angi Inc Indianapolis street + HQ phones. detail follows live …-reviews-{id}.htm URLs for ZIP and names. Do not paste request.angi.com or /send-request-to links.

HomeStars Canada and Instapro lists

In plain English: market=ca + searchType=intl-list + a city slug such as toronto returns HomeStars cards; enrich follows public profiles for phones when Angi/HomeStars publish them.

Feed AI agents and automations

In plain English: start the Actor from Make, n8n, Zapier, LangChain, or the Apify API → Dataset rows are structured JSON (name, url, address, phones, leadAbsences).


How much does it cost to scrape Angi?

This Actor uses pay-per-event pricing. You are charged for:

EventPrice
Actor Start (apify-actor-start)$0.005 per start
Result (apify-default-dataset-item)$3.00 / 1,000 results ($0.003 each on FREE/BRONZE)

Platform usage costs are included — you do not pay separate Apify compute/proxy usage for this Actor on top of the event prices above (User pays platform usage costs = No).

Volume discount tiers (per result)

Tier$/1,000per result
FREE*$3.00$0.003
BRONZE$3.00$0.003
SILVER$2.60$0.0026
GOLD$2.20$0.0022
PLATINUM$2.00$0.002
DIAMOND$1.60$0.0016

*FREE matches BRONZE for this Actor.

Example cost estimates (FREE/BRONZE)

Results collectedApprox. event cost*
100~$0.31
1,000~$3.01
10,000~$30.01

*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one). Default memory is 1024 MB.

Empty / failed runs that write zero default-dataset rows are not billed as results (you still pay Actor Start).

Free plan limits

On a free Apify plan, this Actor enforces developer limits of 10 runs and 200 results per run. Upgrade to a paid Apify plan for unlimited runs (event prices still apply).


Input examples

HVAC nearme for a US ZIP

{
"searchType": "nearme",
"category": "hvac",
"postalCode": "75201",
"maxResults": 20,
"enrichDetails": true
}

Roofing nearme

{
"searchType": "nearme",
"category": "roofing",
"postalCode": "33101",
"maxResults": 15,
"maxPages": 1
}

Plumbing search + nearme street merge

{
"searchType": "search",
"category": "plumbing",
"categoryId": 107,
"postalCode": "60601",
"maxResults": 10,
"mergeNearmeStreets": true,
"enrichDetails": true
}

Angi Inc contact

{
"searchType": "contact"
}

HomeStars Toronto list

{
"searchType": "intl-list",
"market": "ca",
"city": "toronto",
"maxResults": 10,
"enrichDetails": true
}

Output

Each Dataset row is a lead-shaped object: name, kind, url, category, phones[], emails[], address (street, locality, region, postalCode, country, full), person, org, leadSource, leadReveal, leadAbsences.

US nearme rows should have a real street from JSON-LD, not the placeholder Located In. US search/detail merchant rows often have empty phones plus leadAbsences — that is expected, not a parse bug. HomeStars public phones appear when the profile JSON includes them. Filter out schema.org if you ever see it as a website — that is not a shop URL.

Key-value store: INPUT_ECHO, RUN_SUMMARY, ERROR_SUMMARY.


FAQ

Do I need an Angi account or API key?

No. This Actor reads guest angi.com / HomeStars pages. You do not log in, and you do not pass an Angi developer key.

Can I get every contractor's phone number?

Not on US guest pages. Angi gates merchant phones; Request quote is a lead form, not a reveal. This Actor records that as leadAbsences instead of inventing numbers. HomeStars Canada and Angi Inc contact are the opened phone channels.

Does postalCode work on nearme?

Yes. Use ?postalCode= (Angi ignores ?zip= for geo). Empty {} uses schema default ZIP 10001 so the platform auto-test succeeds.

Which categories are supported?

Free-text nearme slugs as they appear in Angi URLs (hvac, roofing, electrical, windows, flooring, pest-control, …). For searchType=search, plumbing maps to gateway categoryId 107; other trades need the live numeric id (do not reuse request.angi.com category ids — different ID space).

Can I scrape the map or city hub?

No. searchType=map is out of scope (Angi has no map SERP). /companylist/us/{st}/… hubs have zero merchant cards.

Why not Request quote?

Submitting Request quote is a write to Angi, not a public read. This Actor never hits request.angi.com or /send-request-to.

This Actor collects publicly reachable guest pages. You are responsible for how you use the data (including US privacy rules). This is an unofficial third-party tool. Follow Angi’s terms and your own compliance review.

Is this affiliated with Angi or Angie's List?

No.

Do I need to bring proxies?

No. Do not send proxyUrl. The worker provides US residential egress.

What if a run returns 0 rows or a challenge page?

Retry with another opened ZIP / slug, or use searchType=contact to confirm the worker is healthy. Check ERROR_SUMMARY in the key-value store. France city lists use live slugs such as paris-01, not paris.

Can I use it from Make, n8n, Zapier, or LangChain?

Yes. Actor ID lentic_clockss/angi-scraper. See Connect to your tools.


Input reference

ParameterTypeDescription
searchTypestringnearme, search, detail, contact, about, intl-list, intl-detail. map / city-hub / leads-funnel are out of scope
marketstringus (angi.com), ca (HomeStars), uk (MyBuilder), de/at/fr/nl/it (Instapro lists)
categorystringNearme slug (hvac, roofing, …)
categoryIdintegerUS gateway search id (plumbing = 107)
postalCodestringUS ZIP; required for search; optional geo for nearme
ssaFilterbooleanUS search Super Service Award filter
enrichDetailsbooleanFollow US …-reviews-{id}.htm / Instapro profiles (default on)
mergeNearmeStreetsbooleanOverlay nearme JSON-LD streets onto search rows (default on)
maxResultsintegerCap Dataset rows (free plan ≤ 200)
maxPagesintegerSearch offset pages / Instapro page=N (hard cap 10)
detailUrlsarrayLive angi.com profile / contact or HomeStars /profile/ URLs
citystringInstapro / HomeStars city slug (toronto, berlin, paris-01)
workerBaseUrlstringOptional HTTPS override. Production source of truth is Actor env

Do not send proxyUrl, cookies, Request quote payloads, or request.angi.com URLs.

Full output schema is on the Dataset tab. Key-value store: INPUT_ECHO, RUN_SUMMARY, ERROR_SUMMARY.


Connect to your tools

PlatformHow to connect
Make.comSearch “Apify” → “Run Actor” → Actor ID lentic_clockss/angi-scraper
n8nAdd Apify node → “Run Actor” → same Actor ID
ZapierApify integration → “Run Actor”
LangChainApifyActorsTool("lentic_clockss/angi-scraper")
Python / Node.jsApify SDK or direct HTTPS call

API call example

curl "https://api.apify.com/v2/acts/lentic_clockss~angi-scraper/runs" \
-X POST \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchType":"nearme","category":"hvac","postalCode":"75201","maxResults":10}'

Results come back in JSON via the Apify Dataset API:

GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json

All public Actors from lentic_clockss. Click a name to open the Store detail page.

Local services & lead gen

Developer / Open source / AI

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

→ Browse the full profile: apify.com/lentic_clockss


Changelog

  • 0.1.4 — Store README SEO (Angi.com / Angie's List / HVAC / plumbers / ZIP nearme), competitor comparison, More Actors + Related Actors. PPE: Actor Start $0.005 + result $3.00/1k with volume tiers. Platform usage paid by developer.
  • 0.1.3 — Free-text nearme slugs, search×nearme street merge, Instapro pagination, HomeStars / DE–IT lists.
  • 0.1.2 — First Cloud Run worker pairing; US nearme JSON-LD streets + gateway v5 search.