---
title: "List Google Business reviews"
method: GET
path: "/api/businesses/{business_id}/reviews"
tags: ["businesses"]
---

# List Google Business reviews

`GET /api/businesses/{business_id}/reviews`

## Request

- Base URL: `https://api.mymarky.ai`
- URL: `https://api.mymarky.ai/api/businesses/{business_id}/reviews`
- Auth: HTTP bearer

List the Google Business reviews for a business.

Reads reviews from the business's connected Google Business (Google My
Business) account: reviewer, star rating, text, timestamps, and the
business's public reply if it has one. Use this to surface or summarize
customer feedback (e.g. pull recent 5-star reviews). Paginate with the
returned `next_cursor` until it is null. When present, `needs_reply` marks
the reviews still waiting on the owner (3 stars or less, no reply).

READ ONLY — this endpoint never writes or replies to reviews.

Errors:
    400 invalid_value: The business_id is not a valid UUID.
    401 authentication_required: API key or token is missing, invalid, or revoked.
    401 SOCIAL_TOKEN_EXPIRED: The Google Business connection auth failed; reconnect the account.
    403 permission_denied: Your plan does not include API access, or this business is not in your org.
    404 NO_CONNECTED_SOCIALS: No Google Business account is connected to this business.
    404 resource_not_found: No business with that ID exists.
    429 rate_limit_exceeded: You sent too many requests this minute.
    502 UPSTREAM_PROVIDER_ERROR: Google returned an error while fetching reviews.

## Path parameters

- `business_id` string, required

## Query parameters

- `limit` integer: Max reviews per page (1-50).
- `cursor` string, nullable: Pagination cursor. Pass the `next_cursor` from a previous response.
- `order_by` string: Sort order: 'updateTime desc' (default), 'rating', or 'rating desc'.

## Headers

- `Marky-Version` '2026-04-08' | '2026-07-17' | '2026-08-02' | '2026-08-04' | '2026-08-06'

## Response `200`

Successful Response

- SrcRoutesApiV1ReviewsBusinessReviewsResponse: A page of Google Business reviews for a business, with summary stats. Pagination is cursor-style: when `next_cursor` is non-null there are more reviews — pass it back as the `cursor` query param to fetch the next page.
  - `reviews` ReviewResponse[], required: The reviews on this page
    - `review_id` string, required: Stable Google identifier for this review
    - `reviewer_name` string, required: Display name of the person who left the review
    - `reviewer_photo_url` string, nullable: Reviewer's profile photo URL, if Google provides one
    - `rating` integer, required: Star rating from 1 (worst) to 5 (best)
    - `text` string, nullable: The review comment. Null for star-only reviews with no written text.
    - `created_at` string, required: When the review was first posted (ISO 8601 / RFC 3339 timestamp)
    - `updated_at` string, required: When the review was last edited (ISO 8601 / RFC 3339 timestamp)
    - `has_reply` boolean, required: Whether the business has publicly replied to this review
    - `reply_text` string, nullable: The business's public reply, if any
    - `reply_updated_at` string, nullable: When the business's reply was last updated (ISO 8601), if any
    - `needs_reply` boolean, nullable: True when the review is rated 3 stars or less and has no reply yet: it is waiting on the owner. Omitted when this workspace does not have the feature.
  - `average_rating` number, nullable: Average star rating across all reviews (Google-reported)
  - `total_review_count` integer, nullable: Total number of reviews on the location (Google-reported)
  - `next_cursor` string, nullable: Cursor for the next page. Null when there are no more reviews. Pass as the `cursor` query param.

## Other responses

- `400`: Bad request — the input was malformed or otherwise invalid.
- `401`: Authentication failed — the API key is missing or invalid.
- `403`: Forbidden — the key is valid but may not access this resource.
- `404`: Not found — no resource matches the id in the path.
- `422`: Validation error — one or more fields failed validation.
- `429`: Rate limited — retry after the window resets (see Retry-After).
- `500`: Server error — something failed on our side; retry or quote X-Request-Id.

---

[API](https://skmtc.dev/mymarky/apis/marky-public-api.md) · [All operations](https://skmtc.dev/mymarky/apis/marky-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mymarky/apis/marky-public-api/revisions/25aeacae455c?raw)
