Use this skill when the user needs Google Maps business data through an Apify actor, including local business leads, place URLs, Place IDs, websites, phones,...
Browser
Google Maps Reviews Scraper (Apify)
Try itUse this skill when the user needs Google Maps reviews from exact places through an Apify actor, including review text, ratings, dates, review URLs, reviewer...
What it does
Use this skill when the user needs Google Maps reviews from exact places through an Apify actor, including review text, ratings, dates, review URLs, reviewer...
The skill document
Google Maps Reviews Scraper Apify Skill
Overview
This skill helps an AI agent run the Apify Google Maps Reviews Scraper actor for exact-place review extraction.
Default actor:
- Actor ID:
V2kIsQs3Ta9C9kkEt - Actor name:
x_guru/google-maps-reviews-scraper - Store page:
https://apify.com/x_guru/google-maps-reviews-scraper
Use this skill when a user asks to:
- export Google reviews from a known Google Maps place
- scrape reviews from Google Maps place URLs, CID URLs, review data URLs, or Place IDs
- collect review text, star ratings, dates, review IDs, and direct review URLs
- include public reviewer profile fields
- collect owner replies, review images, review context, detailed ratings, and place metadata
- build review datasets for local SEO, reputation monitoring, sentiment analysis, competitor research, or BI exports
Quick Workflow
- Confirm the user has exact sources: Google Maps place URLs, CID URLs, review URLs, or Place IDs.
- If the user only has a keyword/location search, run the main Google Maps Scraper first to discover places.
- Build input with
startUrlsorplaceIds,maxReviews,reviewsSort,language, andpersonalData. - Set
reviewsStartDateonly when the user needs recent reviews. - Set a budget guard with Apify
maxTotalChargeUsdwhen spend matters. - Run
scripts/google_maps_reviews_scraper_actor.pyor call the Apify API directly. - Return rows plus a compact summary. Mention
RUN_SUMMARYfor diagnostics.
Payload Rules
startUrlsmust be array objects:[{"url": "https://www.google.com/maps/..."}].placeIdsaccepts raw Google Place IDs,place_id:values, or compatible URLs.maxReviewsis required in practice and should be a positive integer.reviewsSortmust be one ofnewest,mostRelevant,highestRanking, orlowestRanking.- Use
reviewsSort: "newest"withreviewsStartDate. reviewsStartDateacceptsYYYY-MM-DDor relative values such as8 days,3 months, or1 year.reviewsOriginshould usually begoogle;allis accepted for compatibility.- Set
personalData=falsewhen the user only needs review text, rating, date, and place metadata.
Authentication
Use an Apify token:
export APIFY_TOKEN='apify_api_xxx'
Never hardcode or print the full token.
Script Usage
The bundled script uses only Python standard library.
Run by Place ID:
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/google_maps_reviews_scraper_actor.py quick-place-id \
--place-id "ChIJ8Q2WSpJZwokRQz-bYYgEskM" \
--max-reviews 25 \
--budget-usd 1
Run by Google Maps URL:
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/google_maps_reviews_scraper_actor.py quick-url \
--url "https://www.google.com/maps/place/Joe%27s+Pizza/..." \
--max-reviews 100 \
--reviews-sort newest \
--budget-usd 1
Run custom JSON:
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/google_maps_reviews_scraper_actor.py run \
--input-file references/sample_input.json \
--budget-usd 1
Input Examples
Place URL
{
"startUrls": [
{
"url": "https://www.google.com/maps/place/Joe%27s+Pizza/@40.7306597,-74.0021707,17z/data=!3m1!4b1!4m6!3m5!1s0x89c259924a960df1:0x43b20488619b3f43!8m2!3d40.7306597!4d-74.0021707!16s%2Fg%2F1tyyy0n3"
}
],
"maxReviews": 100,
"reviewsSort": "newest",
"language": "en",
"personalData": true
}
Place ID
{
"placeIds": ["ChIJ8Q2WSpJZwokRQz-bYYgEskM"],
"maxReviews": 250,
"reviewsSort": "mostRelevant",
"reviewsOrigin": "google",
"language": "en"
}
Recent Reviews
{
"placeIds": ["ChIJ8Q2WSpJZwokRQz-bYYgEskM"],
"maxReviews": 100,
"reviewsSort": "newest",
"reviewsStartDate": "3 months",
"personalData": false
}
Output Contract
The runner returns:
okactorIdfetchedAtinputUseditemCountrows[]
Rows are actor dataset items. Important groups:
- Source:
searchString,inputStartUrl,inputPlaceId,rank,searchPageUrl,searchPageLoadedUrl - Review:
reviewId,reviewUrl,text,textTranslated,publishAt,publishedAtDate,stars,rating,likesCount,reviewOrigin,originalLanguage,translatedLanguage - Owner response:
responseFromOwnerDate,responseFromOwnerText - Review extras:
reviewImageUrls,reviewContext,reviewDetailedRating,visitedIn,isAdvertisement - Reviewer:
reviewerId,reviewerUrl,name,reviewerNumberOfReviews,isLocalGuide,reviewerPhotoUrl - Place:
title,placeId,fid,cid,kgmid,categoryName,categories,totalScore,reviewsCount,url,imageUrl,price - Address/runtime:
address,city,state,countryCode,location,scrapedAt,language
For the full contract, read references/input-output-contract.md.
Agent Response Rules
- If the user provides a broad search URL, explain that this reviews actor needs exact places.
- If no rows are returned, say the run succeeded but no matching reviews were saved, then suggest checking
RUN_SUMMARY. - If reviewer profile fields are null, check whether
personalData=falsewas used before treating it as missing data. - If date filtering is active, describe it as best-effort because Google often returns relative dates.
- For large jobs, split by place list and use budget limits.
References
references/input-output-contract.mdreferences/sample_input.jsonreferences/troubleshooting.md
Related skills
Use this skill when the user needs Google Maps place and business data through an Apify actor, including Google Places data, local business listings, address...
Search Google Local for nearby places
Use this skill when the user needs public business email leads from Google Maps through an Apify actor, including emails, email details, websites, phones, so...
Search Google Maps for locations
Collect Google Map Details data and return results