All endpoints
Place Reviews

Place Reviews API

Get user reviews for a Google Maps place by place_id. Each review includes rating, full text, author info (photo, total review count, Local Guide level), timestamps, attached photos, and any owner response. Up to 20 reviews per language × sort_by combination — vary either to surface different reviews.

Price: $0.003 per request
Free tier: 50 requests/month
Endpoint
GET /v1/places/reviews

Parameters

place_id *
Google place_id, as returned by Places Search
limit
Number of reviews, 1-20 (default: 10). 20 is the maximum per language × sort_by combination
sort_by
most_relevant (default), newest, highest_ranking, lowest_ranking
language
2-letter ISO 639-1 code (default: en). Filters reviews to those originally written in this language — language=fr only returns French reviews, language=es only Spanish, etc.
translate_reviews
Set to true to translate the returned reviews into the requested language
country
2-letter region code (default: us)
get_sentiment
Set to true to add AI emotion analysis (+$0.001/request)

Response fields

reviews
Array of reviews
review_id
Stable review identifier
rating
Star rating, 1-5
review_text
Review body text
review_datetime_utc
ISO 8601 review datetime (UTC)
review_timestamp
Unix timestamp (seconds)
review_time
Human-readable relative time (e.g. 3 months ago)
review_link
Direct review URL on Google Maps
review_photos
Array of photo URLs attached to the review
review_language
Detected review language code
review_text_translated_language
Target language code if translated
like_count
Number of likes on the review
review_source
Source platform name (typically Google)
review_source_logo
Source platform logo URL
author_id
Google contributor ID
author_name
Review author display name
author_link
Author Maps profile URL
author_photo_url
Author profile photo URL
author_review_count
Total reviews this author has posted
author_photo_count
Total photos this author has uploaded
author_reviews_link
URL to all of this author's reviews
author_is_local_guide
Whether the author is a Google Local Guide
author_local_guide_level
Local Guide level (1-10) if applicable
owner_response
Object with text, datetime_utc, timestamp, time, language when the owner has replied (else null)
sentiment
Emotion analysis: emotions, dominant_emotion, emotional_intensity, polarity (when get_sentiment=true)
count
Number of reviews returned
limit
Requested limit
sort_by
Echoed sort order

Example Request

curl "https://apidirect.io/v1/places/reviews?place_id=ChIJifIePKtZwokRVZ-UdRGkZzs&limit=20&sort_by=newest" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "reviews": [
    {
      "review_id": "Ci9DQUlRQUNvZENodHljRjlvT2pWeU1rdFZhREZPY214dmRVSlplRzQ0ZURWVk9XYxAB",
      "rating": 5,
      "review_text": "Amazing pizza, fast service. Highly recommend.",
      "review_datetime_utc": "2026-02-15T12:05:54.947Z",
      "review_timestamp": 1771157154,
      "review_time": "3 months ago",
      "review_link": "https://www.google.com/maps/reviews/...",
      "review_photos": ["https://lh3.googleusercontent.com/grass-cs/..."],
      "review_language": "en",
      "review_text_translated_language": "en",
      "like_count": 0,
      "review_source": "Google",
      "review_source_logo": "https://www.gstatic.com/images/branding/product/1x/googleg_48dp.png",
      "author_id": "103696814314978516852",
      "author_name": "Salman Idrees",
      "author_link": "https://www.google.com/maps/contrib/103696814314978516852",
      "author_photo_url": "https://lh3.googleusercontent.com/a-/ALV-...",
      "author_review_count": 392,
      "author_photo_count": 356,
      "author_reviews_link": "https://www.google.com/maps/contrib/103696814314978516852/reviews",
      "author_is_local_guide": true,
      "author_local_guide_level": 7,
      "owner_response": null
    }
  ],
  "count": 1,
  "limit": 20,
  "sort_by": "newest"
}

Frequently asked questions

How many reviews can I get?

Up to 20 per request, scoped to a single (language, sort_by) combination. Vary either knob to surface different reviews. sort_by has 4 options (most_relevant, newest, highest_ranking, lowest_ranking), and language acts as a strict filter on the review's original language — so an internationally-visited place can expose hundreds or thousands of reviews when you iterate over both. Each call is billed at $0.003.

How does the language parameter work?

language is a filter on the review's original written language. language=fr only returns reviews written in French; language=es only Spanish; etc. Different language values return entirely different review sets — there's no overlap. Combine with sort_by to multiply the pool.

What does sort_by=newest do?

Returns reviews in reverse chronological order — newest first. Use this for monitoring fresh reviews and owner responses. The default most_relevant uses Google's relevance ranking.

Does this include owner responses?

Yes. When a business owner has replied to a review, the owner_response field contains the text, timestamp and language of their response. It is null when the owner has not replied.

Can I translate reviews?

Yes. Set translate_reviews=true and the returned reviews will be translated into the requested language. The review_text field carries the translation; review_language tells you the original language; review_text_translated_language matches your target.

How does pricing work?

You only pay for successful requests. The Place Reviews API costs $0.003 per request. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.

Are there rate limits?

Yes, there's a concurrency limit of 3 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Place Reviews API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key