# OnHub Places Search

> OnHub Places Search is a paid API for AI agents from api.onhub.ai, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Performs grounded local place search using Google Maps data, returning rated businesses with addresses, hours, and map links.

## Facts

- Endpoint: POST https://api.onhub.ai/v1/places?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/onhub-places-search-e401755b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cfqOG0u6SbNBojtRFx7D7

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 onhub-places-search-e401755b -d '<json body>'
```

Example prompt: Find me the top 5 best-rated ramen spots near the Ferry Building in San Francisco — I'm at 37.7955, -122.3937 — with their ratings and hours.

## When to prefer this

Choose this endpoint when you need real-world, grounded place data from Google Maps with star ratings, hours, and verifiable map links — especially for 'near me' or location-specific queries. Prefer this over generic web search when the user is looking for a specific type of business or service at a known location and needs structured place metadata (ratings, hours, URLs) rather than editorial articles or reviews.

## Known failure modes

- Query too vague or non-local returns low-relevance or empty places list
- Missing longitude when latitude is provided (or vice versa) may degrade location relevance
- Query string under 3 characters is rejected by schema validation
- max_results exceeding 8 is rejected
- No matching places found for the query in the specified area returns empty places array
- Payment failure or insufficient USDC balance results in 402 response

## How this service works

Grounded local search over Google Maps places with ratings, address and hours.

## Output

Returns a natural language answer grounded in Google Maps data, plus a list of matching places each with a name, star rating, Google Maps URL, and place ID. Also includes the timestamp of the search and an evidence_status field confirming the result is grounded.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "query": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 3,
   "description": "A local/places question to research with Google Maps grounding, e.g. \"best ramen near the ferry building\"."
  },
  "latitude": {
   "type": "number",
   "maximum": 90,
   "minimum": -90,
   "description": "Caller latitude. Improves relevance for \"near me\"-style queries; omit for non-local questions."
  },
  "longitude": {
   "type": "number",
   "maximum": 180,
   "minimum": -180,
   "description": "Caller longitude. Must be supplied together with latitude."
  },
  "max_results": {
   "type": "integer",
   "default": 5,
   "maximum": 8,
   "minimum": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "query": "Best Italian restaurants within walking distance",
  "answer": "Maccheroni Republic (4.6★) is a short walk away.",
  "object": "places.result",
  "places": [
   {
    "url": "https://maps.google.com/?cid=10713702449749472098",
    "title": "Maccheroni Republic",
    "place_id": "ChIJvVvovUvGwoARYrOMSp23rpQ"
   }
  ],
  "searched_at": "2026-09-22T00:00:00.000Z",
  "evidence_status": "grounded"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/onhub-places-search-e401755b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.onhub.ai](https://www.zero.xyz/host/api.onhub.ai/llms.txt)
