Google Maps Places Scraper
Pricing
from $1.40 / 1,000 results
Google Maps Places Scraper
Scrapes place information from Google Maps using Scrapy and Playwright. Extract names, ratings, reviews, addresses, phone numbers, websites, hours, and more for any type of business in any city.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
ai-scraper-labs
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Google Maps Places Scraper
A powerful Apify Actor built with Scrapy and Playwright to scrape detailed information about places from Google Maps. Perfect for gathering business data, competitor research, lead generation, and local market analysis.
Features
- πΊοΈ Comprehensive Data Extraction - Scrapes 13+ data points per place including name, rating, reviews, address, phone, website, hours, and more
- π― Flexible Search - Search for any type of business or point of interest in any city
- π Automatic Scrolling - Intelligently scrolls through Google Maps results to load more places
- π Playwright Integration - Uses browser automation for reliable scraping of dynamic content
- π Structured Output - Returns clean, validated JSON data ready for analysis
- π‘οΈ Proxy Support - Optional proxy configuration to avoid rate limiting
- β‘ Concurrent Processing - Efficiently scrapes multiple places in parallel
Included Technologies
- Apify SDK for Python - a toolkit for building Apify Actors and scrapers in Python
- Scrapy - a fast high-level web scraping framework for crawling and data extraction
- Playwright - browser automation library for handling JavaScript-heavy sites
- scrapy-playwright - Scrapy integration with Playwright
- Input schema - define and validate Actor input parameters
- Dataset - store structured data in a scalable format
How it works
This Actor uses Scrapy with Playwright to scrape Google Maps places in two phases:
-
Search Phase:
- Constructs a Google Maps search URL based on your interest and city
- Loads the search results page using Playwright (for JavaScript rendering)
- Automatically scrolls through results to load more places
- Collects all place URLs from the search results
-
Detail Extraction Phase:
- Visits each place URL individually
- Extracts comprehensive information using CSS selectors
- Cleans and validates the data through processing pipelines
- Saves structured data to the Apify dataset
Data Processing:
- Rating and review counts are parsed from text to numbers
- Phone numbers and addresses are trimmed of extra whitespace
- Google redirect URLs are converted to actual website URLs
- Missing or unavailable fields are set to
nullfor consistency
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
interest | String | Yes | Type of place to search for (e.g., "cafes", "restaurants", "hotels", "gyms") |
city | String | Yes | City name to search in (e.g., "New York", "London", "Tokyo") |
maxResults | Integer | No | Maximum number of places to scrape (0 = unlimited, default: 50) |
proxyConfiguration | Object | No | Proxy settings to avoid rate limiting (recommended for large scrapes) |
Output Data
Each scraped place contains the following fields:
{"url": "https://www.google.com/maps/place/...","search_query": "cafes in New York","city": "New York","interest": "cafes","name": "Joe's Coffee Shop","rating": 4.5,"reviews": 1234,"category": "Coffee shop","address": "123 Main St, New York, NY 10001","phone": "(212) 555-0123","website": "https://joescoffee.com","hours": "Open β Closes 8 PM","plus_code": "P27Q+3V New York"}
Use Cases
- π Lead Generation - Find potential customers in specific industries and locations
- π’ Competitor Research - Analyze competitor locations, ratings, and customer reviews
- π Market Analysis - Understand business density and distribution in different areas
- π Contact Lists - Build databases of business contacts for outreach
- β Review Analysis - Gather review counts and ratings for market research
- πΊοΈ Location Intelligence - Map out business ecosystems in target cities
Resources
- Google Maps Scraping Guide
- Web scraping with Scrapy
- Python tutorials in Academy
- Playwright for Web Scraping
- Integration with Zapier, Make, Google Drive, and others
- Video guide on getting scraped data using Apify API
Getting started
For complete information see this article. In short, you will:
- Build the Actor
- Run the Actor
Pull the Actor for local development
If you would like to develop locally, you can pull the existing Actor from Apify console using Apify CLI:
-
Install
apify-cliUsing Homebrew
$brew install apify-cliUsing NPM
$npm -g install apify-cli -
Pull the Actor by its unique
<ActorId>, which is one of the following:- unique name of the Actor to pull (e.g. "apify/hello-world")
- or ID of the Actor to pull (e.g. "E2jjCZBezvAZnX8Rb")
You can find both by clicking on the Actor title at the top of the page, which will open a modal containing both Actor unique name and Actor ID.
This command will copy the Actor into the current directory on your local machine.
$apify pull <ActorId>
Documentation reference
To learn more about Apify and Actors, take a look at the following resources: