# Business Reviews (Google Maps via OpenWeb Ninja)

> Business Reviews (Google Maps via OpenWeb Ninja) is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Fetches and paginates real-time customer reviews for a specific business from Google Maps, with filtering, sorting, and translation options.

## Facts

- Endpoint: GET https://agents.openwebninja.com/local-business-data/business-reviews-v2?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-business-reviews-google-maps-via-openweb-ninja-f628f84b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qsqtDYoHaRgM2PfyAnbvt

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 agents-openwebninja-com-business-reviews-google-maps-via-openweb-ninja-f628f84b
```

Example prompt: Can you pull the 20 most recent Google Maps reviews for the business with place ID ChIJkaUn1JPTD4gR7ZWpE9cCuow, sorted by newest first, in English?

## When to prefer this

Use this endpoint when you need to retrieve, paginate, or search through Google Maps customer reviews for a specific business by its Google place ID or business ID. Prefer this over general search endpoints when the business is already identified and you need structured review data including ratings, text, photos, and author info. It is the right choice when you need translation, text-query filtering, or a specific sort order (newest, highest, lowest).

## Known failure modes

- Invalid or unrecognized business_id returns an empty reviews array or error status
- Expired or tampered pagination cursor may return unexpected results or an error
- Requesting reviews in an unsupported language code may fall back to default or return an error
- Rate limiting or payment failure returns a 402 or 429 HTTP status
- Region code mismatch may return fewer or different reviews than expected

## How this service works

Get all / paginate business reviews by Business Id using a pagination cursor.

## Output

Returns a paginated list of Google Maps reviews for the specified business, each containing a review ID, star rating (1–5), review text, author name and profile link, relative timestamp, photo URLs, like count, service quality structured answers, review source platform, language code, and a cursor for fetching the next page of results. The cursor is null when no further pages exist.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "business_id"
 ],
 "properties": {
  "limit": {
   "type": "string",
   "default": 20,
   "description": "Maximum number of business reviews to return.  \n\n  **Allowed values:** `1-100`"
  },
  "query": {
   "type": "string",
   "description": "Return reviews matching a text query"
  },
  "cursor": {
   "type": "string",
   "description": "Pagination cursor for fetching the next page of reviews. Pass the `cursor` value returned in the previous response's `data.cursor`. Omit on the first request to start from the most relevant reviews."
  },
  "fields": {
   "type": "string",
   "description": "A comma separated list of review fields to include in the response (field projection).  \n  By default all fields are returned."
  },
  "region": {
   "type": "string",
   "default": "us",
   "description": "Query Google Maps from a particular region or country.  \n  For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*."
  },
  "sort_by": {
   "enum": [
    "most_relevant",
    "newest",
    "highest_ranking",
    "lowest_ranking"
   ],
   "type": "string",
   "default": "most_relevant",
   "description": "How to sort the reviews in the results."
  },
  "language": {
   "type": "string",
   "default": "en",
   "description": "Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*."
  },
  "business_id": {
   "type": "string",
   "example": "0x89c259b5a9bd152b:0x31453e62a3be9f76",
   "description": "Unique Business Id. Accepts `google_id` / `business_id` or `place_id`.  \n\n  **Examples:**  \n  `0x880fd393d427a591:0x8cba02d713a995ed`  \n  `ChIJkaUn1JPTD4gR7ZWpE9cCuow`"
  },
  "translate_reviews": {
   "type": "boolean",
   "description": "Whether to translate reviews to the language specified as the language parameter (defaults to false)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "request_id",
  "parameters",
  "data"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "reviews"
   ],
   "properties": {
    "cursor": {
     "type": "string",
     "nullable": true,
     "description": "Pagination cursor for the next page of reviews. Pass it back as the `cursor` query parameter to fetch the next page. `null` when there are no more reviews."
    },
    "reviews": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "review_id",
       "rating"
      ],
      "properties": {
       "rating": {
        "type": "integer",
        "description": "Star rating given in the review (1-5)."
       },
       "author_id": {
        "type": "string",
        "nullable": true,
        "description": "Google Maps contributor ID of the review author."
       },
       "review_id": {
        "type": "string",
        "description": "Unique Google identifier of the review."
       },
       "like_count": {
        "type": "integer",
        "nullable": true,
        "description": "Number of likes the review received."
       },
       "author_link": {
        "type": "string",
        "nullable": true,
        "description": "URL to the author's Google Maps contributor profile."
       },
       "author_name": {
        "type": "string",
        "nullable": true,
        "description": "Display name of the review author."
       },
       "review_form": {
        "type": "object",
        "nullable": true,
        "description": "Free-form structured questions the author answered (e.g. 'What kind of trip was it?').",
        "additionalProperties": {
         "type": "string"
        }
       },
       "review_link": {
        "type": "string",
        "nullable": true,
        "description": "Direct Google Maps URL to the review."
       },
       "review_text": {
        "type": "string",
        "nullable": true,
        "description": "Full text content of the review."
       },
       "review_time": {
        "type": "string",
        "nullable": true,
        "description": "Human-friendly relative time of the review (e.g. '4 months ago') as shown on Google Maps."
       },
       "review_photos": {
        "type": "array",
        "items": {
         "type": "string"
        },
        "nullable": true,
        "description": "URLs of photos attached to the review."
       },
       "review_source": {
        "type": "string",
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-business-reviews-google-maps-via-openweb-ninja-f628f84b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
