GMapExtractor is a powerful, asynchronous tool for SEO professionals and local business analysts to extract, analyze, and compare Google Maps and organic search rankings. With support for multiple queries across various locations, this tool provides comprehensive data for local SEO campaigns and competitive analysis.
- Asynchronous Processing: Extract data from multiple queries simultaneously
- Dual Analysis Mode: Get both Google Maps listings and organic search results
- Custom Filtering: Identify truly local businesses with exception list support
- Advanced Metrics: Track reviews, ratings, and local relevance
- CSV Export: Clean, formatted data ready for analysis or import to other tools
- Python 🐍
asyncio
,aiohttp
pandas
SerpApi
re
(Regex),urllib
- Enter your desired number of search results
- Specify target cities, states, and search queries
- Let GMapExtractor asynchronously gather data from both Google Maps and organic search results
- Receive neatly formatted CSV files with all the data you need for analysis
- Business name, address, and phone
- Website and domain
- Rating and review count
- Business location (city/state)
- Local business identification
- Ranking position
- Business domain and name
- Page title
- URL
- Search query details
-
Clone this repository to your local machine:
git clone https://github.com/yourusername/google-maps-data-extractor.git
-
Install the required dependencies using pip:
pip install -r requirements.txt
-
Set Up Your SerpApi Key
- Get an API key from SerpApi
- Replace
YOUR SerpApi GOOGLE search API KEY
inGMapExtractor.py
with your actual key.
-
Create an Exception List (Optional)
- Add domain names to exclude in
ExceptionList.txt
(one per line).
- Add domain names to exclude in
# Example queries
cities = "Seattle,Portland,Denver"
states = "WA,OR,CO"
queries = "coffee shop,bakery,coffee roaster"
limit = 20
# Run the extraction
asyncio.run(main(cities, states, queries, limit))
- Local SEO Campaigns: Identify top-ranking local businesses in your niche
- Competitor Analysis: Track your competitors' rankings across multiple locations
- Market Research: Discover business trends across different cities and states
- Client Reporting: Generate comprehensive ranking reports for clients
- Use the exception list to filter out national chains and focus on truly local businesses
- Run weekly or monthly to track ranking changes over time
- Compare results across different geographic locations to spot regional trends