# Local Business Leads API

> Local Business Leads API is a paid API for AI agents from local-leads-api.vercel.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-11-02).

Returns local business contact data (name, phone, address, website) for a given US city, state, and business category

## Facts

- Endpoint: GET https://local-leads-api.vercel.app/api/v1/leads?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/local-business-leads-api-cb59862e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_9eszcyYFQFrLNiYxmjqp_

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 local-business-leads-api-cb59862e
```

Example prompt: Can you pull me a list of up to 20 licensed plumbers in Atlanta, GA — I need ones that have a phone number listed?

## When to prefer this

Use this endpoint when you need structured local business contact data (phone, address, website) for a specific US city and business category, especially for lead generation, sales outreach, or service discovery. It is a good fit when you need results quickly per query at low per-call cost ($0.05), want data attributed to open licensed sources (Overture, Foursquare, AllThePlaces), and need confidence scores per record. Prefer this over web scraping or general search when you want clean, structured output with geographic coordinates.

## Known failure modes

- Missing required parameters (city or category) returns a 400 error
- Unknown or misspelled city name may return zero results or resolve to the wrong location
- Category not in the supported enum list may return an error or empty results
- Payment not completed via x402 results in a 402 Payment Required response
- State omitted may resolve to an unexpected state when the city name is ambiguous
- Limit exceeds 50 returns a validation error

## How this service works

Find local businesses by city and category. Returns name, phone, address and verified website status (live/broken/none, https, last-checked date). 0.05 USDC per query.

## Output

A JSON object containing a query summary (city, state, category, resolved location), a count of returned results, total available results, a data release timestamp, and an array of business records each containing business name, phone, email, address (street, city, state, postcode, formatted), website URL, website status, geographic coordinates (latitude/longitude), a confidence score, and a source ID. Also includes attribution for the underlying data sources.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "city",
      "category"
     ],
     "properties": {
      "city": {
       "type": "string",
       "maxLength": 80,
       "minLength": 2,
       "description": "US city name, e.g. \"Atlanta\" or \"Jonesboro\"."
      },
      "limit": {
       "type": "integer",
       "maximum": 50,
       "minimum": 1,
       "description": "Max results to return (1-50, default 25)."
      },
      "state": {
       "type": "string",
       "maxLength": 40,
       "minLength": 2,
       "description": "US state code or name (e.g. \"GA\"). Recommended: without it, the state where the city has the most listings is used."
      },
      "category": {
       "type": "string",
       "maxLength": 40,
       "minLength": 2,
       "description": "Business category. One of: plumber, roofer, electrician, hvac, dentist, doctor, chiropractor, veterinarian, lawyer, accountant, insurance_agent, real_estate_agent, auto_repair, hair_salon, beauty_salon, locksmith, landscaper, carpenter, painter, restaurant, cafe, pharmacy, gym. Common plurals/synonyms are accepted."
      },
      "require_phone": {
       "enum": [
        "true",
        "false"
       ],
       "type": "string",
       "description": "If \"true\", only return businesses that have a phone number."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "query",
      "count",
      "total_available",
      "privacy_mode",
      "results",
      "generated_at",
      "data_release",
      "notice",
      "attribution"
     ],
     "properties": {
      "count": {
       "type": "integer",
       "maximum": 9007199254740991,
       "minimum": -9007199254740991
      },
      "query": {
   
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "query": {
   "city": "Atlanta",
   "state": "GA",
   "category": "plumber",
   "resolved_location": "Atlanta, GA"
  },
  "notice": "Business listings for B2B use under https://local-leads-api.vercel.app/terms. Buyers must follow calling, texting and email laws (e.g. TCPA, Do-Not-Call, CAN-SPAM). Removal requests: localleads.support@gmail.com.",
  "results": [
   {
    "email": null,
    "phone": "+1 (404) 555-0100",
    "address": {
     "city": "Atlanta",
     "state": "GA",
     "street": "123 Peachtree St NE",
     "postcode": "30303",
     "formatted": "123 Peachtree St NE, Atlanta, GA 30303"
    },
    "website": "https://example.com/",
    "latitude": 33.7537,
    "longitude": -84.3863,
    "source_id": "overture:00000000-0000-0000-0000-000000000000",
    "confidence": 0.97,
    "business_name": "Example Plumbing Co",
    "website_https": true,
    "website_status": "live",
    "website_checked_at": "2026-10-14T09:00:00.000Z"
   }
  ],
  "attribution": "Business data from Overture Maps Foundation (overturemaps.org), release 2026-09-23.1, licensed CDLA-Permissive-2.0; includes data from Foursquare (Apache-2.0) and AllThePlaces (CC0).",
  "data_release": "2026-09-23.1",
  "generated_at": "2026-10-14T00:00:00.000Z",
  "privacy_mode": "standard",
  "total_available": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/local-business-leads-api-cb59862e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from local-leads-api.vercel.app](https://www.zero.xyz/host/local-leads-api.vercel.app/llms.txt)
