Google Maps Scraper - Places, Phones, Ratings, No Browser
Pricing
from $0.70 / 1,000 places
Google Maps Scraper - Places, Phones, Ratings, No Browser
Scrape Google Maps search results without a browser: name, category, address, phone, website, rating, review count, opening hours, coordinates and place ID for up to ~200 places per search. Any keyword and location, filters for rating, phone and website.
Pricing
from $0.70 / 1,000 places
Rating
0.0
(0)
Developer
Nada Hanad
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Scrape Google Maps search results without a browser: every place's name, category, address, phone, website, rating, review count, opening hours, coordinates and place ID, for any search term in any city. Up to about 200 places per search, fast, because it reads the same data the Maps app loads instead of rendering pages. $1.00 per 1,000 places. No login, no API key, no proxy.
What data you get
One row per place, same columns every time (named like the usual Google Maps exports, so existing sheets and integrations keep working):
title,categoryName,categories,placeId,cid,url(opens the place in Google Maps)address,street,city,postalCode,state,countryCode,neighborhood,lat,lng,timezonephone(international format) andphoneUnformatted,website,domaintotalScore(rating),reviewsCount,openingHours(every day of the week),imageUrlsearchStringandrank(position in Google's list)- With Find emails and social profiles on:
emails,facebooks,instagrams,linkedIns,twitters,youtubes,tiktoks,pinterestsfrom each place's own website
How to use
- Type what you are looking for (
dentist,coffee shop,plumber), one per line, and where (Austin, TX). - Pick how many places per search, and optionally keep only places rated above a score, with a phone number or with a website.
- Run it, then download CSV, Excel or JSON, or pull the rows through the API.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchStringsArray | array | — | Search terms, one per line. Also searchTerms, queries. |
locationQuery | string | — | Where to search, e.g. Austin, TX. locations (array) searches several places. |
maxCrawledPlacesPerSearch | integer | 50 | Per term and location. Google lists up to about 200; 0 means all. |
startUrls | array | [] | Google Maps search links or place links from the browser. |
countryCode | string | — | Two letters, e.g. de, to favour one country when a city name exists in several. |
language | string | en | Language of categories, hours and addresses. |
minRating | number | 0 | Leave out places rated below this. |
skipWithoutPhone | boolean | false | Only places with a phone number. |
skipWithoutWebsite | boolean | false | Only places with a website. |
scrapeContacts | boolean | false | Read each place's website for emails and social profiles. |
maxPagesPerSite | integer | 3 | Website pages read per place. |
skipWithoutEmail | boolean | false | Only places whose website gave an email. |
timeoutSecs | integer | 30 | Per request. |
proxyConfiguration | object | off | Not needed. |
Output example
A real row from a run with "searchStringsArray": ["dentist"], "locationQuery": "Austin, TX" on 2026-09-30:
{"ok": true,"type": "place","title": "ATX Family Dental","categoryName": "Dentist","categories": ["Dentist","Cosmetic dentist","Dental clinic","Emergency dental service","Pediatric dentist","Teeth whitening service"],"address": "1700 S 1st St, Austin, TX 78704, United States","street": "1700 S 1st St","city": "Austin","postalCode": "78704","state": "Texas","countryCode": "US","neighborhood": "Bouldin Creek","lat": 30.2482229,"lng": -97.75597049999999,"phone": "+1 512-717-3147","phoneUnformatted": "+15127173147","website": "https://www.atxfamilydental.com/","domain": "atxfamilydental.com","totalScore": 4.9,"reviewsCount": 911,"openingHours": [{"day": "Wednesday","hours": "8 am–5 pm"},{"day": "Thursday","hours": "8 am–5 pm"},{"day": "Friday","hours": "8 am–4 pm"},{"day": "Saturday","hours": "Closed"},{"day": "Sunday","hours": "Closed"},{"day": "Monday","hours": "8 am–5 pm"},{"day": "Tuesday","hours": "8 am–5 pm"}],"timezone": "America/Chicago","imageUrl": "https://lh3.googleusercontent.com/grass-cs/ACvplmPTjIfy6SJVu08J9Ml1pnxITskX_fUa-FefeD9CFzR8mqYfhNfOAqaRuXo0d79aElej6RbD9lYVR1_OcRUzJ0PWpI5jwfmULv8PTXAWvEY6pl5qL5EYBvcqUkSU2Hmuhh-_42D7=w800","placeId": "ChIJb5gBC-u0RIYRHkntaUcdJGs","cid": "7720327853776914718","fid": "0x8644b4eb0b01986f:0x6b241d4769ed491e","url": "https://www.google.com/maps/search/?api=1&query=ATX%20Family%20Dental&query_place_id=ChIJb5gBC-u0RIYRHkntaUcdJGs","searchString": "dentist in Austin, TX","rank": 1,"scrapedAt": "2026-09-30T09:45:01.127Z"}
A search or link that cannot be read comes back as one row with ok: false and a plain reason, such as
Google Maps found no places for this search. Those rows are free.
Pricing
$1.00 per 1,000 places ($0.001 each). With Find emails and social profiles on, places whose website gave at least one email or profile cost $2.00 per 1,000 more. Places left out by your filters, repeats (a place found by two searches is written once) and failed searches are free.
Paid Apify plans pay less: 10% off on Bronze, 20% on Silver and 30% on Gold and higher tiers.
Use cases
- Lead lists: every dentist, plumber or restaurant in a city with phone, website and rating, ready for a CRM.
- Local market research: how many competitors are in an area, how they are rated and how many reviews they have.
- Store locators and directories: addresses, coordinates and opening hours for a category or a brand.
- Enrichment: add Google ratings, review counts and place IDs to a list of businesses.
FAQ
Do I need a Google API key? No. The Actor reads Google Maps the way its own web app does. There is no quota and no key to manage.
How many places can one search return? Google Maps lists up to about 200 places for one search. For more, split
the area (dentist in North Austin, dentist in South Austin) or add related terms; repeats are merged and not
charged twice.
The city name exists in several countries. Write the country in the location (Manchester, UK) or set
countryCode.
Is it legal? It reads business listings that anyone can see on Google Maps without logging in. You are responsible for how you use the data, including rules for contacting businesses.
Integrations
Run it from the Apify API or a client library, schedule it in Apify Console, or connect it to n8n, Make, Zapier or any MCP client through Apify's integrations. Results are available as JSON, CSV, Excel and through the dataset API.
More tools from clearfetch
- Google Maps Email Extractor: the same places with emails and social profiles, set up for lead lists
- Website Contact Extractor: emails, phones and social links from any list of websites
- Tech Stack Detector: what each business's website runs on
- Broken Link Checker: check a list of websites for dead links
Changelog
- 1.1.0 (2026-09) — emails and social profiles from each place's website, "only places with an email" filter.
- 1.0.0 (2026-09) — first release: search terms × locations, search and place links, all place fields from the result list, rating/phone/website filters.