Google Maps Reviews avatar

Google Maps Reviews

Under maintenance

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Google Maps Reviews

Google Maps Reviews

Under maintenance

Scrap Google maps reviews with the place detail information.

Pricing

from $0.40 / 1,000 results

Rating

5.0

(1)

Developer

Jin Bae

Jin Bae

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

13 days ago

Last modified

Share

Google Maps Reviews Scraper

Extract place details, ratings, and customer reviews from any Google Maps location. Export clean, flat data to CSV, JSON, or Excel.

  • Scrape place details: name, rating, address, coordinates, contact info, categories, and more
  • Collect customer reviews: text, rating, reviewer profile, photos, business responses
  • Bulk scrape via URLs, Place IDs, CIDs, or CID strings
  • CSV-friendly flat output by default, no nested objects

How it works

  1. Add places - Paste Google Maps URLs, enter Place IDs, CIDs, or CID strings
  2. Configure - Choose scrape mode, review sorting, and filters
  3. Run - Get structured data in your preferred format

Input

Places to scrape

Provide places using any combination of these methods:

FieldDescription
Google Maps URLsPaste one or more place URLs from your browser
Place IDsEnter Google Maps Place IDs (e.g., ChIJLwiGVMKifDURzGJnUMCMSx8)
CIDsEnter Google Maps decimal CIDs (e.g., 16813526255109441016)
CID stringsEnter Google Maps cid_str values (e.g., 0x357ca2eb421c44ad:0xe955a50c118085f8)

Options

FieldDefaultDescription
Scrape modePlace + ReviewsWhat to collect: place details only, reviews only, or both
Review sort orderNewest firstHow to sort reviews: newest, most relevant, highest/lowest rating
Max reviews per place(all)Limit the number of reviews per place
Reviews since date(none)Only collect reviews after this date (requires sort = Newest)
LanguageEnglishLanguage for place details and review translations
Output formatFlatFlat (CSV-friendly) or Nested (JSON objects)

Example input

{
"scrapeMode": "all",
"places": {
"startUrls": [
{ "url": "https://www.google.com/maps/place/Gwanghwamun+Square/@37.5723718,126.9767087,17z/" }
],
"cids": ["16813526255109441016"]
},
"sort": "newest",
"maxReviews": 100,
"language": "en"
}

Output

Flat format (default)

Each row is a self-contained record with all fields at the top level. Place fields use a place_ prefix. This format exports cleanly to CSV and Excel.

{
"place_name": "Gwanghwamun Square",
"place_rating": 4.6,
"place_review_count": 12847,
"place_address": "161 Sejong-daero, Jongno-gu, Seoul, South Korea",
"place_lat": 37.5723718,
"place_lng": 126.9767087,
"place_cid": 16808063476328097272,
"place_cid_str": "0xe955a50c118085f8",
"place_place_id": "ChIJrUQcQutYezURGICADEylVek",
"place_category": "Plaza",
"place_categories": "Plaza | Tourist attraction",
"place_website": "https://www.seoul.go.kr/",
"place_phone": "+82-2-120",
"review_id": "ChdDSUhNMG9nS0VJQ0...",
"rating": 5,
"text": "Beautiful open space in the heart of Seoul...",
"published_at": "2025-03-15T09:30:00Z",
"reviewer_name": "John D.",
"reviewer_is_local_guide": true,
"scraped_at": "2025-04-06T12:00:00Z"
}

Nested format

When output format is set to Nested (JSON), data is grouped under place and review objects:

{
"input": { "url": "https://...", "language": "en" },
"place": {
"name": "Gwanghwamun Square",
"rating": 4.6,
"review_count": 12847,
"address": "161 Sejong-daero, Jongno-gu, Seoul, South Korea",
"lat": 37.5723718,
"lng": 126.9767087
},
"review": {
"review_id": "ChdDSUhNMG9nS0VJQ0...",
"rating": 5,
"text": "Beautiful open space...",
"reviewer": { "name": "John D.", "is_local_guide": true }
},
"hasReviews": true,
"scrapedAt": "2025-04-06T12:00:00Z"
}

Place fields

FieldTypeDescription
place_namestringPlace name
place_lat / place_lngfloatCoordinates
place_cidintegerGoogle CID (integer)
place_cid_strstringCID in 0x hex format
place_place_idstringGoogle Place ID
place_ratingfloatAverage rating
place_review_countintegerTotal review count
place_categorystringPrimary category
place_categoriesstringAll categories (pipe-separated in flat mode)
place_addressstringFull address
place_streetstringStreet address
place_citystringCity
place_statestringState/Province
place_postal_codestringPostal code
place_country_codestringCountry code
place_websitestringWebsite URL
place_phonestringPhone number
place_timezonestringTimezone
place_thumbnailstringThumbnail image URL
place_business_statusstringBusiness status

Review fields

FieldTypeDescription
review_idstringReview unique ID
ratingfloatReview rating
textstringReview text (original)
text_translatedstringTranslated review text
published_atstringPublication date (ISO 8601)
modified_atstringLast modified date
time_displaystringRelative time (e.g., "3 months ago")
language_codestringOriginal language code
likesintegerNumber of likes
review_urlstringDirect review URL
reviewer_namestringReviewer name
reviewer_profile_urlstringReviewer profile URL
reviewer_total_reviewsintegerReviewer's total reviews
reviewer_is_local_guidebooleanLocal Guide status
platform_namestringReview platform name
mediastringAttached media (JSON array in flat mode)
business_response_textstringBusiness owner's response

Tips

How to find a Google Maps URL

  1. Open Google Maps
  2. Search for a place and click on it
  3. Copy the URL from your browser's address bar

How to find a Place ID

Look for the 1s parameter in a Google Maps URL:

https://www.google.com/maps/place/...data=...!1sChIJLwiGVMKifDURzGJnUMCMSx8...

The value after !1s is the Place ID: ChIJLwiGVMKifDURzGJnUMCMSx8

How to find a CID or cid_str

Look for these values in a Google Maps URL or in a previously scraped dataset row:

  • cid: decimal identifier such as 16813526255109441016
  • cid_str: hex pair such as 0x357ca2eb421c44ad:0xe955a50c118085f8

Reviews since date

The "Reviews since date" filter only works when review sort order is set to Newest first. This is because the scraper stops paginating when it reaches reviews older than the specified date, which only works correctly in chronological order.

Actor address

stable_crawl/google-maps-reviews

Local development

$apify run --input-file test-input.json

Results are saved to storage/. Deploy to the Apify platform for cloud runs and dataset export.