Google Places API Alternative | Maps Data | $0.30 / 1K avatar

Google Places API Alternative | Maps Data | $0.30 / 1K

Pricing

from $0.30 / 1,000 place scrapeds

Go to Apify Store
Google Places API Alternative | Maps Data | $0.30 / 1K

Google Places API Alternative | Maps Data | $0.30 / 1K

Google Places API alternative for Google Maps data and local business leads: name, address, phone, website, rating, review count, categories, hours and coordinates. Optional emails from websites. $0.30 per 1,000 places. No login, no API key.

Pricing

from $0.30 / 1,000 place scrapeds

Rating

0.0

(0)

Developer

Hriday Rungta

Hriday Rungta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

A Google Places API alternative with no API key and no billing setup. Get Google Maps data for any business type in any city, without a browser, a login or an API key. For every place you get the name, address, phone number, website, rating, review count, categories, opening hours and coordinates. Switch on website enrichment and you also get emails, extra phone numbers and social profile links taken from each business's own website.

It calls the same search endpoint the Google Maps web app uses, over plain HTTP. That makes it fast (up to ~230 places in a single request) and cheap: $0.30 per 1,000 places, plus a $0.001 start fee per run.

What you can use Google Maps data for

  • Google Places API alternative: the same kind of listing data (name, address, phone, website, rating, coordinates) without a Google Cloud project, an API key or per-request billing.
  • Local business leads: every dentist, plumber, gym or restaurant in a city with phone and website, filtered by rating, review count or category. Build a Google Maps lead list for cold calling, outreach or a CRM import.
  • Google Maps email extractor: one run returns the Maps listing and the emails found on the business's own website (enrichment, see limits below).
  • Restaurants, cafes and shops in any city: export a clean list such as "restaurants in Austin" or "coffee shops in Manchester" to CSV, Excel or JSON.
  • Local SEO and competitor analysis: map competitors, count businesses per category and neighbourhood, compare ratings and review counts.
  • Market research and site selection: how many gyms or pharmacies does a district already have? Count them with real coordinates.
  • Google Maps phone numbers and websites: get the phone (local and international format) and the website of every listing, with tracking parameters removed from URLs.
  • Whole-city coverage: set a radius and the Actor tiles the area with overlapping map windows and de-duplicates by place, so one search is not limited to the ~230 places Google shows per window.
  • Monitoring ratings over time: schedule the same run weekly or monthly and compare ratings and review counts between datasets.
  • Google Maps data for AI agents and automations: feed places into n8n, Make, Zapier, Google Sheets or an LLM workflow through the Apify API.

What this Actor does NOT do

Be sure this fits before you run it:

  • No review text, photos, popular times, menus, Q&A or price level. Those are not in the search response this Actor reads. If you need reviews, use a dedicated reviews scraper (see Related Actors).
  • Results follow Google. You get what Google Maps returns for the search (ranking, fuzzy matches and all). A search for "dentist" can include pharmacies with a dental counter; use the Category must contain filter to narrow it. A misspelled or made-up location is matched to whatever Google thinks you meant.
  • Coverage is best effort. Google returns at most about 230 places per map window. Area mode (radius) covers much more but cannot guarantee that every business in the area is returned.
  • Website enrichment reads only what is on the pages it fetches (homepage plus a few contact/about pages, no browser). Sites that render contacts with JavaScript or only offer a contact form return nothing.

How to scrape Google Maps places

  1. Open the Actor and type one or more Search terms (dentist, coffee shop, yoga studio).
  2. Add Locations (Austin, TX, USA / Manchester, UK). Every term is searched in every location.
  3. Set Max places per search and, if you need more than one map window, a radius in km.
  4. Optional: filters (rating, reviews, website, phone, category) and Enrich with website contacts.
  5. Click Start and export the dataset as JSON, CSV or Excel, or call it from the API.

Input

FieldWhat it does
searchStringsBusiness types or keywords, one per line.
locationsCities, regions or addresses, one per line. Leave empty if the search term already names a place ("dentists in Paris").
startUrlsOptional Google Maps search URLs (google.com/maps/search/pizza+in+rome/@41.9,12.5,13z). Place pages and short links are not supported.
maxPlacesPerSearchCap per term and location pair. Default 100.
maxItemsCap for the whole run. Default 1,000.
radiusKm0 = one map window (up to ~230 places). Above 0 = tile the area around the location and keep only places inside the radius.
tileZoom, maxTilesPerSearchWindow size (15 is about 2 km) and a safety cap on windows per search. Area mode stops early after 12 windows in a row with nothing new.
latitude, longitudeOptional custom search centre.
minRating, minReviews, requireWebsite, requirePhone, categoryFilterFilters. Free: you only pay for the places you keep.
enrichContactInfo, maxPagesPerWebsiteVisit each place's website for emails, phones and social links.
language, countryCodeGoogle Maps language (en, de, fr...) and region (us, gb, de...).
useProxyonBlock (default), always, never.

Example input

{
"searchStrings": ["coffee shop"],
"locations": ["Austin, TX, USA"],
"maxPlacesPerSearch": 100,
"minRating": 4,
"requireWebsite": true,
"enrichContactInfo": false
}

Output

FieldExample
titleEpoch Coffee
categoryName / categoriesCoffee shop
address, street, city, state, postalCode, countryCode, neighborhood221 W N Loop Blvd, Austin, TX 78751
latitude, longitude30.3186, -97.7245
totalScore, reviewsCount4.5, 2538
phone, phoneInternational(512) 454-3762, +15124543762
websitehttp://www.epochcoffee.com/ (tracking parameters removed)
descriptionGoogle's short description, when the place has one
openingHoursSeven entries, Monday to Sunday, in the language you chose
placeId, fid, cid, urlGoogle place ID, feature ID, customer ID, Maps link
timezone, rank, searchString, location, scrapedAtAmerica/Chicago, 1, coffee shop, Austin, TX, USA
With enrichment: emails, phonesFromWebsite, linkedin, facebook, instagram, twitter, youtube, tiktok, pinterest, whatsapp, contactStatus

Example output (real run)

{
"title": "Epoch Coffee",
"placeId": "ChIJG-gJw2vKRIYROWi2uwOp8QE",
"fid": "0x8644ca6bc309e81b:0x1f1a903bbb66839",
"cid": "140078896924485689",
"categoryName": "Coffee shop",
"categories": ["Coffee shop"],
"address": "221 W N Loop Blvd, Austin, TX 78751",
"street": "221 W N Loop Blvd",
"neighborhood": "North Loop",
"city": "Austin",
"postalCode": "78751",
"state": "Texas",
"countryCode": "US",
"latitude": 30.3186037,
"longitude": -97.7245402,
"totalScore": 4.5,
"reviewsCount": 2538,
"phone": "(512) 454-3762",
"phoneInternational": "+15124543762",
"website": "http://www.epochcoffee.com/",
"description": "Hip coffee shop with light bites",
"openingHours": [
{ "day": "Monday", "hours": "12 AM–11:30 PM" },
{ "day": "Tuesday", "hours": "Open 24 hours" }
],
"timezone": "America/Chicago",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJG-gJw2vKRIYROWi2uwOp8QE",
"searchQuery": "coffee shop in Austin, TX, USA",
"rank": 1,
"searchString": "coffee shop",
"location": "Austin, TX, USA",
"scrapedAt": "2026-10-20T04:06:51.474Z"
}

(openingHours shortened here; the real row has all seven days.)

Pricing

Pay per event, no subscription:

EventPrice
Actor started (once per run)$0.001
Place scraped$0.0003 ($0.30 per 1,000)
Website contacts found (only with enrichment on)$0.0008 ($0.80 per 1,000)

Worked examples:

RunCost
100 places$0.001 + 100 x $0.0003 = $0.031
1,000 places$0.001 + 1,000 x $0.0003 = $0.301
1,000 places, 800 with website contacts found$0.301 + 800 x $0.0008 = $0.941
10,000 places$3.001
A search that finds nothing$0.001

You are never charged for: empty or failed searches, places removed by your filters, places already returned earlier in the same run, or websites where enrichment found nothing new. A phone number that Google already lists for the place does not count as a contact find. Set the run's maximum cost in the Apify run options and the Actor stops at your limit, including enrichment.

Tips

  • Need more than ~230 places for a search? Set radiusKm (for example 15 for a city) and keep maxTilesPerSearch high enough. Zoom 16 gives more places in dense city centres at the cost of more requests.
  • The same business twice? Places are de-duplicated across all searches in a run by Google's feature ID, so a second search term only returns places the first one did not.
  • Several close terms? "dentist" and "dental clinic" overlap heavily; the second only adds the new places.

Integrations and scheduling

Everything on Apify can be automated, so Google Maps data can flow into the tools you already use:

  • Google Sheets, Excel, CSV, JSON: export from the dataset page, or use the Apify integration for Google Sheets to push results into a sheet.
  • Make, n8n and Zapier: start the Actor from a workflow and read the dataset when the run finishes. Typical flow: new lead list, then CRM import, then outreach sequence.
  • Webhooks and API: call the Actor over the Apify REST API or the JavaScript and Python clients, and get a webhook when a run succeeds.
  • Apify Schedules: run the same search daily, weekly or monthly to track new listings and rating changes. The Actor de-duplicates inside one run only, so to find what changed you compare the new dataset with the previous one (a placeId match in Sheets or your database works well).
  • Tasks: save your favourite search (business type, city, filters) as an Apify Task and re-run it with one click or on a schedule.

FAQ

Do I need a Google API key?

No. There is no login and no key.

Is this a Google Places API alternative? Why use it instead of the official API?

The official Places API needs a Google Cloud project with billing enabled and an API key, bills per request and per field tier, and limits how many results one search can return, so building a full list of businesses for a city takes many paginated calls. This Actor needs no key, returns the listing fields in one flat row, and can tile a whole city. The trade-off: it is not an official Google product, so Google can change the endpoint it reads, and it does not return reviews or photos. If you need Google's official terms, SLAs or reviews, use the official API.

Why is the result different from what I see on maps.google.com?

Google ranks results by relevance and by where you are. Searching from a server in another country can change ranking slightly. Use countryCode and language to match your market.

Is the data accurate?

The fields come straight from Google Maps search results. We spot-checked name, address, rating, review count, phone and website against the live Maps page; they matched. Ratings and review counts change continuously.

How do I get all businesses in a city, not just the first page?

Set a radius (for example 10 to 15 km around the city centre). The Actor then tiles the area, searches every window and removes duplicates. Coverage is best effort, not guaranteed.

Can I get emails from Google Maps?

Google Maps itself does not list emails. With Enrich with website contacts on, the Actor visits each business's own website and collects the emails it finds there. Sites with no public email, or that load contacts with JavaScript, return nothing, and you are not charged for those.

Does it use proxies?

It requests Google directly first and only falls back to Apify's datacenter proxy (a fresh IP per attempt) when Google refuses a request. If Google stops answering altogether, the run stops with a clear status message instead of retrying forever, and you are not charged for places it never returned.

How fast is it?

A search of up to ~230 places takes about 3 to 5 seconds. A 1,000 place area run takes under a minute. Website enrichment is slower (a few seconds per website, run in parallel).

What are alternatives to this Google Maps scraper?

The largest Google Maps scraper on the Store is Google Maps Scraper by Compass, which also covers reviews, images and more detail fields. Pick it when you need those extras. Pick this Actor when you mainly need business listings, phones, websites, ratings and optional emails at a low per-place price. For reviews alone, see Google Maps Reviews Scraper.

This Actor only reads information that Google shows to anyone without logging in: public business listings. It does not log in, use private data or bypass access controls. Business listing data can still include personal data (a sole trader's phone number, for example), and Google's Terms of Service restrict automated access. You are responsible for how you use the data: follow Google's terms, data protection law (GDPR, CCPA) and anti-spam rules (for example when emailing the addresses you collect). This is not legal advice.

ActorWhat it does
Google Maps Scraper (Compass)The most-used Google Maps scraper on the Store, with reviews, images and extra detail fields
Google Maps Email ExtractorGoogle Maps places with contact details from each website
Google Maps Reviews ScraperReview text and ratings for places (this Actor does not return reviews)
Contact Info ScraperEmails, phones and socials from any list of websites
Website Content CrawlerWebsites to clean Markdown for LLMs and RAG
Google Trends ScraperKeyword interest, related queries and trending searches
YouTube Transcript ScraperCaptions and full text from videos, channels and playlists