Google Maps Scraper avatar
Google Maps Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Developed by

Sachin Kumar Yadav

Sachin Kumar Yadav

Maintained by Community

Scrape Google Maps business listings, place details, reviews, photos, addresses, and coordinates. Run nearby or keyword-based searches, fetch detailed place data, and export everything to JSON/CSV/Excel. Ideal for lead generation, local SEO, enrichment, and competitive analysis.

0.0 (0)

Pricing

from $8.00 / 1,000 results

0

5

4

Last modified

17 hours ago

Google Maps Scraper (Apify Actor)

Fast, reliable Google Maps scraping on Apify — collect business listings, place details, reviews, photos, addresses, and coordinates with a simple form. Ideal for lead generation, local SEO, data enrichment, and market research. 🚀


Table of Contents


Features

CapabilityDescription
🔎 Search mapsKeyword search with optional geo context
📍 Nearby searchFind places around coordinates
🏷️ Place detailsEnrich by business_id or place_id
⭐ ReviewsPaginated reviews with sorting
🖼️ PhotosPhoto URLs for a place
📫 GeocodingAddress ➜ coordinates
🧭 What is hereReverse lookup by coordinates

How it works

  1. Fill the input form in Apify.
  2. Run the actor for your selected mode.
  3. Results are saved to the run’s default dataset. Export as JSON/CSV/Excel. ✅

Input parameters

FieldTypeRequiredModesDescriptionDefault
modestringyesallSelect: nearby, searchmaps, place, geocoding, reviews, whatishere, photos, reviewsearchmaps
querystringwhen applicablenearby, searchmaps, geocodingKeyword or addresscafe
latstringnearby/whatishere (req), searchmaps (opt)nearby, searchmaps, whatishereLatitude48.8577848
lngstringnearby/whatishere (req), searchmaps (opt)nearby, searchmaps, whatishereLongitude2.2888379
limitintegernowhere supportedMax results20
offsetintegernowhere supportedPagination offset0
zoomintegernonearby, searchmapsMap zoom level12
countrystringnoallISO country codeus
langstringnoallLanguage codeen
business_idstringplace/reviews/photosplace, reviews, photosBusiness identifier
place_idstringplaceplaceGoogle Place ID
cursorstringreviews (opt)reviewsCursor for review pagination
sortstringreviews (opt)reviewsRelevant, Newest, HighestRating, LowestRatingRelevant
review_idstringreviewreviewSpecific review ID

Tips:

  • 📌 Use geocoding to turn addresses into coordinates, then run nearby around them.
  • 🧠 Store business_id/place_id to re-enrich later without duplicates.
  • 🌐 Set country and lang for localized output.

Example inputs

Nearby places

{
"mode": "nearby",
"query": "cafe",
"lat": 48.8577848,
"lng": 2.2888379,
"limit": 3,
"country": "us",
"lang": "en",
"offset": 0,
"zoom": 12
}

Search maps

{
"mode": "searchmaps",
"query": "restaurant",
"limit": 2,
"country": "us",
"lang": "en",
"lat": 51.5072,
"lng": 0.12,
"offset": 0,
"zoom": 13
}

Place details

{
"mode": "place",
"business_id": "0x47f4eb87e91f866d:0x9629fabb993eb66",
"country": "fr",
"lang": "en",
"place_id": "ChIJk_grnPDq9EcRE7gOH9gAPZA"
}

Geocoding

{
"mode": "geocoding",
"query": "Navigation Square",
"lang": "en",
"country": "fr"
}

Reviews

{
"mode": "reviews",
"business_id": "0x47f4ea8ed352d3c5:0x7bb3bc00dfc039a9",
"country": "us",
"lang": "en",
"limit": 20,
"cursor": "id here",
"sort": "Relevant"
}

What is here

{
"mode": "whatishere",
"lat": 51.8977449,
"lng": -8.4620383,
"lang": "en",
"country": "us"
}

Photos by business

{
"mode": "photos",
"business_id": "0x47e66e2964e34e2d:0x8ddca9ee380ef7e0",
"lang": "en",
"country": "us"
}

Single review by ID

{
"mode": "review",
"review_id": "ChdDSUhNMG9nS0VJLVlfZFhBMzl2enVBRRAB"
}

Output format

Each run saves a single dataset item with:

  • success (boolean)
  • mode (string)
  • params (object)
  • data (raw response)
  • fetched_at (ISO datetime)

On errors, success: false plus status and error are recorded. 💡

By mode at-a-glance

Modedata shapeKey fields
nearby, searchmapsArray of placesbusiness_id, name, full_address, latitude, longitude, rating, review_count, types, price_level, photos[], working_hours
place, photosSingle place objectSame as above + optional website_full, is_claimed, verified, photos[]
geocodingObjectaddress, lat, lng, timezone
whatishereObjectaddress, place_id, coordinates{lat,lng}, timezone, town, country_name, places[]
reviewsObjectBusiness metadata + photos[], and optionally reviews[] (when included)
reviewObject with reviews[]Array items include review_id, user_name, review_text, review_rate, timestamps, links

Example: Nearby/SearchMaps result (trimmed)

{
"success": true,
"mode": "nearby",
"params": {
"query": "cafe",
"lat": 48.8577848,
"lng": 2.2888379,
"limit": 3,
"country": "us",
"lang": "en",
"offset": 0,
"zoom": 12
},
"data": [
{
"business_id": "0x47e66f0f16582607:0xd264c78df0c9ba38",
"name": "Mood Coffee Shop",
"full_address": "Mood Coffee Shop, 66 Av. Kléber, 75116 Paris, France",
"latitude": 48.8681057,
"longitude": 2.2905479,
"review_count": 70,
"rating": 4.9,
"timezone": "Europe/Paris",
"website": null,
"place_id": "ChIJByZYFg9v5kcROLrJ8I3HZNI",
"types": ["Coffee shop"],
"price_level": null,
"working_hours": {"Friday": ["8:30 AM–5:30 PM"]},
"city": "Paris, France",
"photos": [
{"src": "https://lh3.googleusercontent.com/p/AF1Qip...=w86-h114-k-no", "max_size": [3024,4032], "min_size": [86,86] }
],
"state": "Open ⋅ Closes 5:30 PM",
"description": []
}
],
"fetched_at": "2025-10-10T00:00:00.000Z"
}

Example: Geocoding result

{
"success": true,
"mode": "geocoding",
"params": {"query": "Navigation Square", "lang": "en", "country": "fr"},
"data": {
"address": "Navigation Square, Ballintemple, Cork, Ireland",
"lat": 51.8977449,
"lng": -8.4620383,
"timezone": "Europe/Dublin"
},
"fetched_at": "2025-10-10T00:00:00.000Z"
}

Example: Single review by ID

{
"success": true,
"mode": "review",
"params": {"review_id": "ChdDSUhNMG9nS0VJLVlfZFhBMzl2enVBRRAB"},
"data": {
"reviews": [
{
"review_id": "ChdDSUhNMG9nS0VJLVlfZFhBMzl2enVBRRAB",
"user_name": "Andrea Page",
"review_rate": 5,
"review_text": "I had a fantastic experience...",
"user_avatar": "https://lh3.googleusercontent.com/...",
"user_link": "https://www.google.com/maps/contrib/102773189...",
"iso_date": "2025-05-29 00:25:37",
"review_link": "https://www.google.com/maps/reviews/data=!4m8!..."
}
]
},
"fetched_at": "2025-10-10T00:00:00.000Z"
}

Best practices

  • 🎯 Targeting: Combine lat, lng, zoom for precise, local results.
  • 🔁 Pagination: Use limit + offset (where supported) to page results.
  • 🌐 Localization: Set lang + country for consistent language/region.
  • 🧩 Idempotence: Save business_id/place_id to re-enrich later.
  • ⏱️ Scheduling: Automate recurring runs and export datasets for your pipeline.

Troubleshooting

  • ❌ No results: Check query, lat, lng, zoom. Try broader keywords.
  • ⚠️ Validation errors: Ensure required fields for the chosen mode are set.
  • 🕳️ Missing fields: Some places do not expose phone/website; that’s expected.

FAQ

  • What data can I get? Names, categories, ratings, addresses, coordinates, plus reviews and photos when available. 📦
  • Do I need to code? No. Configure the input form and run the actor. 🧰
  • How do I export results? Open the run’s default dataset in Apify and export JSON/CSV/Excel. 📤
  • Which identifiers should I keep? Store business_id and/or place_id for future enrichment. 🏷️
  • Can I fetch a single review? Yes — use mode: "review" with review_id. 🎯

Find Me better

Google Maps scraper, Google Maps data scraping, Google Maps business data, Google Maps places data scraper, Google Maps search scraper, Google Maps directory scraper, scrape Google Maps reviews, Google Maps review aggregator, Google Maps address scraper, Google Maps geocoding, Google Maps reverse geocoding, local SEO scraper, business leads from Google Maps, Apify actor for Google Maps, Google Maps data extraction, Google Maps scraping automation, export Google Maps to CSV JSON Excel.