# Google Maps Nearby Search (Full)

> Google Maps Nearby Search (Full) is a paid API for AI agents from StableEnrich at stableenrich.dev, paid per call via MPP or x402, $0.08/call, status unknown (last checked 2026-10-11, last successful call 2026-05-20).

Search for nearby places on Google Maps within a geographic radius and return full place details including reviews, ratings, amenities, and more

## Facts

- Endpoint: POST https://stableenrich.dev/api/google-maps/nearby-search/full?utm_source=zero.xyz
- Price: $0.08/call
- Payment: MPP, x402
- Status: unknown
- Last checked: 2026-10-11
- Last successful call: 2026-05-20
- Success rate: 100% of calls made through Zero
- Activations on Zero: 3
- Provider: StableEnrich
- Docs: https://stableenrich.dev
- Website: https://stableenrich.dev
- Tags: apollo, exa, firecrawl, google-maps, linkedin, reddit, enrichment, research, data, search, social, x402
- Canonical page: https://www.zero.xyz/c/stableenrich-full-ce12acfb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rK9K-JVSW2eGd5sPg0aiX

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 stableenrich-full-ce12acfb -d '<json body>'
```

Example prompt: Find me the 5 most popular restaurants within 1 kilometer of Times Square (40.7580, -73.9855) — I need full details including ratings, reviews, whether they take reservations, and price range.

## When to prefer this

Choose this endpoint when you need comprehensive place details including reviews, amenities, and pricing — not just names or basic info. Prefer this over the Partial variant when downstream decisions (e.g. booking, recommendation, itinerary planning) require rich metadata. Use when the user needs a specific geographic radius rather than a text-based location query (use Text Search for that).

## Known failure modes

- Missing locationRestriction or circle fields returns a 400 validation error
- Radius exceeding 50000 meters is rejected
- maxResultCount above 5 is rejected
- Invalid latitude/longitude values cause geocoding failure
- Unrecognized place type strings in includedTypes/excludedTypes may return empty results
- Network or upstream Google Maps API outage returns 5xx error

## How this service works

Google Maps Nearby Search (Full). Finds places near a latitude/longitude using Google Places supported type filters. Use google-maps/text-search/full for natural-language searches like "wedding planner" or "event planner".

## Output

An array of up to 5 place objects, each containing full details: place ID, types, GPS coordinates, star rating, user reviews with text and author info, price level and range, and boolean amenity flags (dine-in, takeout, delivery, reservable, live music, allows dogs, restroom).

## Example request

```json
{
 "languageCode": "en",
 "excludeFields": [
  "photos"
 ],
 "maxResultCount": 3,
 "rankPreference": "POPULARITY",
 "locationRestriction": {
  "circle": {
   "center": {
    "latitude": 40.7128,
    "longitude": -74.006
   },
   "radius": 1000
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "languageCode": {
   "type": "string",
   "default": "en"
  },
  "excludeFields": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [
    "photos"
   ]
  },
  "excludedTypes": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 50,
   "description": "Optional Google Places Table A place types to exclude."
  },
  "includedTypes": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 50,
   "description": "Optional Google Places Table A place types only, e.g. restaurant, bar, store, real_estate_agency. Do not use natural-language categories like wedding_planner or event_planner; use google-maps/text-search/full for text queries."
  },
  "maxResultCount": {
   "type": "number",
   "default": 5,
   "maximum": 5,
   "minimum": 1
  },
  "rankPreference": {
   "enum": [
    "POPULARITY",
    "DISTANCE"
   ],
   "type": "string",
   "default": "POPULARITY"
  },
  "locationRestriction": {
   "type": "object",
   "required": [
    "circle"
   ],
   "properties": {
    "circle": {
     "type": "object",
     "required": [
      "center",
      "radius"
     ],
     "properties": {
      "center": {
       "type": "object",
       "required": [
        "latitude",
        "longitude"
       ],
       "properties": {
        "latitude": {
         "type": "number"
        },
        "longitude": {
         "type": "number"
        }
       },
       "description": "Latitude/longitude center point for the nearby search circle.",
       "additionalProperties": false
      },
      "radius": {
       "type": "number",
       "maximum": 50000,
       "minimum": 0,
       "description": "Radius in meters. Google Places caps this at 50000."
      }
     },
     "additionalProperties": false
    }
   },
   "description": "Required search area. Use locationRestriction.circle.center and locationRestriction.circle.radius; do not send top-level center or radius fields.",
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "places": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id"
    ],
    "properties": {
     "id": {
      "type": "string"
     },
     "types": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "dineIn": {
      "type": "boolean"
     },
     "photos": {
      "type": "array",
      "items": {
       "type": "object",
       "required": [
        "name",
        "widthPx",
        "heightPx"
       ],
       "properties": {
        "name": {
         "type": "string"
        },
        "widthPx": {
         "type": "number"
        },
        "heightPx": {
         "type": "number"
        }
       },
       "additionalProperties": false
      }
     },
     "rating": {
      "type": "number"
     },
     "reviews": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "name": {
         "type": "string"
        },
        "text": {
         "type": "object",
         "required": [
          "text",
          "languageCode"
         ],
         "properties": {
          "text": {
           "type": "string"
          },
          "languageCode": {
           "type": "string"
          }
         },
         "additionalProperties": false
        },
        "rating": {
         "type": "number"
        },
        "publishTime": {
         "type": "string"
        },
        "originalText": {
         "type": "object",
         "required": [
          "text",
          "languageCode"
         ],
         "properties": {
          "text": {
           "type": "string"
          },
          "languageCode": {
           "type": "string"
          }
         },
         "additionalProperties": false
        },
        "authorAttribution": {
         "type": "object",
         "required": [
          "displayName"
         ],
         "properties": {
          "uri": {
           "type": "string"
          },
          "photoUri": {
           "type": "string"
          },
          "displayName": {
           "type": "string"
          }
         },
         "additionalProperties": false
        },
        "relativePublishTimeDescription": {
         "type": "string"
        }
       },
       "additionalProperties": false
      }
     },
     "takeout": {
      "type": "boolean"
     },
     "delivery": {
      "type": "boolean"
     },
     "location": {
      "type": "object",
      "required": [
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stableenrich-full-ce12acfb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stableenrich.dev](https://www.zero.xyz/host/stableenrich.dev/llms.txt)
