Skip to main content

What it does

The Get Business Reviews tool fetches Google reviews for a business or place. It accepts a place_id directly (from Search Google Maps) for maximum reliability, or falls back to an internal Google Maps search using business_name (+ optional location) to resolve the place first. Great for reputation research, sentiment summaries, competitor review analysis, and lead-gen quality signals.

Key features

  • Works with a known place_id or a business name
  • Auto-lookup fallback — no need to pre-run a maps search if you only have a name
  • Sort reviews by relevance, newest, highest rating, or lowest rating
  • Pagination via next_page_token for fetching additional pages
  • Optional topic filtering via Google topic_id

Parameters

ParameterTypeRequiredDescription
place_idstringOne ofGoogle place_id (preferred). Obtain from search_google_maps. When provided, no auto-lookup is performed.
business_namestringOne ofBusiness name — used to auto-lookup place_id when place_id is not provided. Less reliable for ambiguous names.
locationstringNoOptional location to disambiguate business_name (e.g., "Austin, TX"). Only used when place_id is not provided.
sort_bystringNoSort order: "most_relevant" (default), "newest", "highest_rating", "lowest_rating"
topic_idstringNoOptional Google topic/KGMID filter (e.g., "/m/016bn0") to filter reviews by topic
next_page_tokenstringNoPagination cursor returned by a previous call
hlstringNoLanguage code (e.g., "en", "es"). Default: "en"
glstringNoTwo-letter country code (e.g., "us", "gb")
Either place_id or business_name is required. Passing place_id is strongly preferred — auto-lookup by name uses Google’s top search result, which can be ambiguous for common names.

Common use cases

Fetch reviews by place_id (preferred)

place_id: "ChIJM8w7rqS1RIYRhEz2-KuoqzE"
sort_by: "newest"

Fetch reviews by business name (auto-lookup)

business_name: "Franklin Barbecue"
location: "Austin, TX"
The tool first resolves the place_id via Google Maps, then returns reviews. The response includes resolved_via: "name_lookup" so you know the fallback was used.

Paginate through more reviews

place_id: "ChIJM8w7rqS1RIYRhEz2-KuoqzE"
next_page_token: "<token_from_previous_response>"

Get the worst reviews (risk research)

place_id: "ChIJ..."
sort_by: "lowest_rating"

What you get back

{
  "place": {
    "place_id": "...",
    "title": "...",
    "address": "...",
    "rating": 4.7,
    "reviews_count": 7065,
    "website": "...",
    "phone": "..."
  },
  "resolved_via": "place_id",           // or "name_lookup"
  "reviews": [
    {
      "review_id": "...",
      "author": "Kevin S.",
      "author_reviews_count": 12,
      "author_local_guide": true,
      "rating": 5,
      "date": "2 weeks ago",
      "iso_date": "2026-04-05T...",
      "snippet": "Worth every minute of the wait...",
      "likes": 3,
      "owner_response": { "date": "...", "snippet": "..." }
    }
  ],
  "returned": 10,
  "next_page_token": "..."
}

Best practices

  • Always prefer place_id over business_name when you have it — faster and disambiguated
  • Pair with Search Google Maps at the start of a workflow to capture place_ids for batch processing
  • Use sort_by: "newest" for fresh signals (recent service quality, new menu, etc.) and sort_by: "lowest_rating" for risk/complaint analysis
  • Paginate only as needed — 10 reviews is usually enough for a summary

Troubleshooting

“Could not find a Google Maps place for <name>”
  • Add a location (city, state) to disambiguate
  • Fall back to calling search_google_maps directly and passing the place_id explicitly
“Either place_id or business_name is required”
  • You called the tool with neither — pass one of them
Fewer reviews than expected
  • Use next_page_token to paginate
  • Try a different sort_by — each sort surfaces a different slice