Ultimate Google Maps Scraper
Pricing
$30.00/month + usage
Ultimate Google Maps Scraper
If you are looking for a reliable Google Maps web scraper to automate your lead generation, this Actor is the perfect solution. It goes beyond basic details, retrieving deep insights from business listings that are critical for building comprehensive business databases.
Pricing
$30.00/month + usage
Rating
0.0
(0)
Developer

Eneiro Matos
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🚀 Description
The Ultimate Google Maps Scraper is a high-performance data extractor designed to turn Google Maps into your most valuable source of B2B leads and local market intelligence.
If you are looking for a reliable Google Maps web scraper to automate your lead generation, this Actor is the perfect solution. It goes beyond basic details, retrieving deep insights from business listings that are critical for marketing automation, competitor analysis, and building comprehensive local business databases.
Why use this Google Maps Data Extractor?
Unlike standard tools, this scraper provides a holistic view of a business's digital presence. It is optimized to be a robust Google Maps crawler, capable of handling complex queries to deliver:
- Contact Information: Extract phone numbers, websites, and booking URLs to fuel your sales pipelines.
- Reputation Metrics: Scrape review counts, ratings, and detailed review distributions to analyze brand sentiment.
- Operational Data: Get precise opening hours, time zones, and service options (e.g., delivery, onsite services).
- Geolocation: Accurate latitude/longitude coordinates and Plus Codes for mapping and logistics applications.
⚙️ How It Works: Dual-Crawler Architecture
To achieve the best balance between data coverage and extraction speed, this scraper utilizes a unique two-stage architecture:
-
The Deep-Traversal Crawler (Headless Browser): When you run a search (using
searchTerm,stateCode, etc.), a sophisticated headless browser crawler navigates the Google Maps interface. Its job is to scroll, zoom, and paginate through the map to discover as many results as possible.- Note: This process is thorough and ensures we capture "hidden" results, but it can be slower due to the nature of rendering map data. Consequently, there may be a delay before the first results appear while the browser gathers the list.
-
The High-Performance Extractor (HTTP Requests): Once the locations are identified, the data is passed to a second crawler. This engine uses lightweight HTTP requests to extract detailed business data.
- Benefit: This crawler is optimized for raw performance, scraping place details faster than any other Google scraper on the market.
⚡ Direct Extraction Mode:
If you already have a list of placeIds, the scraper skips the browser traversal step entirely. It immediately engages the High-Performance HTTP crawler, delivering results instantly.
🛠 Usage
You can run this scraper in two modes: Discovery Mode (Search) or Direct Extraction Mode (Known IDs).
Input Parameters
The input is a structured JSON object. Understanding the relationship between cityName and stateCode is key to controlling the scope of your scrape:
placeIds(Array): Optional. A list of specific Google Place IDs. If provided, this takes priority, and the scraper starts immediately (ignoring search terms).searchTerm(String): Required for Map Search. The main keyword or category (e.g., "Realtors", "Coffee Shops").stateCode(String): Required for Map Search. The 2-letter US state code (e.g., "TX"). This acts as the primary filter.cityName(String): Optional.- If provided: You must also provide the
stateCode. The scraper will focus strictly on that specific city. - If omitted: The scraper will use the
stateCodeto iterate through every city in that state, performing a massive state-wide extraction.
- If provided: You must also provide the
useApifyProxy(Boolean): Recommended. Set totrueto use apify proxies and prevent blocking.
Input Scenarios (Samples)
Below are examples of how to configure the input for different use cases.
1. Direct Extraction (Fastest)
Use this when you already have the Place IDs and just want the data.
{"placeIds": ["ChIJQcLCkEnFQIYR3Fgh9olFNW0", "ChIJ..."],"useApifyProxy": true}
2. Specific City Search
Target a specific city within a state.
{"searchTerm": "Realtors","stateCode": "TX","cityName": "Houston","useApifyProxy": true}
3. State-Wide Search (Massive Scale)
Target every city within the specific state. Omit cityName.
{"searchTerm": "Dentists","stateCode": "FL","useApifyProxy": true}
4. All Inputs Combined
Technical sample showing all fields being used.
{"placeIds": ["ChIJQcLCkEnFQIYR3Fgh9olFNW0"],"searchTerm": "Realtors","stateCode": "TX","cityName": "Houston","useApifyProxy": true}
📊 Output
The scraper returns a dataset where each item represents a single location/business. The data is rich and fully populated, including scraped text, links, and statistical breakdowns.
Output Sample
{"scrapedAt": "2025-11-19T20:01:12.674Z","idCodes": {"CID": "7869272382742026460","PID": "ChIJQcLCkEnFQIYR3Fgh9olFNW0","FID": "0x8640c54990c2c241:0x6d354589f62158dc"},"urls": {"placeUrl": "https://www.google.com/maps/place/J+Signature+Group+Real+Estate+Company+%7C+New+Construction+Homes,+820+Gessner+Rd+suite+300,+Houston,+TX+77024/@29.7776285,-95.5441219,3463a,13.1y/data=!4m2!3m1!1s0x8640c54990c2c241:0x6d354589f62158dc","pidUrl": "https://www.google.com/maps/place/?q=place_id:ChIJQcLCkEnFQIYR3Fgh9olFNW0"},"name": "J Signature Group Real Estate Company | New Construction Homes","aboutText": "J Signature Group is a premier real estate agency in Houston specializing in luxury new construction homes and personalized buying experiences. Our team provides expert market analysis and dedicated support for homebuyers and investors alike.","mainImage": "https://lh3.googleusercontent.com/p/AF1QipOu68aKuRTqMp4p6cddMea7ZcAws1i3R20k4I-b=w408-h306-k-no","website": "http://www.jsignaturegroup.com/","phoneNumber": "+18329242724","bookingUrl": "https://api.leadconnectorhq.com/widget/group/B8ku0X3TKAuGmBwzmjwp?hl=en-US&gei=CCIeaZ_yLquNwbkP3f_BoQU&rwg_token=ACgRB3cr2PBm59F5bSbYaKtBTJ7JNxtAc2wTun-UY19eQY3xbWH27tIKmgnZgqqmSbwbA0lbNTewvCIA4fNOb3NH08ZtOM9kEA%3D%3D","language": "English","address": {"address": "820 Gessner Rd suite 300","city": "Houston","state": "TX","zipCode": "77024","locatedIn": "Memorial City","plusCode": "QFH4+39 Memorial City, Houston, TX","timeZone": "America/Chicago","coordinates": {"lat": "29.7776285","long": "-95.5441219"}},"reviewStats": {"rating": 4.5,"reviewsCount": 120,"reviewsDistribution": {"oneStars": 15,"twoStars": 0,"threeStars": 1,"fourStars": 2,"fiveStars": 102}},"categories": ["Real estate agent", "Real estate consultant", "Commercial real estate agency"],"openHours": {"Wednesday": "Open 24 hours","Thursday": "Open 24 hours","Friday": "Open 24 hours","Saturday": "Open 24 hours","Sunday": "Open 24 hours","Monday": "Open 24 hours","Tuesday": "Open 24 hours"},"services": {"Service options": ["Online appointments", "Onsite services"],"Accessibility": ["Wheelchair accessible entrance","Wheelchair accessible parking lot","Wheelchair accessible restroom"],"Planning": ["Appointment required"]}}
💡 Tips for Best Results
- State-Wide Scraping: When using the
stateCodewithout a city, be prepared for a longer run time as the scraper traverses a large number of locations. - Patience is Key: When running broad searches, allow the browser crawler time to traverse the map. The deep data extraction that follows is worth the initial wait.
- Proxy Usage: Google Maps is strict with bot traffic. Always ensure
useApifyProxyis set totruefor production runs to guarantee 99.9% success rates.
⚖️ Legal & Ethics
This Google Maps Scraper accesses publicly available data. Users are responsible for adhering to Google's Terms of Service and applicable data privacy laws (such as GDPR or CCPA) when handling personal data. This tool is intended for legitimate market research and lead generation purposes.
⚠️ Warranty
Please report any bug found and I will treat as a priority. If want any other data point not included don't hesitate and ask for it, I will work on adding it to the the dataset on the upcoming updates.