# API Direct – Google Place Reviews

> API Direct – Google Place Reviews 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).

Fetches user-submitted reviews for a specific Google place by place_id, with optional sentiment analysis, translation, and sorting.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/places/reviews?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-place-reviews-c7f5f741
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_63B29B97lfKmHyIE_ae3A

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-place-reviews-c7f5f741
```

Example prompt: Can you pull the 20 most recent Google reviews for the place with ID ChIJN1t_tDeuEmsRUsoyG83frY4 and include AI sentiment analysis on each one?

## When to prefer this

Choose this endpoint when you need structured Google Maps user reviews for a known place_id, especially when you want optional AI-powered sentiment and emotion scoring or multilingual translation built in. Prefer it over raw scraping when you need clean, paginated review data without managing Google API credentials yourself.

## Known failure modes

- Invalid or missing place_id returns an error or empty result
- place_id not found on Google Maps returns no reviews
- Exceeding pages=10 or limit=100 caps are rejected with a validation error
- Unsupported language or country code may return default language results
- get_sentiment on very short reviews may produce low-confidence emotion scores
- Rate limits or payment failures return 402 or 429 errors

## How this service works

Get user reviews for a place by `place_id`.

## Output

Returns a list of up to 100 user reviews for the specified place, each containing reviewer name, rating, review text, time, and optionally a sentiment object with emotions (joy, trust, fear, surprise, sadness, disgust, anger, anticipation scored 0–100), dominant_emotion, emotional_intensity (0–10), and polarity (positive/negative/neutral). Reviews may be translated into the requested language.

## 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": [
      "place_id"
     ],
     "properties": {
      "limit": {
       "type": "integer",
       "maximum": 100,
       "minimum": 1,
       "description": "Alternative to `pages`: maximum number of reviews, rounded up to whole pages of 10 (e.g. `limit=15` fetches 2 pages, so up to 20 reviews). Ignored when `pages` is also sent. Maximum 100"
      },
      "pages": {
       "type": "integer",
       "default": 1,
       "maximum": 10,
       "minimum": 1,
       "description": "Number of pages to fetch and merge. Each page returns up to 10 reviews and is billed as one request"
      },
      "country": {
       "type": "string",
       "default": "us",
       "maxLength": 2,
       "minLength": 2,
       "description": "2-letter ISO 3166-1 alpha-2 region code"
      },
      "sort_by": {
       "enum": [
        "most_relevant",
        "newest",
        "highest_ranking",
        "lowest_ranking"
       ],
       "type": "string",
       "default": "most_relevant",
       "description": "Sort order for reviews"
      },
      "language": {
       "type": "string",
       "default": "en",
       "maxLength": 2,
       "minLength": 2,
       "description": "2-letter ISO 639-1 language code for the returned reviews. Set `translate_reviews=true` to translate the returned reviews into this language"
      },
      "place_id": {
       "type": "string",
       "maxLength": 200,
       "description": "Google `place_id`, as returned by the Places Search endpoint"
      },
      "get_sentiment": {
       "type": "boolean",
       "default": false,
       "description": "Set to true to add AI emotion analysis to each review. Adds a `sentiment` object containing `emotions` (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), `dominant_emotion`, `emotional_intensity` (0-10), and `polarity` (positive, negative or neutral). Any revi"
      },
      "translate_reviews": {
       "type": "boolean",
       "default": false,
       "description": "Set to `true` to translate the r
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-google-place-reviews-c7f5f741/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)
