# Local Business Category Counts

> Local Business Category Counts is a paid API for AI agents from places.openverbs.com, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-27).

Aggregates and counts local businesses by category within a geographic radius, optionally filtered by name text or specific categories

## Facts

- Endpoint: POST https://places.openverbs.com/v1/business-categories?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/local-business-category-counts-698c2378
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kw2ar3TNkCxBu0UMAKsHY

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-category-counts-698c2378 -d '<json body>'
```

Example prompt: Can you show me the top 15 business categories within 8km of 37.7749,-122.4194 in San Francisco, filtered to food-related businesses only?

## When to prefer this

Choose this endpoint when you need aggregate counts and distributions of business categories in a geographic area rather than individual business listings. It is ideal for market research, competitive density analysis, and neighborhood profiling. Prefer this over the full place-search endpoint when you want statistical summaries rather than individual business details, and over the Google Business Profile lookup when you need population-level insights rather than a single business record.

## Known failure modes

- Invalid coordinate format (must match lat,lng,radiusKm pattern) returns a validation error
- Radius or coordinate outside supported geographic bounds may return empty results
- No businesses found matching the category or name filter returns an empty bucket list
- limit out of range (must be 1–100) returns a schema validation error
- categories array exceeding 10 items is rejected
- query text exceeding 200 characters is rejected

## How this service works

Count how many Google businesses fall under each category within a radius of a coordinate, optionally filtered by category or name. Returns categories ranked by business count - for local market sizing, competitor-density analysis and site-selection research. No match → empty results.

## Output

Returns a ranked list of business category buckets, each with a category name and the count of matching businesses found within the specified geographic radius. Results are sorted by count descending and limited to the requested number of buckets.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "limit": {
   "type": "integer",
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum category buckets. Defaults to 20."
  },
  "query": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Optional name text to restrict the aggregation."
  },
  "categories": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 80,
    "minLength": 1
   },
   "maxItems": 10,
   "minItems": 1,
   "description": "Optional Google business categories to restrict the aggregation, e.g. [\"restaurant\"]."
  },
  "locationCoordinate": {
   "type": "string",
   "pattern": "^-?\\d{1,2}(\\.\\d+)?,-?\\d{1,3}(\\.\\d+)?,\\d{1,4}(\\.\\d+)?$",
   "description": "\"lat,lng,radiusKm\", e.g. \"37.7749,-122.4194,10\". Use the geocode verb to turn a place name into coordinates."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/local-business-category-counts-698c2378/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from places.openverbs.com](https://www.zero.xyz/host/places.openverbs.com/llms.txt)
