Scrape Google Maps with Python. One script. 100 businesses a call.
A Google Maps scraper in one Python script: every business for a search and an area, with its address, phone, website, rating and review count, saved to CSV. One API key. No Google Cloud account, browser or proxies.
MONOCRAWL_API_KEY=mn_••••••••Free plan · 1,000 credits a month · No card
What comes back
One search. Real businesses.
A real Google Maps search for coffee roasters in Brooklyn: 100 businesses for 4 credits, all different. 70 came with a phone number, 89 with a website link and 99 with a rating. 8 of them are below.
name, categoryThe business and its Google Maps category
addressIts full street address
phoneIts phone number, when listed
url, domainIts website link, when listed
ratingStar rating (value) and review count (votes)
latitude, longitudeWhere it is on the map
place_id, cidGoogle’s ids, for reviews and details
Every search costs 4 credits and returns up to 100 businesses; the recorded one returned 100. Slide to see what a list costs.
40credits, 4 per search
$0a month: the free plan covers it, no card
25collections like this a month on the free plan
Estimated at 100 businesses a search, as on the recorded search. Smaller areas can return fewer. Failed calls are free.
Two more things
Reviews, errors and rate limits.
A business’s reviews
Pass a place_id from the search to google_places/reviews for the reviews Google shows first on the listing, with each rating and text, 2 credits a place.
reviews.py
REVIEWS_URL = "https://www.monocrawl.com/v1/google_places/reviews"
body = requests.get(REVIEWS_URL, params={"id": "ChIJJfrC_sFZwokRLHD-4E2jvHM"}, headers=HEADERS, timeout=60).json()
for review in body["data"]["items"]:
print(review["rating"], review["text"])
Errors and rate limits
A failed call returns success: false with an error type and message, and costs nothing. On HTTP 429, wait and try again.
Do I need a Google Maps API key or a Google Cloud account?+
No. You call Monocrawl with your API key and get the businesses back as JSON. There is no Google Cloud project or billing account to set up.
How many businesses does one search return?+
Up to 100. The recorded search for coffee roasters in Brooklyn returned 100, all different. For more, search more areas or keywords and drop repeats by place_id, as the script does.
What does it cost?+
4 credits a search. The free plan’s 1,000 credits a month cover 250 searches, up to 25,000 businesses. Failed calls are free.
Does it include phone numbers, websites and emails?+
Phone numbers and website links, when the business lists them: 70 of the 100 recorded businesses had a phone and 89 a website link. Google Maps doesn’t list email addresses.
Can I get each business’s reviews?+
Yes. Pass the place_id to google_places/reviews for the reviews Google shows first, 2 credits a place.
What about Google’s own Places API?+
Google’s Places API bills per request through a Google Cloud billing account. Our Google Maps data API comparison sets out its prices next to the main providers.
Start free
Businesses from any Google Maps search. 4 credits a search.