Google Maps Business Scraper
Pricing
Pay per usage
Google Maps Business Scraper
Fast and cheap Google Maps Business scraper. Pulls every business POI for any keyword and location: name, address, phone, website, hours, lat/lng, category, rating, place_id. Direct API, no browser, scales to millions.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
Scrape Google Maps business listings for any keyword and location. This Google Maps scraper returns business name, full address, phone number in both display and E.164 form, website, opening hours, latitude and longitude, category, star rating, claimed status, and the Google placeId — with no API key and no browser.
No Google Maps API key, no login, and no headless browser. Results land in a structured dataset you can export to JSON, CSV, Excel, or XML, or pull straight from the Apify API.
What is Google Maps Business Scraper?
Google Maps Business Scraper is an Apify Actor that extracts business listings and points of interest from Google Maps and returns them as clean, structured records. Google Maps is the single richest source of local business data anywhere, and this Actor reads it through a direct API path that scales to millions of records rather than driving a browser through the map interface.
What data can this Google Maps scraper extract?
Every run writes one row per business. The full schema carries 25 fields; the most-used ones are below.
| Field | Type | Description |
|---|---|---|
placeId | string | Google Places API canonical ID (ChIJ...). Stable across crawls; primary de-dupe key. |
featureId | string | Google internal hex feature ID (0xAAA:0xBBB). |
name | string | Business display name. |
category | string | First category Google assigns to the place. |
categories | array | All categories Google assigns to the place. |
address | string | Street address. |
fullAddress | string | Business name + full postal address. |
neighborhood | string | Local neighborhood or sub-locality name. |
latitude | number | Decimal latitude. |
longitude | number | Decimal longitude. |
phone | string | Formatted phone number for display. |
phoneE164 | string | Phone in E.164 format, prefixed with +country code. |
website | string | Business website URL. |
rating | number | Google rating, 0-5 scale. |
claimed | boolean | True if the Google Business Profile is claimed by the owner. |
timezone | string | IANA timezone string for the business location. |
description | string | Editorial business description, when Google provides one. |
hours | array | Day-of-week opening hours: array of {day, ranges: [{display, openHour, closeHour}]}. |
photoCount | integer | Number of distinct photo URLs detected for this place. |
photoUrl | string | URL of the primary photo for this place. |
googleMapsUrl | string | Direct link to the place on Google Maps. |
sourceQuery | string | The keyword that produced this result. |
See the Output tab in Apify Console for all 25 fields.
How to scrape Google Maps business listings
- Open Google Maps Business Scraper and click Try for free.
- Add search strings to
searches— a keyword plus a place, such asdentist in Austin TX. - Set
languageandcountryfor the market you want. - Set
maxResultsto bound the run. - Export the dataset or read it from the Apify API.
- Click Start and watch rows appear live in the Output tab.
- Export the dataset as JSON, CSV, Excel, or XML — or fetch it from the Apify API once the run finishes.
Google Maps Business Scraper input options
| Input | Type | What it does | Default |
|---|---|---|---|
searches | array | A list of search objects, each with a keyword query and a location. Location can be a city/place name... | yes |
maxResults | integer | Maximum number of unique places to extract across all searches. Default: 100. Use 0 or leave empty to take... | 50 |
language | string | Two-letter UI language code. Use 'en' to get English category strings. | "en" |
country | string | Two-letter country code. Pin to the country you are searching in. Use 'us' for US. | "us" |
Proxy is configured through the standard proxyConfiguration object; the defaults shipped with this Actor are already tuned for the target site.
Example output
{"searches": [{ "query": "coffee shop", "location": "Austin, TX", "radiusM": 10000 },{ "query": "yoga studio", "location": "30.27,-97.74", "radiusM": 5000 }],"maxResults": 200,"language": "en","country": "us","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
How much does it cost to scrape Google Maps?
This Actor bills through Apify platform usage (compute units and proxy traffic) rather than a per-result fee. Runs are HTTP-based and lightweight, which keeps compute low. Every Apify account includes free monthly usage credit to trial it.
What can you build with Google Maps data?
Build local lead lists for agencies
Name, phone, website, and address for every business in a category and city — the canonical starting point for local B2B outreach. The claimed flag marks unclaimed profiles, usually the most receptive prospects.
Enrich a CRM with verified business data
phoneE164 is dial-ready and placeId is a stable key, so records reconcile cleanly against future pulls.
Run site-selection and territory analysis
Coordinates plus category on every row let you map competitor density and find genuinely underserved areas.
Monitor competitor ratings across locations
For a multi-location brand, one run captures every branch's rating so you can rank locations by reputation.
Feed a local directory or marketplace
Hours, categories, photos, and coordinates are enough to populate a local directory product directly.
Google Maps scraping tips and limits
- Google Maps limits how deep any single search goes. To cover a large city fully, split the query by neighborhood or ZIP code rather than raising
maxResultson one broad search. placeIdis the right join key across runs — names and addresses change, place IDs generally do not.- Query phrasing matters.
dentist in Austin TXreturns a very different set fromAustin dentist, so test a couple of phrasings before committing to a large sweep. - The official Google Places API charges per request and caps result depth. This Actor has neither constraint, which is the main reason to use it for volume work.
Integrations and automation
Run Google Maps Business Scraper on a schedule to keep a Google Maps dataset fresh, or trigger it from your own stack through the Apify API and the official JavaScript and Python clients. Native integrations push results into Google Sheets, Slack, Airtable, Zapier, Make, GitHub, or any webhook endpoint. The Actor also works as an MCP tool, so an AI agent can call it directly.
Related scrapers
| Actor | What it does |
|---|---|
| Yelp Business Scraper | Yelp records for the same businesses, with richer attributes. |
| Yellow Pages Business Scraper | Yellow Pages listings with payment methods and years in business. |
| Tripadvisor Hotels Scraper | Hospitality-specific rankings and offers. |
| Healthgrades Provider Search Scraper | Verified provider data for healthcare targeting. |
Frequently asked questions
Do I need a Google Maps API key?
No. This Actor reads publicly available Google Maps data directly, so there is no API key, no billing account, and no per-request quota to manage.
Does it return business email addresses?
Google Maps does not publish business email addresses, so no Maps scraper can return them. You do get the business website, which is the normal route to finding a contact address.
Do I need a Google Maps API key?
No. Google Maps Business Scraper reads publicly available Google Maps pages and endpoints directly, so there is no key to obtain, no OAuth app to register, and no account to connect.
Can I export Google Maps data to CSV, Excel, or Google Sheets?
Yes. Every run stores results in an Apify dataset that exports to JSON, JSONL, CSV, Excel, XML, or HTML with one click, and the Google Sheets integration writes rows straight into a spreadsheet.
Can I run Google Maps Business Scraper on a schedule?
Yes. Apify schedules run the Actor hourly, daily, weekly, or on any cron expression, and webhooks can notify your systems the moment a run finishes.
Is it legal to scrape Google Maps?
Scraping publicly available data is broadly lawful in the US and EU, but the answer depends on what you collect and how you use it. This Actor is built to gather public business directory information about commercial entities rather than data about private individuals. Personal data carries extra obligations under GDPR and CCPA. Read Apify's guide on whether web scraping is legal and take your own legal advice for your use case.
Support and feedback
Found a bug, a missing field, or a Google Maps page shape this Actor does not handle yet? Open an issue from the Issues tab on the Actor page. Feature requests and custom-scraper enquiries are welcome there too.