Google Maps Scraper + Emails, Socials & WhatsApp – All-In-One
Pricing
from $1.50 / 1,000 result delivereds
Google Maps Scraper + Emails, Socials & WhatsApp – All-In-One
Scrape Google Maps places worldwide with business emails, social profiles, WhatsApp, phone, website, rating & tech stack included. One flat price for every plan, no add-ons. Built for lead generation, local SEO and CRM enrichment.
Pricing
from $1.50 / 1,000 result delivereds
Rating
0.0
(0)
Developer
Umaid Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search any business category in any city worldwide and get clean, complete business records – name, address, coordinates, phone, website, rating, review count, opening status – with website enrichment included: business emails, social profiles, WhatsApp, contact page and tech stack.
One price per place. Every field included. No add-ons. Same price on every plan.
{"searchStringsArray": ["dentist", "orthodontist"],"locationQuery": "Toronto, Canada","maxCrawledPlacesPerSearch": 100}
Give it a search term and a city – get a lead list you can use, not a lead list you have to pay extra to complete.
🎯 What can you do with it?
- Lead generation – build prospect lists of businesses by category and city with phone, email, WhatsApp and social profiles ready for outreach.
- Local SEO & agencies – audit every competitor in a niche: ratings, review counts, whether they have a website, what it's built on.
- CRM enrichment – match your existing accounts to phone, website, email, socials and tech stack.
- Market research – density, ratings and price level of a category across any city on earth.
- AI agents & automations – structured JSON that drops straight into n8n, Make, Zapier, Clay or your own code via the Apify API.
📦 What data do you get for every place?
| Group | Fields |
|---|---|
| Identity | name, place_id, cid, categories, primary_category, description |
| Location | address, street, city, region, postal_code, country_code, lat, lng, plus_code, timezone |
| Contact | phone, phone_e164, website |
| Reputation | rating, review_count, price_level |
| Status & hours | status (open / temporarily closed / permanently closed), open_now, hours (weekly schedule), service_area_business |
| Extras | photos_count, photo_urls, attributes (wheelchair access, delivery, dine-in, …) |
| ✨ Enrichment (included) | emails[], socials{facebook, instagram, linkedin, x, youtube, tiktok}, whatsapp, contact_form_url, tech_stack[], website_status |
Everything comes back normalized: E.164 phone numbers, ISO country codes, the same field names in Tokyo, Lagos, São Paulo and Berlin.
🧾 Example output
A real record from a run for restaurant in Lisbon, Portugal:
{"place_id": "ChIJ…","name": "Belcanto","primary_category": "Fine dining restaurant","categories": ["Fine dining restaurant", "Portuguese restaurant", "Restaurant"],"address": "Largo de São Carlos 10, 1200-410 Lisboa, Portugal","city": "Lisbon","country_code": "PT","lat": 38.7099,"lng": -9.1418,"phone": "+351 21 342 0607","phone_e164": "+351213420607","website": "https://belcanto.pt/","rating": 4.6,"review_count": 6697,"status": "open","open_now": true,"timezone": "Europe/Lisbon","emails": ["belcanto@belcanto.pt", "press@belcanto.pt", "work@belcanto.pt"],"socials": {"instagram": "https://www.instagram.com/belcantolisboa", "facebook": "https://www.facebook.com/belcantolisboa"},"whatsapp": null,"contact_form_url": "https://belcanto.pt/contact/","tech_stack": ["wordpress", "react", "google-analytics"],"website_status": "ok","service_area_business": false}
Records with no website are reported honestly (website_status: "no_website")
rather than padded. Businesses whose "website" is a Facebook or Instagram page
are flagged redirect_social with the profile captured.
▶️ How to use it
- Click Try for free – no card, no setup.
- Type one or more search terms (
dentist,coffee shop,car rental, …). - Type the location – always with the country:
Warsaw, Poland, notWarsaw. - Set max places per search (up to 500 per term).
- Start. Results stream into the dataset as they're found. Export as JSON, CSV, Excel, or pull them through the API.
Every Apify account comes with free monthly platform credit – enough to try this actor on a few thousand places before paying anything.
⚙️ Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchStringsArray | string[] | – | One or more search terms, searched separately. Alias: keyword |
locationQuery | string | – | City, area or address with country. Alias: location |
maxCrawledPlacesPerSearch | integer | 20 | Up to 500 per term. Alias: resultPerKeyword |
includeDetails | boolean | true | Description, plus code, timezone, photos, attributes |
includeEnrichment | boolean | true | Visit each business website for contacts and tech stack |
language | string | en | Any BCP-47 code – names and categories come back localized (ar, de, ja, …) |
placeIds | string[] | – | Skip searching: paste place IDs (ChIJ…) and get the full enriched record for each. Up to 1,000 per run |
includeNearbyPlaces | boolean | false | Keep results that fall outside the resolved city area (off by default – they are usually a same-name town elsewhere) |
Filters – all free
Other scrapers charge $1 per 1,000 places for each filter. Here they are free, and a place that is filtered out is never fetched, so it never costs you anything.
| Field | Type | Default | Notes |
|---|---|---|---|
placeMinimumStars | string | – | "4", "4.5", … Places without a rating are skipped |
websiteFilter | string | any | with (only businesses with a website) or without (great for web-design outreach) |
skipClosedPlaces | boolean | false | Drop temporarily and permanently closed places |
categoryFilterWords | string[] | – | Keep only places whose category contains one of these words |
searchMatching | string | all | only_includes / only_exact – place name must include / equal the search term (brand searches) |
Switching from another Google Maps scraper? The input names above are the ones you already use. Paste your existing input and run.
💰 Pricing – one number
| Locomint | Typical Google Maps actors | |
|---|---|---|
| Place record | $1.50 / 1,000 | $1.50–$4.90 / 1,000 depending on your Apify plan |
| Details (description, hours status, photos, attributes) | included | +$1.05–$30.00 / 1,000 |
| Website contacts (emails, socials, WhatsApp) | included | +$0.50–$2.00 / 1,000 |
| Complete record, free-plan user | $1.50 | $7.50–$34.90 |
No per-filter fees. No per-detail fees. No "Business plan discount" you have to pay $499/month to unlock. Nothing is charged for a search that returns nothing.
🛡️ What we deliberately don't do
- No personal data. We extract role mailboxes (
info@,sales@,reservations@), company social pages and WhatsApp business lines – never people's names, personal emails, job titles or LinkedIn profiles. Safer for you under GDPR/UK GDPR, and it's the right thing to do. - No fake completeness. Missing website, unreachable site, parked domain – each is reported as what it is.
🗺️ Whole-city coverage
A single map search stops at a couple of hundred results however big the city is. Ask for more and the actor tiles the city into a grid and searches every cell, deduplicating as it goes — 500 unique restaurants in Lagos in under 30 seconds. Results that drift outside the requested area (a different city with the same name) are dropped, not delivered.
📈 Reliability you can check
A canary suite runs every day: 30 cities on every continent, every business category we support, through the same code path customers use. The result feeds a public status page. Layout changes upstream are caught by 200+ fixture-backed tests before they reach a run.
🔌 Integrations
Run it from the Apify Console, on a schedule, or from anywhere:
- API – Python, JavaScript, cURL (see the API tab)
- n8n, Make, Zapier – via the Apify integration
- Google Sheets, Slack, webhooks – Apify integrations
- MCP – use it as a tool from AI agents
- Hosted REST API – need answers in under three seconds inside your own app? The same data is available as an API at locomint.io.
❓ FAQ
How fast is it?
Roughly 20 places per minute with details and enrichment on. That's deliberate:
the request rate is kept conservative so the data path stays healthy for
everyone. Turn off includeEnrichment for faster, contact-free runs.
Does it work outside the US and Europe? Yes – it's verified daily in 30 cities across Asia, Africa, the Middle East, Latin America and Oceania, in Latin, Arabic, CJK and other scripts.
Are weekly opening hours included?
Yes – hours carries the full weekly schedule (open/close in 24-hour time, 24:00
for midnight, next-day closings like 01:00 as-is), plus open_now and closure status.
Can I get reviews? The hosted API at locomint.io serves the first page of reviews per place. A dedicated reviews actor with full paging is in progress.
Why do some records have no email? Because the business's website doesn't publish one, or the business has no website. We report what's there; we never guess or buy addresses.
Is this legal? The actor reads publicly available business listings and business websites – the same pages any visitor sees, with no login. It never bypasses access controls. You are responsible for how you use the data; see the Apify terms and your local law. Business owners can request removal at hello@locomint.io.
🧑💻 Support
Questions, missing fields, a city that behaves oddly – open an issue on the Issues tab or write to hello@locomint.io. Response within one working day.
Locomint is not affiliated with Google. Data is provided as-is from public sources.