This skill helps an AI agent run the Apify Google Maps Reviews Scraper actor for exact-place review extraction.
Default actor:
V2kIsQs3Ta9C9kkEtx_guru/google-maps-reviews-scraperhttps://apify.com/x_guru/google-maps-reviews-scraperUse this skill when a user asks to:
startUrls or placeIds, maxReviews, reviewsSort, language, and personalData.reviewsStartDate only when the user needs recent reviews.maxTotalChargeUsd when spend matters.scripts/google_maps_reviews_scraper_actor.py or call the Apify API directly.RUN_SUMMARY for diagnostics.startUrls must be array objects: [{"url": "https://www.google.com/maps/..."}].placeIds accepts raw Google Place IDs, place_id: values, or compatible URLs.maxReviews is required in practice and should be a positive integer.reviewsSort must be one of newest, mostRelevant, highestRanking, or lowestRanking.reviewsSort: "newest" with reviewsStartDate.reviewsStartDate accepts YYYY-MM-DD or relative values such as 8 days, 3 months, or 1 year.reviewsOrigin should usually be google; all is accepted for compatibility.personalData=false when the user only needs review text, rating, date, and place metadata.Use an Apify token:
export APIFY_TOKEN='apify_api_xxx'
Never hardcode or print the full token.
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
{
"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
}
{
"placeIds": ["ChIJ8Q2WSpJZwokRQz-bYYgEskM"],
"maxReviews": 250,
"reviewsSort": "mostRelevant",
"reviewsOrigin": "google",
"language": "en"
}
{
"placeIds": ["ChIJ8Q2WSpJZwokRQz-bYYgEskM"],
"maxReviews": 100,
"reviewsSort": "newest",
"reviewsStartDate": "3 months",
"personalData": false
}
The runner returns:
okactorIdfetchedAtinputUseditemCountrows[]Rows are actor dataset items. Important groups:
searchString, inputStartUrl, inputPlaceId, rank, searchPageUrl, searchPageLoadedUrlreviewId, reviewUrl, text, textTranslated, publishAt, publishedAtDate, stars, rating, likesCount, reviewOrigin, originalLanguage, translatedLanguageresponseFromOwnerDate, responseFromOwnerTextreviewImageUrls, reviewContext, reviewDetailedRating, visitedIn, isAdvertisementreviewerId, reviewerUrl, name, reviewerNumberOfReviews, isLocalGuide, reviewerPhotoUrltitle, placeId, fid, cid, kgmid, categoryName, categories, totalScore, reviewsCount, url, imageUrl, priceaddress, city, state, countryCode, location, scrapedAt, languageFor the full contract, read references/input-output-contract.md.
RUN_SUMMARY.personalData=false was used before treating it as missing data.references/input-output-contract.mdreferences/sample_input.jsonreferences/troubleshooting.md共 1 个版本