# Angi Business Listings Scraper (x402)

> Angi Business Listings Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, 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) by service category and US ZIP codes, returning business profiles as structured JSON.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-business-listings-scraper-x402-e23549e7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QevsCHufWsDcHamHrAQRF

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-business-listings-scraper-x402-e23549e7 -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 long they've been in business.

## When to prefer this

Choose this endpoint when you need structured business listing data from Angi specifically, across multiple US ZIP codes, for home service categories like plumbing, roofing, or house cleaning. It is pay-per-call with no charge for failed or empty runs, making it low-risk for exploratory queries. Prefer it over generic web scrapers when you want pre-structured Angi-specific fields like advertiser status, years in business, and legacy IDs.

## Known failure modes

- Empty result set if no listings exist for the given category and ZIP codes — not charged
- Angi page structure changes may cause incomplete field extraction
- Invalid or unsupported category slug returns no results
- ZIP code resolves to unexpected city page — use locationUrls override to correct
- Rate limiting or blocking by Angi may cause failed runs — not charged

## How this service works

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

## Output

Returns a JSON object with a count of results and an array of business items, each containing fields like UUID, legacy ID, profile URL, business name, business type, advertiser status, years in business, and a business description. Only publicly available first-page Angi listings are included.

## 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-business-listings-scraper-x402-e23549e7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
