# API Direct – Google Maps Places Search

> API Direct – Google Maps Places Search is a paid API for AI agents from x402.apidirect.io, paid per call via x402, $0.011/call, status unknown (last checked 2026-10-30).

Search Google Maps for local businesses, restaurants, hotels, shops, and points of interest by free-text query with optional geographic bias.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/places/search?utm_source=zero.xyz
- Price: $0.011/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-direct-google-maps-places-search-576780e7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rwYnPgEuYd_J7d5LCuCqQ

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 api-direct-google-maps-places-search-576780e7
```

Example prompt: Can you find me Italian restaurants in Brooklyn, New York? Search around latitude 40.6782, longitude -73.9442 at a neighborhood zoom level and return up to 20 results.

## When to prefer this

Choose this endpoint when you need free-text search across Google Maps places data — local businesses, restaurants, hotels, or POIs — especially when you want geographic bias via lat/lng and zoom. Prefer it over general web search when structured place data (addresses, ratings, coordinates) is needed rather than unstructured text results.

## Known failure modes

- Missing required 'query' parameter returns a 400 validation error
- Invalid country or language code may return empty results or an error
- Providing lat/lng without both values may result in no geographic bias being applied
- Requesting more than 20 pages or 200 results exceeds limits and may be clamped or rejected
- Overly broad queries may return noisy, irrelevant results
- No results found for very specific or obscure queries in certain regions

## How this service works

Search Google Maps places (local businesses, restaurants, hotels, shops and points of interest) by free-text query.

## Output

A merged list of place results (up to 200) from Google Maps, each typically including business name, address, geographic coordinates, place category, rating, and other available metadata. Results are paginated internally and merged based on the pages or limit parameter.

## 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",
     "required": [
      "query"
     ],
     "properties": {
      "lat": {
       "type": "number",
       "description": "Center latitude for geographic bias (provide with `lng`)"
      },
      "lng": {
       "type": "number",
       "description": "Center longitude for geographic bias (provide with `lat`)"
      },
      "zoom": {
       "type": "integer",
       "maximum": 20,
       "minimum": 1,
       "description": "Map zoom level. Smaller values widen the search radius (13 ≈ city, 15 ≈ neighborhood, 10 ≈ metro area)"
      },
      "limit": {
       "type": "integer",
       "maximum": 200,
       "minimum": 1,
       "description": "Alternative to `pages`: maximum number of results, rounded up to whole pages of 10 (e.g. `limit=15` fetches 2 pages, so up to 20 results). Ignored when `pages` is also sent. Maximum 200"
      },
      "pages": {
       "type": "integer",
       "default": 1,
       "maximum": 20,
       "minimum": 1,
       "description": "Number of pages to fetch and merge. Each page returns up to 10 results and is billed as one request"
      },
      "query": {
       "type": "string",
       "maxLength": 500,
       "description": "Search keyword (max 500 characters). E.g. `coffee shops brooklyn`, `dentists 90210`, `hilton hotels paris`"
      },
      "country": {
       "type": "string",
       "default": "us",
       "maxLength": 2,
       "minLength": 2,
       "description": "2-letter ISO 3166-1 alpha-2 region code"
      },
      "language": {
       "type": "string",
       "default": "en",
       "maxLength": 2,
       "minLength": 2,
       "description": "2-letter ISO 639-1 language code"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-google-maps-places-search-576780e7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.apidirect.io](https://www.zero.xyz/host/x402.apidirect.io/llms.txt)
