

Pull business records in bulk from Google Maps — covering reviews and reviewer details, photos, contact info (full name, email, job title), opening hours, prices and more. From there, export the data, trigger runs via API, schedule and watch them, or wire the results into your other tools.
Google Maps Scraper turns public business information from Google Maps into structured data with one click, helping you handle lead generation, competitor monitoring, and local market research efficiently. Stop searching and copying records one by one; make data collection automated, standardized, and reusable.
This scraper extends Google Maps data extraction beyond the limits of the official Google Places API and bypasses the Google Maps limit of displaying and scraping up to 120 places per area.
| 🔗 Title / place name | 📝 Subtitle, category, place ID, and URL |
| 📍 Address | 🌍 Location, plus code and exact coordinates |
| ☎️ Phone number | 🌐 Website, if available |
| 📝 Company contact details from website (company email, phone number and social media profiles) | 🎯 Business leads enrichment (full name, work email address, phone number, job title, LinkedIn profile) |
| 📱 Social media profile enrichment (detailed profile data for Facebook, Instagram, YouTube, TikTok, LinkedIn) | ➕ List of detailed characteristics (attributes) |
| 🌐 Search results | 📊 Review count and review distribution |
⭐ Average rating (review_rating) | 🖼️ Image list |
| 🔓 Open / closed status | 👥 People also search for |
| 🏷 Menu | 💵 Price range |
| 🕒 Opening hours | ⏱️ Popular times - histogram & live occupancy |
| 🪑 Table reservation provider | 🛵 Online ordering availability and delivery / pickup methods |
To maximize data collection results, Google Maps Scraper provides the following capabilities:
Used to define the business type or service category to scrape. Multiple keywords are supported to expand coverage.
We recommend combining business keywords with distinct meanings and low overlap to improve coverage while keeping runtime under control.
Avoid repeated synonyms or words with little filtering value, such as near me or best. They do not add more useful data and only increase duplicate queries.
Recommended examples:
marketing agency, SEO agency, web design company, consulting firm, IT services, recruitment agency
Not recommended examples:
marketing agency, marketing agencies, digital marketing agency, SEO agency near me, best SEO agency, web design company NYC
Used to limit the search to a city or country. We recommend using "city + country" or "state + country".
Austin, Texas, USA
New York, USA
Berlin, Germany
Using categories can be risky!
Search terms may introduce false positives, causing the scraper to collect irrelevant places. Categories can be used to narrow the result set and keep only the types you specify.
However, categories also carry risk and may create false negatives, meaning places you actually need can be excluded. Google has thousands of categories, and many of them are synonymous or closely related. For example, "Marketing agency", "Digital marketing agency", and "SEO agency" are three separate categories. Some places may be assigned to only one of them. Therefore, you need to list every potentially relevant category, including synonyms, or you may miss target places. For complex use cases, you may even need to select as many as 100 categories to ensure broad coverage.
To improve filtering accuracy, CoreClaw applies the following rules:
place_categories.No need to use search terms — provide Google Maps URLs or Place IDs directly to retrieve detailed data for specific locations.
google.com/maps/), Google Maps CID links, goo.gl/maps short URLs, and custom place list URLs.After each successful run, result data is generated in the Output panel. It is shown as a table by default, with category tabs for grouped browsing. You can also switch to JSON view with one click.
For export, you can download CSV, JSON, JSONL, XLS, XLSX, HTML, XML, or RSS. Before exporting, you can select or deselect specific fields, or download the complete view with all related data.
The table supports multiple browsing modes. You can view the overview, or group and filter by fields such as contact information, location rating, and reviews. Click a group to view the matching data.

When you scrape a place, for example a dental clinic in Austin, Texas, USA, a complete record is returned. It contains both basic business information and the enhancement data you enabled, such as email verification, ratings, and additional place details.
Extract publicly available merchant contact information and social accounts, including official links from Google Maps and platforms such as Facebook, Instagram, YouTube, TikTok, and LinkedIn, so your team can quickly establish outreach channels. Example structure:
When email_verification is enabled, the system verifies scraped emails and returns email status fields in the output. This feature is provided by CoreClaw at no additional charge.
Email verification results indicate email availability and status:
| Status | Description |
|---|---|
| ✅ valid | The email is valid and can receive mail |
| ❌ invalid | The email does not exist or is unavailable |
| ❌ disposable | A disposable or temporary email address |
| ⚠️ catch_all | The domain accepts all mail, but the specific mailbox is unknown |
| ⚠️ unknown | Email validity cannot be determined |
| ⚠️ verification_failed | An error occurred during verification |
| ⚠️ not_checked | Verification was not performed |
The system also returns is_business_email, helping you quickly identify company-domain emails and locate business contacts more precisely.
Google Maps Scraper collects merchant social media links and enriches each platform with operational details, including follower counts, verification status, industry category, company size, post or video counts, and more. These fields are merged directly into the place record.
🔔 Tip: You can enable this feature only for selected platforms, for example Facebook and Instagram only.
Returns rating distribution by star level, popular times, and detailed review lists, including rating, text, publish time, likes, reviewer information, and owner responses.
Reviews are stored in the reviews array. For easier table processing, the first three reviews are also expanded into fields such as reviews/0/name, reviews/0/rating, reviews/0/text, reviews/1/*, and reviews/2/*.
Typical use cases: reputation analysis, competitor comparison, foot traffic pattern analysis, customer review mining, and merchant activity evaluation.
🔔 Tip: Review data is not available for every merchant and depends on Google Maps data coverage. Popular times depend on Google's real-time availability, and some merchants may not have this data. Review text, owner responses, and related fields may be empty strings or null when unavailable.
Business operation data from Google Maps, including opening hours, online reservations, online ordering, menu information, owner information, and similar merchant recommendations. These fields help you quickly evaluate operational maturity and online conversion potential, and build a more complete local merchant profile.
🔔 Tip: Online reservation and menu fields vary by merchant. Some merchants may not provide or publish them. online_order_available returns true only when the merchant supports online ordering. Opening hours may change during holidays or temporary adjustments, so we recommend validating them with additional sources when needed.
In most cases, the Location text field is enough to start scraping, for example: New York, USA; Austin, Texas. For a more precise search area, you can combine these geolocation parameters: country, state, county, city, and postal_code. These fields can be used together to define the target search area more accurately.
When the target location cannot be located on Google Maps, or when you need to customize the search area for a specific region, including an irregular shape, use the custom_geojson field. This field defines the search area with longitude and latitude coordinates. For example, New York City is located at longitude -74.0060 and latitude 40.7128. It supports Circle, Point, Polygon, MultiPolygon, Feature, and FeatureCollection shapes. Circular areas require radiusKm, which represents the radius in kilometers. For Circle, we recommend using center as the center point. For Point used as a circular area, use coordinates as the center point.
Note: coordinates in custom_geojson follow the GeoJSON standard order: [longitude, latitude]. If you copy coordinates from a Google Maps URL in the @latitude,longitude format, reverse the order before entering them.
Use this when you want to search within a fixed radius around a coordinate.
You can also use Point + radiusKm to describe a circular area:
Use this for neighborhoods, campuses, business districts, or other irregular areas. The first and last coordinate pairs must be identical to close the boundary.
Use this when one run needs to cover several disconnected areas, such as two business districts, multiple campuses, or separate store catchment areas.
Search area priority:
In other words, if custom_geojsonis provided, it becomes the highest-priority search area. If custom_geojsonis not provided, a postal_codecan take priority only when it is paired with a country, either through countryor a country resolved from the postal-code lookup. If there is no valid postal-code-and-country combination, the scraper uses the free-text base_location. Only when none of these are available will it use the structured area assembled from country/state/city/county.
Google Maps Scraper works similarly to opening Google Maps manually, entering a location and search keyword, then reviewing and copying business information one by one. The difference is that the script automates the whole process, making it faster and better suited for large-scale data collection.
At runtime, the script first uses your provided base_location to locate the specified country, city, or region. It then enters the search keyword into the Google Maps search box. After that, the script continuously scrolls through the search results until it reaches the end of the results, the system scrape limit, or the number set in Max Results.
During scraping, each place is processed as a separate result. The script collects visible business information from each place page, such as business name, address, phone number, website, rating, review count, opening hours, category, coordinates, images, social media links, and emails. The collected data is organized into structured results for download, filtering, analysis, or lead development.
To better understand the process, you can open Google Maps in your browser and search with the same location and keyword. The script performs almost the same actions, but automates the repetitive steps and completes them faster.
The official Google Places API is suitable for application features that require supported Google APIs. For bulk market research, local lead development, and review analysis, it may be limited because pricing, quotas, and result pagination are tied to API product limits. A scraper can collect public Google Maps page data more flexibly, but you should still review Google's Terms of Use for your use case.
The public input schema accepts one base_location per campaign run. To collect multiple locations, start multiple runs, or create a CoreClaw workflow that processes each location sequentially and merges exported results downstream.
Use a precise base_location, reduce max_results, keep fetch_reviews disabled unless you need reviews, reduce max_reviews_per_place, and only enable website, social, or place detail enrichment when those fields are truly needed.
Yes. Enable fetch_reviews, then configure max_reviews_per_place, review_sort_by, review_keyword, and include_reviewer_info as needed.
The scraper returns reviews as a nested reviews array and expands the first three reviews into fields such as reviews/0/*, reviews/1/*, and reviews/2/*. If you need each review as a separate row, export JSON and transform the reviews array downstream.
Yes. Export CSV, JSON, JSONL, XLS, XLSX, HTML, XML, or RSS from CoreClaw, then import it into spreadsheets, databases, CRMs, BI tools, or automation workflows. You can also use the CoreClaw REST API, MCP server, n8n node, or your own automation layer to start scrape runs, check run status, retrieve paginated results, or export data in the format required by your workflow.
Yes. You can use the CoreClaw REST API to run Google Maps Scraper programmatically. The base URL is https://openapi.coreclaw.com, and every endpoint path starts with /api/v2. Authenticate with Authorization: Bearer YOUR_API_KEY (the legacy api-key header and ?token= query are still accepted for backward compatibility).
A typical API workflow is:
GET /api/v2/workers/{workerId}/input-schema (or full details from GET /api/v2/workers/{workerId}). {workerId} is the scraper slug, or an owner/name path encoded as owner~name. version defaults to latest if omitted.POST /api/v2/workers/{workerId}/runs, passing is_async and placing scraper inputs under input.parameters.custom. You may also set callback_url to receive a status callback instead of polling.data.run_slug.GET /api/v2/worker-runs/{runId} to check run status (use the run_slug as {runId}).GET /api/v2/worker-runs/{runId}/result to fetch results, or GET /api/v2/worker-runs/{runId}/result/export to export a file.Many web scraping scenarios involve publicly available data, but legality depends on the data, jurisdiction, purpose, and how you handle personal information. Respect personal data and intellectual property rules, scrape only when you have a legitimate reason, and review Google's Terms of Use for your use case.
We continuously improve this scraper's performance and coverage. If you find a bug or notice missing fields, provide the input settings, enabled enrichment options, approximate runtime, and a small output sample. You can contact support through the website live chat or by email at support@coreclaw.com, so we can reproduce the behavior and maintain the scraper.
Explore more popular scrapers from our marketplace