Google Maps Scraper - Places, Phones, Websites, Emails
Pricing
from $1.28 / 1,000 places
Google Maps Scraper - Places, Phones, Websites, Emails
Scrape Google Maps places by search term and location: name, category, address, coordinates, rating, reviews count, phone, website, opening hours, attributes, place ID, plus optional emails and social profiles from each website. Fast, no API key.
Pricing
from $1.28 / 1,000 places
Rating
0.0
(0)
Developer
Centor Prat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
📍 Google Maps Scraper - Places, Phones, Websites, Emails
Scrape Google Maps for any search term in any city: dentists in Austin, pizza in Lisbon, plumbers in Brooklyn. One row per place: name, categories, full address (street, neighbourhood, city, postcode, state, country), coordinates, rating, review count, phone (local and international), website, opening hours, attributes (accessibility, service options, amenities...), place ID, CID, timezone, photo, permanently / temporarily closed flags and the Google Maps link. Fast (no browser), no API key.
Every place in a city, not just the top 120: a single Google Maps search stops at ~120-200 results. Turn on
coverWholeArea and the location is split into a grid and every cell is searched (e.g. 656 dentists across Austin, TX
instead of ~120), duplicates removed.
Lead generation built in:
includeContacts: visits each place's website and adds emails, extra phones and social profiles (Facebook, Instagram, LinkedIn, X, YouTube, TikTok...).website: "without": only businesses with no website, the classic list for web designers and agencies.- Filters: minimum rating, minimum reviews, category, skip closed places.
📥 Input
| Field | Meaning |
|---|---|
searchTerms | e.g. ["dentist", "orthodontist"] |
locations | e.g. ["Austin, TX", "Dallas, TX"] (each term x each location) |
maxPlacesPerSearch | per term x location (up to 10,000 with coverWholeArea) |
coverWholeArea, gridCellKm | grid mode: every matching place in the city / region |
includeContacts, maxContactPages | website emails and socials |
website, minRating, minReviews, categoryFilter, skipClosed | filters |
language, country | localisation |
{ "searchTerms": ["dentist"], "locations": ["Austin, TX"], "maxPlacesPerSearch": 200, "includeContacts": true, "minReviews": 20 }
📤 Output (one place, shortened)
{ "name": "ATX Family Dental", "category": "Dentist", "address": "1700 S 1st St, Austin, TX 78704", "city": "Austin","postalCode": "78704", "state": "Texas", "latitude": 30.25, "longitude": -97.75, "rating": 4.9, "reviewsCount": 919,"phone": "(512) 717-3147", "phoneInternational": "+15127173147", "website": "https://www.atxfamilydental.com/","openingHours": {"Monday": "8 AM–5 PM", "Friday": "8 AM–4 PM"}, "emails": ["info@atxfamilydental.com"],"socials": {"facebook": "https://www.facebook.com/atxfamilydental"}, "placeId": "ChIJ...","url": "https://www.google.com/maps/search/?api=1&query=ATX%20Family%20Dental&query_place_id=ChIJ..." }
💡 Uses
- Lead generation for agencies, SaaS and local services: phones, websites, emails and socials per niche and city.
- Market research: how many competitors, how they're rated, where they are.
- Local SEO: categories, ratings and review counts of the businesses that rank.
- Data enrichment: place IDs and coordinates for your own lists.
💰 Pricing
Pay per result: place per place (details included: phone, website, hours, attributes) and contacts per place where
website contacts are found (only when includeContacts is on). Empty searches are free.
🤖 API / agents
curl -X POST "https://api.apify.com/v2/acts/centorprat~google-maps-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" -d '{"searchTerms": ["coffee shop"], "locations": ["Lisbon"], "maxPlacesPerSearch": 20}'
MCP: https://mcp.apify.com/?tools=actors,docs,centorprat/google-maps-scraper
❓ FAQ
- API key? No.
- More than ~200 places in a city? Turn on
coverWholeArea(grid search); smallergridCellKmfor dense downtowns.