Google Maps Scraper avatar

Google Maps Scraper

Pricing

$1.13 / 1,000 place returneds

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Scrapes Google Maps places by search query and returns name, category, address, rating, review count, phone, website, lat/lng and place ID — built for local business lead lists.

Pricing

$1.13 / 1,000 place returneds

Rating

5.0

(2)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

2 days ago

Last modified

Share

Scrape Google Maps places and public reviews with a real browser. Place records include name, category, address, rating, review count, phone, website, coordinates, and place IDs. Review records include reviewer, rating, text, relative date, owner reply, and photo URLs.

Input

FieldNotes
searchQueriesOne or more searches, with location included, such as coffee in Brooklyn.
searchQuerySingle-search alternative.
maxItemsPlaces per search, default 60, maximum 500.
reviewUrlsDirect Google Maps place URLs to scrape public reviews from.
placeUrlsAlias for reviewUrls.
maxReviewsPerPlaceNewest reviews per URL or discovered place, default 50, maximum 500.
includeReviewsWith search queries, also opens every returned place and collects reviews. Default false.
includeOwnerRepliesAttempts to include visible owner replies. Default true.
languageMaps UI language, such as en, de, or fr.
countryCodeOptional two-letter residential proxy country.
proxyConfigurationApify Proxy configuration. Residential is strongly recommended.

Review mode

Pass direct place URLs when you need reviews rather than only search-card metadata:

{
"reviewUrls": ["https://www.google.com/maps/place/Example+Business/@40.7,-74,17z/data=..."],
"maxReviewsPerPlace": 100,
"includeOwnerReplies": true
}

The actor opens the rendered review pane, scrolls it until the requested count or the end of the loaded list, and emits one type: "review" row per unique review. It uses Google's data-review-id when available and falls back to reviewer/date/text for deduplication. Set includeReviews: true with searchQueries for discovery plus reviews in one run.

Output and billing

Place mode emits one row per place. Review mode emits type, placeId, placeName, placeUrl, reviewId, reviewerName, rating, relativeDate, text, ownerReply, and photoUrls. Place mode charges once per returned place. Blocked and bad-input runs emit an ok: false diagnostic row and are never charged. An entirely empty input emits one explicit _sample: true, charged: false sample row without launching a browser or consuming proxy traffic.

Review execution is currently disabled with an uncharged MARGIN_BLOCKED diagnostic. A live residential-browser benchmark cost $0.05658 without returning a review, which cannot support a price below the current $0.00035/review Marketplace floor. Place search remains available and unchanged.

Proxy and limitations

Google challenges datacenter IPs quickly, so residential proxy access is the expected setup. The actor rotates the browser and proxy session when it detects a captcha. Review extraction depends on Google's rendered review pane and can return a BLOCKED diagnostic when Google challenges the browser; no review is charged in that case. Markup changes may require selector updates over time.

Optional Notion delivery remains available through notionConnector and notionParentId.