# Toll402 Local Business Search

> Toll402 Local Business Search is a paid API for AI agents from toll402.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Search a verified local-business directory by city, category, text query, or coordinates and receive results with dated verification scores and trust levels

## Facts

- Endpoint: GET https://toll402.dev/v1/biz/search
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/toll402-local-business-search-f41d571f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tu0-Xiihse4SVHcbuWiHz

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 toll402-local-business-search-f41d571f
```

Example prompt: Find me up to 10 owner-verified or verified restaurants in Mexico City — I only want results with a verification score of at least 70, and include the evidence behind each listing.

## When to prefer this

Choose this endpoint when you need verified, trust-scored local business data rather than raw scraped listings or unvalidated review-site data. It is ideal when an agent needs to recommend businesses to a user and must convey confidence levels, or when the downstream task requires filtering by verification tier (e.g. only owner-verified). Prefer it over generic web search when structured, filterable directory results with explicit trust metadata are needed.

## Known failure modes

- No results found for the requested city or coverage area — city may not be indexed (check /v1/biz/coverage)
- Invalid country code (non-ISO 3166-1 alpha-2) returns a 400 validation error
- Coordinates out of supported radius range (0.1–50 km) return a validation error
- minScore or minLevel filters too restrictive return an empty result set
- Payment failure via x402 protocol returns 402 with payment details
- Query text exceeding 200 characters is rejected
- Providing both 'city' and 'near' may cause ambiguous location resolution

## How this service works

Global business directory for agents (any city in the world; unknown cities are seeded on demand). Search by city, country, category, text or proximity; every result carries a dated verification score (0-100), level (unverified/listed/corroborated/verified/owner_verified) and, on request, the evidence behind it. Open data + live checks + owner claims, never scraped review sites.

## Output

A paginated list of business records, each containing the business name, category, location, a numeric verification score (0-100), a verification level (unverified/listed/corroborated/verified/owner_verified) with its date, and optionally the structured evidence sources that support the score. Results can be filtered by geography, category, free text, minimum score, and trust level.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "city": {
       "type": "string",
       "maxLength": 80,
       "description": "City label, e.g. 'Ciudad de México'"
      },
      "near": {
       "type": "object",
       "required": [
        "lat",
        "lon"
       ],
       "properties": {
        "lat": {
         "type": "number"
        },
        "lon": {
         "type": "number"
        },
        "radiusKm": {
         "type": "number",
         "default": 3,
         "maximum": 50,
         "minimum": 0.1
        }
       },
       "additionalProperties": false
      },
      "limit": {
       "type": "integer",
       "default": 10,
       "maximum": 50,
       "minimum": 1
      },
      "query": {
       "type": "string",
       "maxLength": 200,
       "description": "Free text: name, cuisine, service…"
      },
      "offset": {
       "type": "integer",
       "default": 0,
       "minimum": 0
      },
      "channel": {
       "enum": [
        "whatsapp",
        "email",
        "instagram",
        "facebook",
        "linkedin",
        "booking",
        "contactForm",
        "telegram"
       ],
       "type": "string",
       "description": "Only businesses with this contact channel found on their own website or open data"
      },
      "cityKey": {
       "type": "string",
       "maxLength": 60,
       "description": "Coverage key, e.g. 'cdmx' or one returned in `coverage` (see GET /v1/biz/coverage)"
      },
      "country": {
       "type": "string",
       "maxLength": 2,
       "minLength": 2,
       "description": "ISO 3166-1 alpha-2"
      },
      "category": {
       "enum": [
        "restaurant",
        "cafe",
        "bar",
        "bakery",
        "hotel",
        "travel",
        "car_rental",
        "pharmacy",
        "clinic",
        "dentist",
        "veterinary",
        "optician",
        "lawyer",
        "notary",
        "accountant",
        "insurance",
        "real_estate",
        "architect",
        "it_services",
        "company",
        "wholesale",
        "manufacturing",
        "agricultur
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "items": [
   {
    "id": "osm:node/123",
    "name": "Clínica Dental Roma",
    "contact": {
     "phone": "+5255...",
     "website": "https://..."
    },
    "category": "dentist",
    "location": {
     "city": "Ciudad de México"
    },
    "verification": {
     "level": "corroborated",
     "score": 68,
     "lastVerifiedAt": "2026-09-07T00:00:00Z"
    }
   }
  ],
  "total": 120
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/toll402-local-business-search-f41d571f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from toll402.dev](https://www.zero.xyz/host/toll402.dev/llms.txt)
