Extract comprehensive business data from Google Maps at a fraction of the cost of alternatives. Get name, address, phone, website, ratings, opening hours, GPS coordinates, photos, plus optional featured reviews, popular-times histograms, and AI-powered contact or job enrichment. Global coverage, any language, one flat rate.
# Start a run and get results back in one request curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~google-maps-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "searchStrings": ["restaurants in Munich"], "maxResultsPerQuery": 100, "language": "en", "includeReviews": true, "maxReviewsPerPlace": 10 }' # Or use with AI agents via MCP: # https://mcp.apify.com?tools=santamaria-automations/google-maps-scraper
maxReviewsPerPlace, reviewsSort, and reviewsNewerThan. Adds ~300 ms per place. Free.searchStrings, use the queries array to attach a per-query company_id and separate the search term from the location and country code.| Feature | NanoScrape | compass/crawler-google-places |
|---|---|---|
| Cost per 1k places | $1.00 (all fields included) | $35 - $50 |
| RAM usage | 256MB | 2-8GB |
| Proxy type | Datacenter | Residential ($$$) |
| Fields per place | 30+ | 20-30 |
| Reviews | Featured reviews included, opt-in | Extra billing |
| Popular times | Included, opt-in | Extra billing |
| Contact / job enrichment | AI-powered add-on | Not available |
| Incremental scraping (excludeCids) | Yes | No |
| Field | Type | Example |
|---|---|---|
| title | string | Augustiner-Keller |
| category | string | Beer garden |
| address | string | Arnulfstr. 52, 80335 Munich, Germany |
| complete_address | object | { street, city, postal_code, state, country } |
| phone | string | +49 89 594393 |
| website | string | https://www.augustinerkeller.de |
| review_rating | number | 4.5 |
| review_count | number | 12847 |
| reviews_per_rating | object | { "1": 42, "2": 31, "3": 89, "4": 312, "5": 1349 } |
| user_reviews | array | [ { name, rating, text, published_at, response_from_owner } ] |
| popular_times | object | { "Monday": { "12": 43, "13": 61, ... } } |
| latitude / longitude | number | 48.1432 / 11.5512 |
| open_hours | object | { "Monday": ["11:00-23:00"], ... } |
| cid | string | 12345678901234567 (stable, use for excludeCids) |
30+ fields total. See the actor README on Apify for the complete field reference.