Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Extract business data from Google Maps — places, full profiles, popular times and reviews — from anywhere in the world, without an API key or a Google account. Runs fully in the cloud, outputs a clean dataset (or JSON).

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

kibalee

kibalee

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

Extract business data from Google Maps — places, full profiles, popular times, and reviews — from anywhere in the world, without an API key or a Google account. Runs fully in the cloud, outputs a clean dataset (or JSON).

What you can scrape

  • Places by keyword, worldwide — search any query the way you type it in Google Maps. Name the area in the query and it is found automatically: "coffee shops in Paris" finds cafes in Paris, "dentists near Central Park" finds dentists around Central Park — no coordinates, no extra setup. For precise spots, set the map center to exact coordinates instead.
  • Business profile per place — name, address (street & full), rating, review count, category, tagline, phone, website, opening hours per day, current open/closed status, coordinates, Google Maps link.
  • Popular times — how busy a place gets: score 0–100 for every hour of every day of the week, with plain-language labels, plus live "right now" popularity.
  • Reviews — full review text with author name, star rating, date, relative date, and photo attachments.

Quick start

  1. Run the actor with one input: the search query.
  2. Result: one dataset record per place. Turn on the extra options for popular times or reviews.

Example run — keyword: "coffee shop Paris", maxResults: 10:

{
"keyword": "coffee shop Paris",
"maxResults": 10,
"scrapeReviews": true,
"maxReviewsPerPlace": 20
}

Example result

One real record from a run of "coffee shop Paris" (arrays trimmed):

{
"title": "Shukery coffee & matcha",
"address": "18 Av. de l'Opéra, 75001 Paris",
"rating": 4.8,
"reviewCount": 1420,
"categoryLabel": "Coffee shop",
"tagline": "Dogs allowed",
"phone": "01 53 40 83 64",
"website": "https://www.instagram.com/shukerycoffee/",
"openStatus": "Open · Closes 10 pm",
"schedule": {
"Monday": ["7:30 am–9 pm"],
"...": "..."
},
"popularTimes": {
"Monday": [
{ "hour": 9, "score": 42, "label": "Usually not too busy" },
"..."
]
},
"popularTimesReal": {
"day": "Friday",
"hour": 12,
"score": 39,
"label": "Not too busy"
},
"reviews": []
}

Input

FieldWhat it does
Search query (required)Keyword to search, e.g. coffee shops in Paris. Areas named in the query are found automatically, anywhere in the world.
Map centerOptional coordinates to search around. Only needed for a precise spot — usually the area in the query is enough.
Max resultsHow many places to return.
Scrape place detailsFetch the full profile of each place (default on).
Scrape popular timesCapture the 7×24 popularity histogram + live popularity (default off).
Scrape reviewsAdd review text per place.
Max reviews per placeStop after N reviews (0 = unlimited).
Reviews delayPause between review pages (raise it if reviews stop coming).
ConcurrencyPlaces processed in parallel (speed vs. safety).
UI language / RegionLanguage & region Google returns labels in (default en / US).

Record fields

FieldWhat it is
titlePlace name
address, addressFullStreet address, then the full address
latitude, longitudeCoordinates
rating, reviewCountAverage rating and how many people reviewed it
categoryLabel, taglineCategory (e.g. "Coffee shop") and short descriptor
phone, websiteContact details
openStatus, scheduleOpen/closed now, and opening hours per weekday
popularTimes, popularTimesReal7×24 busy score 0–100 + live popularity
reviewsReview objects when reviews are enabled
url, placeIdLink to the place on Google Maps, plus its stable place id

How much does it cost you?

Roughly one Google request per action:

ActionRequests
Search (1 query)1 request → up to ~20 places
Profile per place1 request per place
Popular timesincluded in the profile request
Reviews1 request per ~20–25 reviews

No API-key fees, no per-row hidden costs — you only pay Apify's platform compute for the requests actually made. Plus a few automatic requests per run (session warm-up, ~4–5 total) — a one-time cost per run, not per place. When your query names an area, the actor also looks that area up once via a free geocoder (no Google request, no API key) so it searches the area you asked for.

Billing is pay-per-event: a small fee per place saved, an extra fee per full business profile you scrape, and a small fee per 25 reviews when reviews are enabled. Exact prices: the Pricing tab on the Store page.

FAQ

Does it work outside one region? Yes — any country. Name the city, district or area in the query ("sushi in Tokyo", "cafes in Lisbon", "plumbers in Brooklyn") and it is found automatically; or pin the map center to exact coordinates.

What if the query has no area and I leave the center empty? The run stops with a clear message telling you to add an area or set the center — it never silently searches the wrong place.

Do I need proxies? Usually not — this scraper talks to Google Maps directly, no browser. If Google ever throttles your requests ("limited view"), add a GMAPS_PROXY environment variable (any HTTP/SOCKS proxy URL) and the actor will route around it.

Does it use the official Google Places API? No — no API key, no $17–32 per 1,000 calls, no usage limits beyond what Google itself enforces on any visitor.

How fresh is the data? Live — every run fetches Google Maps data at that moment.

Popular times missing for some places? Normal — Google only shows popular times for places that get enough foot traffic.

Does scraping reviews need a Google account? No. Anonymous is enough and safer.