Google Maps Scraper + Emails, Socials & WhatsApp – All-In-One avatar

Google Maps Scraper + Emails, Socials & WhatsApp – All-In-One

Pricing

from $1.50 / 1,000 result delivereds

Go to Apify Store
Google Maps Scraper + Emails, Socials & WhatsApp – All-In-One

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

Umaid Ali

Maintained by Community

Actor 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?

GroupFields
Identityname, place_id, cid, categories, primary_category, description
Locationaddress, street, city, region, postal_code, country_code, lat, lng, plus_code, timezone
Contactphone, phone_e164, website
Reputationrating, review_count, price_level
Status & hoursstatus (open / temporarily closed / permanently closed), open_now, hours (weekly schedule), service_area_business
Extrasphotos_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

  1. Click Try for free – no card, no setup.
  2. Type one or more search terms (dentist, coffee shop, car rental, …).
  3. Type the location – always with the country: Warsaw, Poland, not Warsaw.
  4. Set max places per search (up to 500 per term).
  5. 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

FieldTypeDefaultNotes
searchStringsArraystring[]One or more search terms, searched separately. Alias: keyword
locationQuerystringCity, area or address with country. Alias: location
maxCrawledPlacesPerSearchinteger20Up to 500 per term. Alias: resultPerKeyword
includeDetailsbooleantrueDescription, plus code, timezone, photos, attributes
includeEnrichmentbooleantrueVisit each business website for contacts and tech stack
languagestringenAny BCP-47 code – names and categories come back localized (ar, de, ja, …)
placeIdsstring[]Skip searching: paste place IDs (ChIJ…) and get the full enriched record for each. Up to 1,000 per run
includeNearbyPlacesbooleanfalseKeep 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.

FieldTypeDefaultNotes
placeMinimumStarsstring"4", "4.5", … Places without a rating are skipped
websiteFilterstringanywith (only businesses with a website) or without (great for web-design outreach)
skipClosedPlacesbooleanfalseDrop temporarily and permanently closed places
categoryFilterWordsstring[]Keep only places whose category contains one of these words
searchMatchingstringallonly_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

LocomintTypical 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.