omkarcloud/google-maps-scraper: A Desktop App for Google Maps Leads, With an API for Developers
Google Maps Scraper & Lead Generation Tool. Extract 50+ data points including business emails, phone numbers, and social profiles. Includes enrichment features, API access, and no recurring fees
At a glance
- What is it?
- The repository ships a desktop application for pulling business profiles from Google Maps, plus a Python and Node.js API for scripted runs. The README is explicit about the free tier and about the paid enrichment that sits behind it.
- Who is it for?
- Adopt it if you need a contact list for a specific city and category, you are comfortable with a desktop app plus an optional scripted API, and you accept the free tier of 200 searches per month. Do not adopt it if you need a fully self-hosted, headless pipeline with no vendor account, or if you expect the README to document rate limits, retry behaviour or data retention.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on September 26, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem it solves: turning a city and a category into a contact list
The README frames the project around a specific buyer. You need customers, Google Maps has them, and you want the list with emails, in bulk. That is the pitch, and the target reader is named directly: founders looking for first customers, and students gathering data for research projects. Developers are a second audience, served by a built-in API rather than the app interface.
The scope is narrower than the phrase "Google Maps scraper" suggests. You give it a category and a location (restaurants in New York City, gyms in Delhi), and it returns business profiles with contact details. The README lists name, main category, address, phone number, website, rating and review count as the headline fields, and claims 50+ data points in total, with the full list deferred to fields.md and advanced.md. Enrichment is a separate layer that adds emails, social profiles and decision-maker contacts such as CEO or Founder.
That split matters. The base extraction gives you what a business profile shows publicly. The enrichment gives you what you would otherwise assemble by hand. The README does not state how enrichment is priced or how it is triggered, only that it is included as a feature.
How it works: a desktop app wrapping Chrome, plus an API layer
The mechanism visible in the repository is not a headless crawler you deploy yourself. It is a desktop application. The README instructs you to install Google Chrome first, then download the app, then enter a search query and press Run. The demo GIF is captioned as showing visit, highlight keyword, run, see results. The screenshots directory holds a result CSV image, which suggests the output is a spreadsheet-compatible export.
The developer path is different. The README states the app has a built-in API, an npm package called botasaurus-desktop-api, and a Python library called botasaurus-api. Those two package names are the integration surface: your script talks to the running app rather than reimplementing the scraping. The README says results come back in under five minutes and that the API can also run on AWS and GCP VMs, pointing at server-deployment.md for that setup.
What the repository does not contain is the extraction code itself. The top-level entries are documentation and assets: README.md, advanced.md, fields.md, server-deployment.md, SECURITY.md, LICENSE, screenshots and video-script.md. There is no source directory listed. So the open source part is the client libraries and the documentation, while the extractor is distributed as a downloadable app. That is a real architectural fact and it changes what "open source" means here.
Installing it and running a first search
The README gives no pip install or npm install for the app itself. It says to install Google Chrome and then download the desktop application from the project's download page. There is no version number, no checksum and no package manager command published for the app, so treat the download page as the only stated source.
Once the app is running, the documented first use is a single query. The README describes entering your search query and pressing Run, with the claim that this returns 1000+ leads. The free plan is stated as 200 searches per month, and the README says each search can return 100 to 1,000+ results.
For scripted access, the README names two client packages. The Python one is installed from PyPI:
pip install botasaurus-apiThe Node.js one is installed from npm:
npm install botasaurus-desktop-apiThe README does not show a call signature, an authentication step or a response schema for either package. After installing, the next thing to read is advanced.md, which the README links for usage limits and for the full field list. If you intend to run the API on a server rather than a workstation, server-deployment.md is the file the README points to for AWS and GCP VMs. The README does not document rollback, rate limiting or retry behaviour for any of this.
Where the free tier claim needs scrutiny
The README makes a direct comparison: Apify's $5 free credit gets you roughly 1,250 leads, while Omkar gives 200 free searches per month at 100 to 1,000+ results each, which the README converts into 20,000+ free leads every month. That arithmetic depends entirely on the low end of the results range holding up across queries. A niche category in a small town will not return 100 results, so the monthly lead figure is a best case, not a floor.
The README also states the free plan requires no credit card, and shows a badge offering 100K free leads on download. Those two numbers (200 searches per month, 100K free leads) are not reconciled in the text. The results section cites 14,979 restaurants in New York City and 5,868 gyms in Delhi, both described as extracted using this tool, and notes that this consumed 3 searches. Those are the author's reported runs, not an independent measurement, and the README presents them as such.
None of this is disqualifying. It does mean the headline numbers are marketing figures with a stated basis, and you should size your own query before assuming a monthly allowance will cover it.
The limitation that matters most: the extractor is not in the repository
If you came for a self-hosted scraper you can read, patch and run headlessly, this is the wrong tool. The repository holds documentation, screenshots and a licence. The extraction happens inside a desktop application you download, and the open source packages are clients that drive it. You cannot audit how requests are made, how retries work, or what happens when Google changes its markup. You are depending on the maintainer to ship an updated build.
The second constraint follows from the first. The app needs Google Chrome installed, per the README, which makes it awkward on a headless server unless you follow the VM deployment path. The README mentions AWS and GCP VMs and links to server-deployment.md, but the README does not describe what runs where, so the server story is documented elsewhere and not summarised in the main file.
The third is legal and operational, and the README does not address it. Scraping Google Maps sits in a grey area that varies by jurisdiction and by what you do with the data. The repository has a SECURITY.md but the README contains no statement on terms of service, rate limits or how extracted personal data should be handled. If you are building a product on top of this output, that gap is yours to close, not the project's.
How it differs from Gosom/google-maps-scraper and Apify
The related searches show people comparing this project with two others: Gosom/google-maps-scraper and Apify's Google Maps scraper. The differences are structural, not cosmetic.
Gosom/google-maps-scraper is a Go project that people search for as an open source alternative. The distinction is that a Go scraper is a binary you run yourself, with the extraction logic in the source. Omkar's project is the opposite arrangement: the client libraries are open, the extractor is a downloaded app, and there is a hosted free tier with an account. If you want to run everything on your own hardware with no vendor relationship, the Go route is the shape you want. If you want a GUI, a monthly free allowance and a Python or Node.js client, this project is the shape you want.
Apify is the hosted-platform comparison the README itself draws. Apify gives free credit that converts to a lead count; Omkar gives a recurring monthly search allowance. The practical difference is billing model, not capability. A one-off large job fits credit better. A steady monthly trickle of queries fits a recurring allowance better. The README's own numbers put Omkar's free tier well above Apify's credit at the low end, and that claim is worth testing against your own query before you plan around it.
A third category appears in the searches: Chrome extensions and online tools. Those are typically single-query, browser-bound and without an API. This project's differentiator against them is the scripted client packages and the VM deployment path.
Licence, maintenance and what an upgrade actually costs
The repository is MIT licensed. That covers the code and documentation in the repository: the client library references, the docs files and the assets. It does not automatically cover the downloaded desktop application, which is distributed from the project's own site rather than from this repository, and the README does not state the application's licence terms. If you need to redistribute anything, that distinction is the first thing to check. This is a factual gap in the published documentation, not legal advice.
The last push to the repository was on 2026-09-21, and the repository is not archived. On the evidence available, the documentation is being kept current.
Upgrade cost is where the design bites. Because the extractor is a downloaded app, keeping up with Google Maps changes means tracking app releases, not pulling a git commit. The README does not describe a versioning scheme, a changelog, or how you would pin a known-good build. The client packages botasaurus-api and botasaurus-desktop-api are on PyPI and npm respectively, so those can be pinned by version in the normal way, but the app they talk to cannot be pinned from this repository. For a production pipeline that is the operational detail to plan for: your reproducibility boundary sits at the app download, not at a lockfile.
Editorial conclusion
Adopt it if you need a contact list for a specific city and category, you are comfortable with a desktop app plus an optional scripted API, and you accept the free tier of 200 searches per month. Do not adopt it if you need a fully self-hosted, headless pipeline with no vendor account, or if you expect the README to document rate limits, retry behaviour or data retention. Before committing, verify three things: whether the free tier still covers your query volume, whether enrichment is billed separately from searches, and whether the API deployment guide in server-deployment.md matches the VM you intend to use.
Frequently asked questions
What is omkarcloud/google-maps-scraper?
It is a Google Maps lead generation tool distributed as a desktop app, with a built-in API plus a Python library (botasaurus-api) and an npm package (botasaurus-desktop-api) for scripted use. It extracts business profile data such as name, category, address, phone, website, rating and review count, and offers enrichment for emails and decision-maker contacts.
Is omkarcloud/google-maps-scraper free?
The README states there is a free plan with 200 free searches every month and no credit card required, and that each search can return 100 to 1,000+ results. Enrichment features are described as included, but the README does not state how enrichment is priced or whether it draws on the same search allowance.
How do I install omkarcloud/google-maps-scraper?
The README says to install Google Chrome first, then download the desktop app from the project's download page. For scripted use, the Python client installs with pip install botasaurus-api and the Node.js client with npm install botasaurus-desktop-api.
How do I use omkarcloud/google-maps-scraper?
In the app, you enter a search query for a category and location and press Run; the README claims this returns 1000+ leads. Developers can instead drive the running app through the botasaurus-api Python library or the botasaurus-desktop-api npm package, and the README points to server-deployment.md for running the API on AWS or GCP VMs.
Does Google Maps allow scraping?
The README does not address terms of service, rate limits or the legality of scraping Google Maps. The repository includes a SECURITY.md but no compliance statement, so that question is not answered by the project's own documentation.
Is there a tool that can scrape addresses from Google Maps?
The README lists Address as one of the headline fields returned for every business, alongside name, main category, phone number, website, rating and review count. It claims 50+ data points in total and links to fields.md and advanced.md for the full list.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/omkarcloud-google-maps-scraper)