# Angi Local Business Listings Scraper

> Angi Local Business Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured business listing data from Angi (formerly Angie's List) for a given service category and set of US ZIP codes

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/angi?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/angi-local-business-listings-scraper-0010aa41
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3Ya3k5Jv0FSC7EZbr86wk

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability angi-local-business-listings-scraper-0010aa41 -d '<json body>'
```

Example prompt: Pull up to 50 plumbing businesses from Angi across ZIP codes 90001, 77002, and 60601 and give me their names, profile URLs, and how many years they've been in business.

## When to prefer this

Choose this endpoint when you need structured Angi business listing data for home-service categories across specific US ZIP codes without building your own scraper. It is ideal for lead generation, competitive analysis, or populating a local contractor database. Prefer it over generic web scrapers when you want pre-structured, field-normalized output (name, profile URL, advertiser flag, years in business) specifically from Angi's directory. If you need Yelp, Google Maps, or other directory sources, look for alternative endpoints.

## Known failure modes

- Empty result set if no businesses are found for the given category and ZIP codes (not charged)
- Invalid or unrecognized category slug returns no results
- ZIP code resolves to unexpected city page — use locationUrls parameter to override
- Angi rate limiting or page structure changes may cause extraction failure
- Network timeout on scraping backend returns error (not charged)

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object containing a count of businesses found and an array of business items, each with fields including UUID, legacy ID, profile URL, business name, business type, advertiser status, years in business, and business description. The product field confirms the data source as 'angi'. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "category": {
   "type": "string",
   "default": "plumbing",
   "description": "Angi service category slug, such as plumbing, roofing, or house-cleaning."
  },
  "maxItems": {
   "type": "integer",
   "default": 30,
   "minimum": 0,
   "description": "Maximum unique businesses across all locations. Zero removes this stop limit, but only publicly available first-page listings are collected."
  },
  "zipCodes": {
   "type": "array",
   "default": [
    "90001",
    "77002",
    "60601",
    "90210"
   ],
   "description": "US ZIP codes whose Angi city listing pages should be searched. Each page covers a local search area; a ZIP code is used to locate its city page."
  },
  "locationUrls": {
   "type": "array",
   "default": [],
   "description": "Optional public Angi category page URLs, for example https://www.angi.com/companylist/us/ca/los-angeles/plumbing.htm. Use these when a ZIP resolves to a different city page."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "uuid": null,
    "legacyId": null,
    "profileUrl": null,
    "businessName": null,
    "businessType": null,
    "isAdvertiser": null,
    "yearsInBusiness": null,
    "businessDescription": null
   }
  ],
  "product": "angi"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/angi-local-business-listings-scraper-0010aa41/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
