How to Scrape Google Maps Business Data with Python – No Coding Required
Today we’ll explore an efficient method to scrape thousands of business listings from Google Maps without writing a single line of code yourself. This powerful tool automatically extracts business names, addresses, website domains, phone numbers, and reviews – all exported neatly to CSV and Excel files.
Prerequisites
Before getting started, you’ll need:
- Python installed on your computer
- A text editor like VS Code
- Two Python libraries: Pandas and Playwright
Setup Process
- Clone the repository or download the zip file and extract it
- Open the folder in VS Code and open the terminal
- Install the required libraries with:
pip install pandas playwright
- Install Chromium browser for automation:
playwright install chromium
Method 1: Using Keyword Arguments
This method allows you to scrape businesses by providing specific search parameters directly in the terminal:
- In the terminal, type:
python main.py -s="[your search term]" -t=[number of businesses]
- For example:
python main.py -s="roofing in Seattle" -t=5
- The script will launch a browser, navigate to Google Maps, enter your search term, and begin scraping
- Results will be saved in a new folder called “GMaps_data” with subfolders organized by date
- Both CSV and Excel files will be generated with all the scraped business information
- Duplicate entries will be automatically filtered out
Method 2: Batch Processing Multiple Keywords
For scraping multiple business categories or locations at once:
- Open the input.txt file in the project folder
- Add each search term on a separate line (e.g., “roofing in Seattle” on one line, “dentist in New York” on another)
- Run the command:
python main.py -t=[number of businesses]
(omit the -t parameter to scrape all available businesses, up to 120 per keyword) - The script will automatically process each keyword in sequence
- Results will be combined into a single dataset with duplicates removed
What Makes This Tool Special
This scraper efficiently handles pagination, scrolling to load additional results until it reaches the specified number of businesses or the maximum available (120). For each business, it visits the individual listing to extract complete information including contact details and reviews.
The data is organized into well-structured spreadsheets ready for analysis, marketing outreach, or business intelligence. All of this happens automatically without requiring you to write any custom code.