โ˜Ž๏ธ ๐Ÿ“ฉ [Only $0.5/1K] Google Maps Scraper โ€“ Contacts avatar

โ˜Ž๏ธ ๐Ÿ“ฉ [Only $0.5/1K] Google Maps Scraper โ€“ Contacts

Pricing

from $0.50 / 1,000 place details

Go to Apify Store
โ˜Ž๏ธ ๐Ÿ“ฉ [Only $0.5/1K] Google Maps Scraper โ€“ Contacts

โ˜Ž๏ธ ๐Ÿ“ฉ [Only $0.5/1K] Google Maps Scraper โ€“ Contacts

Scrape Google Maps at scale: find every business by keyword, category and location, or bulk-export reviews from any list of Maps URLs. Returns names, addresses, phones, websites, emails-ready domains, ratings, review counts, opening hours, photos, coordinates and full reviews with date filters.

Pricing

from $0.50 / 1,000 place details

Rating

0.0

(0)

Developer

Lofomachines

Lofomachines

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Maps Scraper โ€“ Places, Contacts & Emails Extractor

Scrape Google Maps without an API key, a browser farm or a Places API bill. Find every business for a keyword, category and location, then export names, addresses, phone numbers, websites, emails, ratings, review counts, opening hours, photos and GPS coordinates.

One Actor, two jobs:

ModeWhat it doesTypical use
๐Ÿ”Ž Search placesDiscovers businesses by keyword or category + locationLead generation, market mapping, local SEO
๐Ÿ“ Place details from URLsFull business record for a list of Maps linksEnriching an existing list of locations

Results stream into your dataset as you go and export to JSON, CSV, Excel, XML or straight into your app via the Apify API.


Why use this Google Maps scraper?

  • โšก Fast and cheap โ€” everything runs over plain HTTP, with no browser anywhere in the stack. Hundreds of businesses per minute, at a fraction of the Google Places API cost and on a small memory footprint.
  • ๐Ÿ“ง Emails and social profiles โ€” Google Maps never publishes email addresses, so the Actor reads them from each business's own website, along with Facebook, Instagram, LinkedIn, X, YouTube and TikTok links.
  • ๐Ÿงญ Past Google's own 250-result wall โ€” a single Maps query stops at roughly 250 results however you page it. Ask for more and the Actor divides the area into quadrants, searches each one, keeps dividing wherever there is still something new, and de-duplicates โ€” up to 5000 businesses per keyword.
  • ๐Ÿ—‚๏ธ 122 ready-made categories โ€” pick Hotels, Restaurants, Dentists, Plumbers, Gyms, Real estate agencies and more from a dropdown. No need to guess the right search phrase.
  • ๐ŸŒ Any country, any language โ€” localized names, categories and opening hours.
  • ๐Ÿงพ Everything Google exposes โ€” service options, accessibility, amenities, atmosphere, popular times, price range, plus codes, rating breakdowns and photo galleries.
  • ๐Ÿ”— Any URL format โ€” long place URLs, maps.app.goo.gl share links, ?cid= links and Place IDs all resolve automatically.
  • ๐Ÿ“Š Live progress โ€” the log reports how many places are done, the rate and an ETA, so a long run is never a black box.

Use cases

Local lead generation

Pick a category and a city, and get a contact list with phone numbers, addresses, websites and โ€” with Find emails and social profiles turned on โ€” email addresses and social links pulled from each business's own site. Filter by rating or review count to find businesses that are underperforming, or thriving, and pitch accordingly.

Local SEO and rank tracking

Compare how businesses appear across neighbourhoods, cities and countries. Track review counts, ratings and category assignments over time by scheduling daily or weekly runs.

Competitor and market mapping

Map every hotel, restaurant or clinic in a region with coordinates, price bands and rating distributions. Ideal for site selection, pricing studies and franchise planning.

Enriching a CRM

Feed a list of Google Maps URLs and get back a normalized record for each: opening hours, categories, plus codes, photos and coordinates.


Input

Search mode

ParameterTypeDescription
modeStringsearch
searchTermsArrayFree-text keywords, one per line.
categoriesArrayPreset categories (multi-select dropdown).
locationStringCity, region, address or postcode. Empty = country-wide.
searchRadiusStringneighborhood, city, metro, region or country.
maxPlacesIntegerMax businesses per keyword/category. Up to 5000.
languageStringResult language, e.g. en, it, de. Applies in every mode.
countryStringCountry Google localizes for, and browses from. Applies in every mode.

Place URLs mode

ParameterTypeDescription
modeStringplaces
startUrlsArrayGoogle Maps place URLs, share links, ?cid= links or Place IDs. Up to 1000.

Extra data (works in every mode)

ParameterTypeDescription
includePlaceDetailsBooleanAdds opening hours, attributes, popular times, plus codes and the full photo gallery.
scrapeEmailsBooleanVisits each business website and extracts emails + social profiles.

Everything else is tuned for you and needs no configuration: residential proxies in the selected country are always on, each business keeps up to 10 photo URLs, and contact discovery checks the homepage plus 2 contact pages.

Example: find every dentist in Milan with their contacts

{
"mode": "search",
"categories": ["Dentists"],
"location": "Milan, Italy",
"searchRadius": "city",
"maxPlaces": 200,
"includePlaceDetails": true,
"scrapeEmails": true,
"language": "en",
"country": "it"
}

Each place then carries:

{
"name": "Ezio Costa Clinic",
"phone": "+390458000000",
"website": "https://www.clinicaeziocosta.it/",
"domain": "clinicaeziocosta.it",
"emails": ["info@clinicaeziocosta.it"],
"socialProfiles": {
"facebook": "https://www.facebook.com/clinicaeziocosta",
"instagram": "https://www.instagram.com/clinicaeziocosta/",
"linkedin": "https://www.linkedin.com/company/โ€ฆ"
}
}

Output

Every dataset item is one business:

{
"placeId": "ChIJifIePKtZwokRVZ-UdRGkZzs",
"featureId": "0x89c259ab3c1ef289:0x3b67a41175949f55",
"cid": "4280570365733019477",
"name": "Joe's Pizza Broadway",
"description": "Modern outpost of a longtime counter-serve pizza joint prepping New York-style slices and pies.",
"category": "Pizza restaurant",
"categories": ["Pizza restaurant", "Pizza delivery", "Restaurant"],
"rating": 4.4,
"reviewsCount": 26271,
"reviewsDistribution": { "oneStar": 805, "twoStar": 631, "threeStar": 2186, "fourStar": 5093, "fiveStar": 17556 },
"priceLevel": "$10โ€“20",
"priceRange": "$10 to $20",
"phone": "+16465594878",
"phoneFormatted": "(646) 559-4878",
"website": "https://www.joespizzanyc.com/",
"domain": "joespizzanyc.com",
"menuUrl": "https://eat.chownow.com/order/11015/locations/19488",
"address": "1435 Broadway, New York, NY 10018",
"street": "1435 Broadway",
"neighborhood": "Manhattan",
"city": "New York",
"postalCode": "10018",
"state": "New York",
"countryCode": "US",
"plusCode": "87G8Q237+V5",
"latitude": 40.7546795,
"longitude": -73.9870291,
"timezone": "America/New_York",
"openingHours": [{ "day": "Friday", "hours": ["10 AMโ€“5 AM"] }],
"openingStatus": "Closed ยท Opens 10 AM",
"permanentlyClosed": false,
"popularTimes": [{ "day": 7, "hours": [{ "hour": 12, "occupancyPercent": 62, "description": "Usually a little busy" }] }],
"attributes": {
"service_options": { "label": "Service options", "values": ["Outdoor seating", "Delivery", "Takeout", "Dine-in"] },
"accessibility": { "label": "Accessibility", "values": ["Wheelchair accessible entrance"] }
},
"imageUrl": "https://lh3.googleusercontent.com/โ€ฆ",
"images": ["https://lh3.googleusercontent.com/โ€ฆ"],
"url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/data=โ€ฆ",
"searchTerm": "pizza restaurant"
}

How to use it

  1. Click Try for free / Start.
  2. Choose a mode: search by keyword, or paste Maps URLs.
  3. For searches, pick a category preset and type a location.
  4. Run it, then download JSON/CSV/Excel or read the dataset over the API.

Schedule recurring runs with Apify Schedules for weekly market snapshots or a nightly refresh of your lead list.


Integrations

  • n8n โ€” trigger scrapes from any workflow and route results to a database, CRM or Slack.
  • Make โ€” no-code lead-capture scenarios.
  • Zapier โ€” push new places into Google Sheets, Airtable or your CRM.
  • Webhooks & API โ€” get notified on run completion and pull the dataset into your own stack.
  • MCP / AI agents โ€” expose this Actor as a tool to Claude, GPT and other agents via the Apify MCP server.

Pricing

This Actor is billed per result, so you pay for what you actually get:

EventCharged when
actor-startOnce per run.
place-scrapedFor each business returned.
place-with-contactsInstead of place-scraped, when Find emails and social profiles is on โ€” that result also cost a crawl of the business website.

A business is billed as either place-scraped or place-with-contacts, never both, so there is always exactly one charge per result row. Set Max total charge on the run to cap your spend: the Actor stops cleanly at the limit and keeps everything collected up to that point.

FAQ

Do I need a Google Maps API key? No. This Actor reads publicly visible Google Maps data directly โ€” no API key, no quota, no billing account.

Is scraping Google Maps legal? This Actor only collects information that Google Maps shows publicly to any visitor. Some of it โ€” a business email that carries a personal name, for instance โ€” is still personal data, so make sure your use complies with GDPR, CCPA and any other rules that apply to you.

How many places can one search return? Up to 5000 per keyword. Google itself stops at roughly 250 results for any one query over any one area, no matter how the request is paged โ€” that is Google's ceiling, not the Actor's. To go past it the Actor splits the search area into quadrants and searches each one separately, splitting again wherever an area is still producing businesses it has not seen, and de-duplicates the results. Set a Location for this to work: a country-wide search with no location is a single area and stays subject to Google's ~250 ceiling.

Do I need proxies? No. Residential proxies in your selected country are used by default and are what keeps Google's responses complete.

Can I get emails? Yes โ€” turn on Find emails and social profiles. Google Maps itself never publishes email addresses, so the Actor opens each business's own website (homepage plus its contact pages) and extracts addresses from mailto: links and page text, together with Facebook, Instagram, LinkedIn, X, YouTube, TikTok and Pinterest profiles. Addresses on the business's own domain are listed first, ahead of any privacy-vendor or agency addresses that also appear on contact pages. Expect roughly 40โ€“60% coverage across a mixed list: many businesses publish only a contact form, and around a third of Google Maps listings have no website at all.

Is collecting business emails allowed? Emails found this way are published by the businesses themselves, but they can still be personal data โ€” mario.rossi@studio.it identifies a person. Under GDPR you need a lawful basis to contact them, you must identify yourself and offer an opt-out, and ePrivacy rules on unsolicited email apply in the EU. Use it for legitimate B2B outreach, not bulk spam.



Built for speed, scale and clean data. If this Actor saves you time, a โญ review helps a lot โ€” and if you need a custom field or a new mode, open an issue on the Actor page.