Google Maps Scraper
Scrape Google Maps places, reviews, photos, contacts and run it on bro's cloud browsers.

TL;DR: We built an open-source Google Maps scraper in Python.
It reliably extracts complete business profiles, including reviews, photos, and contact info, while dodging captchas. Because it runs on bro's cloud browsers, it's incredibly cost efficient compared to alternatives. Check out how easy it is to get started below.
Motivation
There is a ton of valuable data hidden behind business listings: business hours, customer reviews, owner responses and contact details.
We wanted to build a scraper that gives you full control over the extraction process. You should be able to choose exactly what to collect, run it yourself and never lose your progress if something goes wrong.
We used Apify's Google Maps Scraper as the industry standard benchmark to see if we could build a cost-effective, open-source alternative with matching inputs and outputs.
What data can it extract?

Give it place URLs, place IDs or an area to search with queries like restaurant, cafe or store. You can choose exactly what sections to scrape:
| Target | What you get |
|---|---|
| Places | Names, addresses, coordinates, categories, ratings, hours and business details |
| Reviews | Google reviews and partner reviews (Tripadvisor, Priceline, etc.), sorting and search |
| Dates | Exact publication, edit and owner-response dates |
| Media & Q&A | Photos with author metadata, plus all questions and answers |
| Contacts | Emails, phones and social links extracted directly from the business website |
| Directories | Businesses located inside another place (like shops in a mall) |
If you are already using Apify, our scraper can export data in the exact same format so your existing code won't break.
How it actually works
Instead of forcing you to setup Docker containers or fight CAPTCHAs, bro runs the browser sessions remotely. Your Python script simply tells it what to extract.
Behind the scenes, the scraper smartly handles map navigation and deep dives into individual listings. For area searches, it splits the map into a grid of smaller cells, scanning each one to ensure no business is missed. It also features a built-in SQLite database that saves your progress in real-time. If your run gets interrupted, you can resume right where you left off without paying to scrape the same data twice.
Dates and reviews are also cached, meaning subsequent runs on the same places are incredibly fast and cheap.
bro vs. Apify

Building scraper on bro saves you up to 95% of budget
We tested our scraper against Apify across 24 places in five languages, asking both tools to extract full profiles including reviews, photos, contacts and Q&A.
Data Quality
Our scraper successfully extracted 3,846 out of 3,847 reviews found by Apify (99.97%). It also matched all owner-response dates and successfully grabbed the same questions and answers.
Finding Places by Area
When searching for places inside a specific city polygon (like Pittsburgh or Berlin), our scraper found more than twice as many businesses in Pittsburgh (448 vs 200) for a fraction of the cost ($0.05 vs $0.60). In Berlin, it found slightly fewer (277 vs 292) but still cost 95% less ($0.038 vs $0.876).
Cost & Speed
Because bro charges only for the raw compute and bandwidth your session consumes, our scraper turned out to be much cheaper. For our sample dataset of 30 places, bro scraper cost just $0.78 to run, compared to Apify's $1.35.
While Apify is currently faster out of the box (2.7 mins vs our 67 mins for a cold run) our built-in cache drops subsequent run times down to 13 minutes and costs down to just $0.48 across all languages.
How to use it
We've open-sourced the entire project: the source code is on GitHub.
Getting started is incredibly easy. You don't need to read through documentation or write complex setup commands:
- Make sure you have a bro API key ready.
- Click the "Copy Integration Prompt" button below.
- Paste the copied text into your favorite AI agent (Claude, Codex or similar) and let it guide you through the rest!
Your AI assistant will configure the exact extraction you need and launch the scraper for you in minutes.
Integrate to your project with just one prompt
Focus on the data, not the infrastructure.
Copy the prompt and paste it to your AI agent.