Reviews
angi.com
Verified
Angi Reviews Scraper
Extract home service pro listings, verified reviews, pricing estimates, and availability from Angi. Built on spider-browser .
- target
- angi.com
- success rate
- 99.9%
- latency
- ~4ms
POST
/fetch/angi.com/ return_format
curl -X POST https://api.spider.cloud/fetch/angi.com/ \ -H "Authorization: Bearer $SPIDER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"return_format": "json"}'
200 OK · cache hit · response shape
{
"url": "https://angi.com/",
"status": 200,
"data": {
"business_name": "string",
"rating": "string",
"review_count": "string",
"service_type": "string",
"price_range": "string",
"location": "string",
"verified_badge": "string",
"availability": "string"
}
} # Angi Reviews Scraper
**Business name**: string
**Rating**: string
**Review count**: string
**Service type**: string
**Price range**: string
**Location**: string
**Verified badge**: string
**Availability**: string
Quick start
Extract data in minutes.
Structured JSON from angi.com with a single POST. AI-resolved selectors, cached on the first call.
angi-reviews-scraper.ts
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.angi.com/companylist/plumbing.htm");
const data = await page.extractFields({
businessName: "h3, a[href*='/profile/']",
rating: "[aria-label*='star'], [class*='rating'] span",
reviews: { selector: "span", regex: /d+.*review/i },
serviceType: "[class*='service'], [class*='type']",
location: "[class*='location'], address",
verified: "[class*='badge'], [class*='verified']",
});
console.log(data);
await spider.close(); curl -X POST https://api.spider.cloud/fetch/angi.com/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"return_format": "json"}' import requests
resp = requests.post(
"https://api.spider.cloud/fetch/angi.com/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"return_format": "json"},
)
print(resp.json()) const resp = await fetch("https://api.spider.cloud/fetch/angi.com/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data); ready to run · spider-browser · TypeScript
Extraction
Fields you can pull.
Business nameRatingReview countService typePrice rangeLocationVerified badgeAvailability
Listings
Business intelligence
Extract ratings, reviews, and contact info from angi.com listings.
Pagination
Review collection
Navigate through paginated reviews with scroll-based lazy loading.
Geo
Location targeting
Access location-specific results with geo-targeted residential proxies.
Related
More Reviews scrapers.
Start
Start scraping angi.com.
Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.