Alfalfa

Google Maps scraper and API: places, reviews and emails as a table

Google Maps holds the most complete list of local businesses in the world, but it gives you about 120 places per search, no export and an API that is billed per request and returns no emails. This page shows how to get Google Maps places as rows: which fields each place has, how to get past the 120-place limit, how reviews and emails work, and what it costs.

Updated September 2026. Fields and limits measured on the live site.

The ways to get Google Maps data

RouteWhat you get
google.com/mapsSearch, scroll, click each place. About 120 places per search, no export.
Google Places APIOfficial, needs a Google Cloud billing account, billed per request, at most 60 places per text search, no emails, reviews limited to 5 per place.
Browser extensionsScroll the list for you in your browser. Slow, one search at a time, breaks with Maps updates.
Scraper on ApifySearch terms and locations in, one row per place out, with reviews and website contacts as options. Runs in the cloud, on a schedule or from code.

The scraper

The Google Maps Scraper on Apify takes search terms with locations (dentist in Chicago, IL), Google Maps URLs or place IDs and returns one row per place:

Free filters run before anything is charged: minimum rating, with or without a website, category words, name must contain the term, skip closed places. Field names match the most used Google Maps scraper on Apify, so existing sheets and automations keep working.

Calling it from code

curl -X POST "https://api.apify.com/v2/acts/alfalfa~google-maps-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"searchStringsArray":["plumber"],"locationQuery":"Houston, TX","website":"withoutWebsite","maxCrawledPlacesPerSearch":200}'

Longer jobs: start the run, poll it, read the dataset when it finishes. Schedules, webhooks and the n8n, Make and Zapier nodes work as for any Apify Actor; the API overview shows the pattern. For one row per review, add &unwind=reviews to the dataset URL.

Things to know before you trust the numbers

Uses that pay for themselves

Questions people ask

Is scraping Google Maps allowed?

The scraper reads data Google shows to every visitor without an account. Reviewer details can be turned off. When you use emails for outreach, follow the privacy and anti-spam rules of your country.

Why is it this cheap?

A place record is a few kilobytes and details are one small request. Prices are per event with no start fee and no charge per filter: $0.07 per 1,000 places, place details $0.20 per 1,000, reviews $0.035 per 1,000, website contacts $0.90 per 1,000 places with results. Each is the lowest per-event price for Google Maps data on Apify at every plan level.

Which countries and languages work?

Any country Google Maps covers and any of its languages. Reviews come in the original language with a translation into the language you pick.

Open the Google Maps Scraper Read: emails from Facebook pages