Google Maps Scraper Made Easy avatar
Google Maps Scraper Made Easy

Pricing

Pay per event

Go to Apify Store
Google Maps Scraper Made Easy

Google Maps Scraper Made Easy

Developed by

DataCach

DataCach

Maintained by Community

Effortlessly extract location data with Google Maps Scraper Made Easy. Boost your business and marketing by quickly gathering contacts, reviews, and addresses. Perfect for lead generation, research, and local SEO success. Simple, fast, and reliable!

0.0 (0)

Pricing

Pay per event

0

2

2

Last modified

3 days ago

🌍 Google Maps Crawler Made Easy

Turn Google Maps into an API for local business data.
This Apify actor searches any area on the map, extracts full place details, and delivers them to you in clean JSON.

🎥 How it works?

✨ What can you get with this actor?

  • Precise geo-targeting – define a central coordinate, radius, and dispersion to cover the exact neighborhood you need.
  • Keyword search – send any list of search terms (e.g. "restaurants", "coffee shop").
  • Full place profile including:
    • place_id, cid, phone, website, rating, review count, categories, price range, opening hours, plus code, photos, tags and more.
    • Optional social links (Facebook, Instagram, TikTok, …) and third-party delivery / service links (UberEats, Grubhub, DoorDash, etc.).
  • Automatic timestamp so you always know when data was collected.

🔍 Typical use cases

  1. Lead generation & sales intelligence – build B2B prospect lists with phone, website & social profiles.
  2. Competition monitoring – track ratings and reviews of nearby competitors.
  3. Store-locator quality checks – verify that franchise locations are listed correctly.
  4. Market research – analyse category density (e.g. number of pharmacies in a 5 km radius).
  5. Food delivery onboarding – discover restaurants missing on your platform and reach out.

🆚 Why choose this Google Maps scraper?

  • Radius-based crawling – random point sampling avoids the classic Google Maps "results cap" and uncovers thousands of businesses per city.
  • Built-in proxy rotation – residential IPs reduce captchas and blocks.
  • Async & concurrent – powered by Apify Python SDK + asyncio for high throughput.
  • Modular add-ons – pay-per-event charging only when you request social_links or related_services.
  • Country code filter – keep results inside the target country for cleaner datasets.
  • Actively maintained – used in production by DataCach projects.

📥 Input

FieldTypeRequiredDescription
search_termsarrayKeywords to search on Google Maps.
central_latitudestringLatitude of the area centre.
central_longitudestringLongitude of the area centre.
number_of_pointsintegerNumber of random points to generate inside the circle.
search_radius_in_kmintegerRadius (km) around the centre to cover.
zoominteger (10-20)Google Maps zoom level. Recommended 15 for city-level search.
dispersion_factorstring (0.1-1.0)Spread of random points: 0.1 = tight cluster, 1.0 = wide.
max_resultsintegerHard cap on places to scrape (stops actor when reached).
country_codestring (ISO-2)Limit parsing to this country's results.
extract_social_linksbooleanIf true, visit each place's social page to collect Facebook, Instagram, etc.
extract_related_servicesbooleanIf true, grab delivery / booking links shown on Google.

Example input

{
"search_terms": ["restaurant", "pizza"],
"central_latitude": "40.66382229790527",
"central_longitude": "-73.93410730374993",
"zoom": 15,
"search_radius_in_km": 3,
"number_of_points": 50,
"dispersion_factor": "0.5",
"max_results": 500,
"country_code": "us",
"extract_social_links": true,
"extract_related_services": false
}

📤 Output

Each dataset item corresponds to one Google Maps place:

{
"place_id": "ChIJYQchsYFLwokRyef6-Xp1JWY",
"mid": "/g/11svwj6jnb",
"fid": "0x89c24b81b1210761:0x6625757af9fae7c9",
"cid": "7360418337047373769",
"name": "Sapori Ristorante",
"full_address": "3800 Richmond Ave, Staten Island, NY 10312",
"country_code": "us",
"phone_number": "+17182100388",
"website": "http://saporiristorantesi.com/",
"google_frontpage_url": "https://www.google.com/maps?cid=7360418337047373769",
"operational_hours": [
{
"day": "Tuesday",
"hours": "15 PM to 22 PM"
},
{
"day": "Wednesday",
"hours": "15 PM to 22 PM"
},
{
"day": "Thursday",
"hours": "15 PM to 22 PM"
},
{
"day": "Saturday",
"hours": "13 PM to 23 PM"
},
{
"day": "Sunday",
"hours": "13 PM to 21 PM"
}
],
"busy_hours_per_day": [
{
"day": "Sunday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "31%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "43%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "50%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "47%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "41%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "31%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "27%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "15%",
"busy_level_description": "Por lo general, está menos concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
},
{
"day": "Monday",
"busy_hours": [
"Closed"
]
},
{
"day": "Tuesday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "41%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "54%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "72%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "68%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "58%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "37%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "27%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
},
{
"day": "Wednesday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "25%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "47%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "80%",
"busy_level_description": "Por lo general, es cuando está más concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "86%",
"busy_level_description": "Por lo general, es cuando está más concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "70%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "54%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "27%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
},
{
"day": "Thursday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "17%",
"busy_level_description": "Por lo general, está menos concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "43%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "82%",
"busy_level_description": "Por lo general, es cuando está más concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "100%",
"busy_level_description": "Por lo general, es cuando está más concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "96%",
"busy_level_description": "Por lo general, es cuando está más concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "56%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "29%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
},
{
"day": "Friday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "37%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "49%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "64%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "68%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "60%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "54%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "50%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "47%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
},
{
"day": "Saturday",
"busy_hours": [
{
"hour": 6,
"hour_str": "6 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 7,
"hour_str": "7 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 8,
"hour_str": "8 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 9,
"hour_str": "9 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 10,
"hour_str": "10 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 11,
"hour_str": "11 a.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 12,
"hour_str": "12 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
},
{
"hour": 13,
"hour_str": "1 p.m.",
"busy_level": "29%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 14,
"hour_str": "2 p.m.",
"busy_level": "35%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 15,
"hour_str": "3 p.m.",
"busy_level": "43%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 16,
"hour_str": "4 p.m.",
"busy_level": "52%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 17,
"hour_str": "5 p.m.",
"busy_level": "62%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 18,
"hour_str": "6 p.m.",
"busy_level": "70%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 19,
"hour_str": "7 p.m.",
"busy_level": "70%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 20,
"hour_str": "8 p.m.",
"busy_level": "54%",
"busy_level_description": "Por lo general, está un poco concurrido"
},
{
"hour": 21,
"hour_str": "9 p.m.",
"busy_level": "43%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 22,
"hour_str": "10 p.m.",
"busy_level": "31%",
"busy_level_description": "Por lo general, no está tan concurrido"
},
{
"hour": 23,
"hour_str": "11 p.m.",
"busy_level": "0%",
"busy_level_description": "No wait"
}
]
}
],
"third_party_services": [
"https://www.grubhub.com/restaurant/sapori-ristorante-3800-richmond-ave-staten-island/11017944",
"https://www.doordash.com/store/sapori-ristorante-staten-island-28036724/",
"https://www.seamless.com/menu/sapori-ristorante-3800-richmond-ave-staten-island/11017944",
"https://order.online/store/-28036724/"
],
"social_links": [
"https://www.facebook.com/p/Sapori-Ristorante-SI-100094523357010/",
"https://www.grubhub.com/restaurant/sapori-ristorante-3800-richmond-ave-staten-island/11017944/"
],
"social_links_url": "https://www.google.com/search?q=local+guide+program&ibp=gwp;0,26,OikKJyIjU2Fwb3JpIFJpc3RvcmFudGUgU3RhdGVuIElzbGFuZCwgTlkoAg&pcl=lp",
"categories": [
"Italian restaurant"
],
"geo": {
"lat": 40.545043199999995,
"lng": -74.16594769999999
},
"rating": 4.9,
"reviews_count": 326,
"logo": "https://lh3.googleusercontent.com/gps-cs-s/AC9h4np4iBd7CiCYROc6QEAomcL13-wy-7IfTy2GF9DF7RGZ6eQVxjCmSiedKZyZeaCzo175UhPcIwDUw1JRtBF4LZpuueh93EAPQEk4qAyX_17kjAw6GRuwc__TP9Gco3K6aSw7H4fC1_Uxcm8=w900-h900-p-k-no",
"photos": [
"https://lh3.googleusercontent.com/p/AF1QipOBvdBBg2ca1VSPD9OdYevQqBKVj41GXZ_vqPy0=w447-h298-k-no",
"https://lh3.googleusercontent.com/p/AF1QipM5oX6dX4d_gwSdg-RUps04bzgRFRYevJYSdVUF=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipMHsbglX-zCtshxWnR0OhOKcZ2uK-ETuWbZtzyP=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipMqrdDYvhaAsY_YwhqypJuR2PdAEHziENor4XXN=w224-h398-k-no",
"https://lh3.googleusercontent.com/p/AF1QipP4UVcyHyQ7BrXiR7iMKuyFomFTjWjfmdQNl-mR=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipPcyfBvR4g5G3uzGeMK6YmwAxawhG6IRBWmlzrq=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipNciCATo7aJ8usUpYl8p-uvGA6aWDeDBDzuxhwL=w156-h156-n-k-no",
"https://lh3.googleusercontent.com/p/AF1QipME6aJSMI8ClUVwOPe2A5IMoc1GnoPC0G1KMgD4=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOQR8tRFxQz1bnYgaULm0zoVCFl4lxdddT6P8sK=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipPIVNOXshY1SRXvh2HZmhP3O9eHGdCEp48WgN60=w640-h640-n-k-no",
"https://lh3.googleusercontent.com/p/AF1QipMqrdDYvhaAsY_YwhqypJuR2PdAEHziENor4XXN=w203-h360-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOBvdBBg2ca1VSPD9OdYevQqBKVj41GXZ_vqPy0=w180-h120-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOtgnvw660Nx3k8tmg80yniITaldDnf4snNNu9D=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOINq6O_ZnQpxCwtUKfwSVhQ2MxV7Qkw1VbF5ee=w640-h640-n-k-no",
"https://lh3.googleusercontent.com/p/AF1QipNTOncws655GkZ-T-7hyWbY9pVA-KdR30KF_DUq=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipNzfCcBrrtGttP3_fkawCYPvj-nyfutteFUkTq1=w156-h156-n-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOBvdBBg2ca1VSPD9OdYevQqBKVj41GXZ_vqPy0=w203-h135-k-no",
"https://lh3.googleusercontent.com/p/AF1QipOajIbuCg6z9Hu7kF-k605fVMy5__bs5SMNMaxi=w118-h195-k-no",
"https://lh3.googleusercontent.com/p/AF1QipPcyfBvR4g5G3uzGeMK6YmwAxawhG6IRBWmlzrq=w224-h369-k-no"
],
"tags": [
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/has_seating_outdoors",
"key_title": "Asientos al aire libre",
"value": 1,
"value_title": "Tiene asientos al aire libre",
"value_title_short": "Asientos al aire libre"
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/has_curbside_pickup",
"key_title": "Retiros en la puerta",
"value": 1,
"value_title": "Se ofrece retiro en la puerta",
"value_title_short": "Retiros en la puerta"
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/has_delivery",
"key_title": "Entrega a domicilio",
"value": 1,
"value_title": "Ofrece entrega a domicilio",
"value_title_short": "Entrega a domicilio"
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/has_takeout",
"key_title": "Para llevar",
"value": 1,
"value_title": "Ofrece comida para llevar",
"value_title_short": "Para llevar"
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/serves_dine_in",
"key_title": "Consumo en el lugar",
"value": 1,
"value_title": "Ofrece consumo en el lugar",
"value_title_short": "Consumo en el lugar"
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/has_fast_service",
"key_title": "Atención rápida",
"value": 1,
"value_title": "La atención es rápida",
"value_title_short": "Atención rápida"
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/serves_coffee_notable",
"key_title": "Buen café",
"value": 1,
"value_title": "Ofrece buen café",
"value_title_short": "Buen café"
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/serves_dessert_notable",
"key_title": "Deliciosos postres",
"value": 1,
"value_title": "Ofrece deliciosos postres",
"value_title_short": "Deliciosos postres"
},
{
"group_id": "popular_for",
"group_title": "Popular por",
"key_id": "/geo/type/establishment_poi/serves_lunch_popular",
"key_title": "Almuerzo",
"value": 1,
"value_title": "Se destaca por el almuerzo",
"value_title_short": "Almuerzo"
},
{
"group_id": "popular_for",
"group_title": "Popular por",
"key_id": "/geo/type/establishment_poi/serves_dinner_popular",
"key_title": "Cena",
"value": 1,
"value_title": "Se destaca por la cena",
"value_title_short": "Cena"
},
{
"group_id": "popular_for",
"group_title": "Popular por",
"key_id": "/geo/type/establishment_poi/suitable_for_solo_dining",
"key_title": "Cena en solitario",
"value": 1,
"value_title": "Recomendable para cenar en solitario",
"value_title_short": "Cena en solitario"
},
{
"group_id": "accessibility",
"group_title": "Accesibilidad",
"key_id": "/geo/type/establishment_poi/has_wheelchair_accessible_entrance",
"key_title": "Entrada accesible para personas en silla de ruedas",
"value": 1,
"value_title": "Ofrece entrada con acceso para silla de ruedas",
"value_title_short": "Entrada accesible para personas en silla de ruedas"
},
{
"group_id": "accessibility",
"group_title": "Accesibilidad",
"key_id": "/geo/type/establishment_poi/has_wheelchair_accessible_seating",
"key_title": "Espacio accesible para personas en silla de ruedas",
"value": 1,
"value_title": "Ofrece espacio accesible para personas en silla de ruedas",
"value_title_short": "Espacio accesible para personas en silla de ruedas"
},
{
"group_id": "accessibility",
"group_title": "Accesibilidad",
"key_id": "/geo/type/establishment_poi/has_wheelchair_accessible_restroom",
"key_title": "Sanitarios accesibles para personas en silla de ruedas",
"value": 1,
"value_title": "Cuenta con sanitarios accesibles para personas en silla de ruedas",
"value_title_short": "Sanitarios accesibles para personas en silla de ruedas"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_alcohol",
"key_title": "Alcohol",
"value": 1,
"value_title": "Ofrece bebidas alcohólicas",
"value_title_short": "Alcohol"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_small_plates",
"key_title": "Aperitivos",
"value": 1,
"value_title": "Ofrece aperitivos",
"value_title_short": "Aperitivos"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_liquor",
"key_title": "Bebidas fuertes",
"value": 1,
"value_title": "Ofrece licor fuerte",
"value_title_short": "Bebidas fuertes"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_coffee",
"key_title": "Café",
"value": 1,
"value_title": "Ofrece café",
"value_title_short": "Café"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_beer",
"key_title": "Cerveza",
"value": 1,
"value_title": "Ofrece cervezas",
"value_title_short": "Cerveza"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_cocktails",
"key_title": "Cócteles",
"value": 1,
"value_title": "Ofrece cócteles",
"value_title_short": "Cócteles"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_comfort_food",
"key_title": "Comida casera",
"value": 1,
"value_title": "Ofrece comida casera",
"value_title_short": "Comida casera"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/serves_wine",
"key_title": "Vino",
"value": 1,
"value_title": "Ofrece vino",
"value_title_short": "Vino"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/serves_lunch",
"key_title": "Almuerzo",
"value": 1,
"value_title": "Ofrece almuerzos",
"value_title_short": "Almuerzo"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/serves_dinner",
"key_title": "Cena",
"value": 1,
"value_title": "Ofrece cenas",
"value_title_short": "Cena"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/has_catering",
"key_title": "Servicio de catering",
"value": 1,
"value_title": "Ofrece servicio de catering",
"value_title_short": "Servicio de catering"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/serves_dessert",
"key_title": "Postres",
"value": 1,
"value_title": "Ofrece opciones de postre",
"value_title_short": "Postres"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/has_seating",
"key_title": "Espacio con asientos",
"value": 1,
"value_title": "Tiene un espacio con asientos",
"value_title_short": "Espacio con asientos"
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/has_table_service",
"key_title": "Servicio a la mesa",
"value": 1,
"value_title": "Ofrece servicio de mesa",
"value_title_short": "Servicio a la mesa"
},
{
"group_id": "amenities",
"group_title": "Servicios",
"key_id": "/geo/type/establishment_poi/has_restroom",
"key_title": "Sanitario",
"value": 1,
"value_title": "Tiene sanitarios",
"value_title_short": "Sanitario"
},
{
"group_id": "atmosphere",
"group_title": "Ambiente",
"key_id": "/geo/type/establishment_poi/feels_cozy",
"key_title": "Agradable",
"value": 1,
"value_title": "Agradable",
"value_title_short": "Agradable"
},
{
"group_id": "atmosphere",
"group_title": "Ambiente",
"key_id": "/geo/type/establishment_poi/feels_casual",
"key_title": "Informal",
"value": 1,
"value_title": "Informal",
"value_title_short": "Informal"
},
{
"group_id": "atmosphere",
"group_title": "Ambiente",
"key_id": "/geo/type/establishment_poi/feels_romantic",
"key_title": "Romántico",
"value": 1,
"value_title": "Romántico",
"value_title_short": "Romántico"
},
{
"group_id": "crowd",
"group_title": "Público usual",
"key_id": "/geo/type/establishment_poi/suitable_for_groups",
"key_title": "Grupos",
"value": 1,
"value_title": "Recomendable para ir en grupo",
"value_title_short": "Recomendable para ir en grupo"
},
{
"group_id": "planning",
"group_title": "Planificación",
"key_id": "/geo/type/establishment_poi/recommends_reservations_dinner",
"key_title": "Se recomienda hacer reserva para la cena",
"value": 1,
"value_title": "Se recomienda hacer reserva para la cena",
"value_title_short": "Se recomienda hacer reserva para la cena"
},
{
"group_id": "planning",
"group_title": "Planificación",
"key_id": "/geo/type/establishment_poi/accepts_reservations",
"key_title": "Se aceptan reservas",
"value": 1,
"value_title": "Se aceptan reservas",
"value_title_short": "Se aceptan reservas"
},
{
"group_id": "payments",
"group_title": "Pagos",
"key_id": "/geo/type/establishment_poi/pay_mobile_nfc",
"key_title": "Pagos móviles mediante NFC",
"value": 1,
"value_title": "Se aceptan pagos móviles mediante NFC",
"value_title_short": "Pagos móviles mediante NFC"
},
{
"group_id": "payments",
"group_title": "Pagos",
"key_id": "/geo/type/establishment_poi/pay_credit_card",
"key_title": "Tarjetas de crédito",
"value": 1,
"value_title": "Acepta tarjetas de crédito",
"value_title_short": "Tarjetas de crédito"
},
{
"group_id": "payments",
"group_title": "Pagos",
"key_id": "/geo/type/establishment_poi/pay_debit_card",
"key_title": "Tarjetas de débito",
"value": 1,
"value_title": "Acepta tarjetas de débito",
"value_title_short": "Tarjetas de débito"
},
{
"group_id": "parking",
"group_title": "Estacionamiento",
"key_id": "/geo/type/establishment_poi/has_parking_lot_free",
"key_title": "Estacionamiento gratuito",
"value": 1,
"value_title": "Estacionamiento gratuito",
"value_title_short": "Estacionamiento gratuito"
},
{
"group_id": "parking",
"group_title": "Estacionamiento",
"key_id": "/geo/type/establishment_poi/has_parking_street_free",
"key_title": "Estacionamiento gratuito en la calle",
"value": 1,
"value_title": "Estacionamiento gratuito en la calle",
"value_title_short": "Estacionamiento gratuito en la calle"
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment/has_no_contact_delivery",
"key_title": "Entrega sin contacto",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "service_options",
"group_title": "Opciones de servicio",
"key_id": "/geo/type/establishment_poi/has_drive_through",
"key_title": "Pedidos desde el automóvil",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/has_seating_rooftop",
"key_title": "Asientos en la terraza",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/has_fireplace",
"key_title": "Chimenea",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "highlights",
"group_title": "Aspectos destacados",
"key_id": "/geo/type/establishment_poi/suitable_for_watching_sports",
"key_title": "Deportes",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "popular_for",
"group_title": "Popular por",
"key_id": "/geo/type/establishment_poi/suitable_for_dates",
"key_title": "Citas",
"value": 1,
"value_title": "Recomendable para citas",
"value_title_short": "Citas"
},
{
"group_id": "offerings",
"group_title": "Qué ofrece",
"key_id": "/geo/type/establishment_poi/has_all_you_can_eat_always",
"key_title": "Tenedor libre",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "dining_options",
"group_title": "Opciones del local",
"key_id": "/geo/type/establishment_poi/has_order_ahead",
"key_title": "Pedidos por adelantado",
"value": 1,
"value_title": "Ofrece opciones de pedidos por adelantado",
"value_title_short": "Pedidos por adelantado"
},
{
"group_id": "atmosphere",
"group_title": "Ambiente",
"key_id": "/geo/type/establishment_poi/suitable_for_special_occasions",
"key_title": "Ocasiones especiales",
"value": 1,
"value_title": "Recomendable para celebrar ocasiones especiales",
"value_title_short": "Ocasiones especiales"
},
{
"group_id": "atmosphere",
"group_title": "Ambiente",
"key_id": "/geo/type/establishment_poi/feels_historic",
"key_title": "Histórico",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "crowd",
"group_title": "Público usual",
"key_id": "/geo/type/establishment_poi/suitable_for_business_lunch",
"key_title": "Almuerzo de trabajo",
"value": 1,
"value_title": "Ideal para un almuerzo de trabajo",
"value_title_short": "Ideal para un almuerzo de trabajo"
},
{
"group_id": "planning",
"group_title": "Planificación",
"key_id": "/geo/type/establishment_poi/requires_reservations",
"key_title": "Se requieren reservas",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "payments",
"group_title": "Pagos",
"key_id": "/geo/type/establishment_poi/requires_cash_only",
"key_title": "Solo dinero en efectivo",
"value": 0,
"value_title": 0,
"value_title_short": ""
},
{
"group_id": "children",
"group_title": "Menores",
"key_id": "/geo/type/establishment_poi/good_for_kids_birthday",
"key_title": "Es recomendable para cumpleaños infantiles",
"value": 0,
"value_title": 0,
"value_title_short": ""
}
],
"plus_code": "87G7GRWM+2J",
"price_per_person": [
{
"currency": "USD",
"price_from": 20.0,
"price_to": 30.0
}
],
"relative_latitude": 40.58944467257925,
"relative_longitude": -74.0328874272084,
"search_term": "restaurant",
"maps_url": "https://www.google.com/maps/search/restaurant/@40.58944467257925,-74.0328874272084,12z",
"main_task_id": "cb16015d-fb07-454c-aa7d-1dc8dc6afab7",
"extraction_date": "2025-08-16 02:34:39.166130",
"extraction_datetime": "2025-08-16T06:34:39.166136+00:00",
"input": {
"central_latitude": "40.66382229790527",
"central_longitude": "-73.93410730374993",
"zoom": 12,
"search_terms": [
"restaurant"
],
"search_radius_in_km": 10,
"number_of_points": 100,
"dispersion_factor": "1",
"max_results": 100,
"extract_social_links": true,
"extract_related_services": true,
"country_code": "us"
}
}

The dataset is downloadable in JSON, CSV, XML, Excel, HTML Table, RSS, JSONL or via API.


🚀 How to run

From Apify Console

  1. Click Run on the actor page.
  2. Paste the JSON input like the example above.
  3. Watch the live log; results will appear in the Dataset tab.

From code

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("username~google-maps-crawler-by-location").call({
"search_terms": ["pharmacy"],
"central_latitude": "48.8566",
"central_longitude": "2.3522",
"zoom": 15,
"search_radius_in_km": 2,
"number_of_points": 30,
"dispersion_factor": "0.3",
"max_results": 300,
"country_code": "fr"
})
for place in client.dataset(run["defaultDatasetId"]).iterate_items():
print(place)

Equivalent cURL:

curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <APIFY_API_TOKEN>' \
-d '{"search_terms":["hotel"],"central_latitude":"51.5072","central_longitude":"-0.1276", "zoom":15, "search_radius_in_km":4, "number_of_points":40, "dispersion_factor":"0.4", "max_results":400, "country_code":"gb"}' \
'https://api.apify.com/v2/acts/username~google-maps-crawler-by-location/runs?waitForFinish=1'

⚙️ Technical notes

  • Built with Apify Python SDK and asyncio for non-blocking requests.
  • Supports concurrency limits and batch processing to stay under Google's throttling thresholds.
  • Charges custom events: scraped_place, scraped_photos, fetch_social_links, fetch_related_services so you pay only for what you use.

💬 Support & feedback

Open an issue on Apify or message @DataCach – we reply within one business day.


🌐 Supported countries

FlagCountry
🇺🇸United States
🇦🇩Andorra
🇦🇱Albania
🇦🇲Armenia
🇦🇷Argentina
🇦🇹Austria
🇦🇺Australia
🇦🇿Azerbaijan
🇧🇦Bosnia and Herzegovina
🇧🇪Belgium
🇧🇬Bulgaria
🇧🇴Bolivia
🇧🇷Brazil
🇧🇾Belarus
🇨🇭Switzerland
🇨🇱Chile
🇨🇴Colombia
🇨🇷Costa Rica
🇨🇺Cuba
🇨🇾Cyprus
🇨🇿Czech Republic
🇩🇪Germany
🇩🇰Denmark
🇩🇴Dominican Republic
🇪🇨Ecuador
🇪🇪Estonia
🇪🇸Spain
🇫🇮Finland
🇫🇷France
🇬🇧United Kingdom
🇬🇪Georgia
🇬🇷Greece
🇬🇹Guatemala
🇭🇳Honduras
🇭🇷Croatia
🇭🇺Hungary
🇮🇪Ireland
🇮🇸Iceland
🇮🇹Italy
🇯🇵Japan
🇰🇷South Korea
🇰🇿Kazakhstan
🇱🇹Lithuania
🇱🇺Luxembourg
🇱🇻Latvia
🇲🇨Monaco
🇲🇩Moldova
🇲🇪Montenegro
🇲🇹Malta
🇲🇽Mexico
🇳🇮Nicaragua
🇳🇱Netherlands
🇳🇴Norway
🇳🇿New Zealand
🇵🇦Panama
🇵🇪Peru
🇵🇱Poland
🇵🇹Portugal
🇵🇾Paraguay
🇷🇴Romania
🇷🇸Serbia
🇷🇺Russia
🇸🇪Sweden
🇸🇮Slovenia
🇸🇰Slovakia
🇸🇲San Marino
🇸🇻El Salvador
🇹🇷Turkey
🇺🇦Ukraine
🇺🇾Uruguay
🇻🇦Vatican City
🇻🇪Venezuela

If you don’t see your country listed, please let us know so we can begin working on making it available as soon as possible. 🫡

SEO keywords: Google Maps scraper, Google Maps crawler, Google Places API alternative, business data extractor, local lead generation.

Made with ❤️ by the DataCach team.