Google Maps Places Scraper: Businesses, Phones & Websites avatar

Google Maps Places Scraper: Businesses, Phones & Websites

Pricing

Pay per event

Go to Apify Store
Google Maps Places Scraper: Businesses, Phones & Websites

Google Maps Places Scraper: Businesses, Phones & Websites

Built to beat Google Maps Scraper: 98% of results in the city you asked for (theirs 77%), more places in whole-city runs (339 vs 138 Leeds plumbers), structured addresses, closed and unclaimed flags. $1.00 per 1,000 places vs ~$2.70 there.

Pricing

Pay per event

Rating

0.0

(0)

Developer

TidyHarvest

TidyHarvest

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 hours ago

Last modified

Share

Search Google Maps the way you would in the app and get back structured business listings: name, category, street, city, postal code, state and country, phone (local and E.164), website, rating, review count, opening hours, booking links, permanently closed and claimed/unclaimed flags, plus code, coordinates and photo. Give it a whole city and it finds every place of that type inside the city's boundary, past Google's ~120-results-per-search limit, and nothing from outside it. Give it a list of known businesses and each line comes back as its best match, labelled by how well name and street agree. No login or cookies needed: from $1.00 per 1,000 places, less on higher Apify plans.

Compared with Google Maps Scraper

We built this to beat Google Maps Scraper (compass/crawler-google-places), the most-used Maps actor on Apify Store. In October 2026 we ran both on the same inputs, theirs on its free tier with the detail page off (its default), and checked 25 random places against their Google Maps pages by hand.

This actorGoogle Maps Scraper
Results inside the city searched (34 "category in city" searches, 25 countries, first 30 each)97.7%77.3%
Results more than 50 km outside it0%21% (New York places for "pizzeria a Napoli")
Known businesses (101 from OpenStreetMap, 15 cities) matched to the right place79%73%
...matched to a wrong place8% (no-match lines come back free, labelled)22%
Whole city, dentists in Boulder, CO: relevant places found inside the city162145
Whole city, plumbers in Leeds, UK339138
Phone / website / street / hours on search results96.6% / 89.4% / 95.9% / 90.8%96.5% / 90.6% / 94.9% / 87.9%
Price per 1,000 places (Free plan / Gold plan)$1.00 / $0.45$4.00 / $1.50 (our test runs cost $2.63-$3.00)

In four more whole-city tests their run stopped at a 500-place cap, so compare with care: restaurants in Bruges, we found 488 (their 500 held 444 restaurants); cafés in Porto 453 (325); hair salons in Utrecht 635 (484); auto repair in Calgary 758 (494). On every Apify plan this one costs about a quarter to a third of theirs.

Where Google Maps Scraper still does more: reviews, photos, popular times and the place-page extras (owner updates, Q&A, hotel prices), polygon and place-ID inputs, and speed on big areas: it covered each city in 40-140 seconds, this one takes 6-8 minutes. Google Maps Scraper Pro (same engine) adds all of these except Q&A: reviews with owner replies, the star breakdown, popular times, photos, website emails, drawn areas, place IDs, postal codes, and whole cities in about 2 minutes, at 70% of Google Maps Scraper's prices.

How well it works

Measured in October 2026 on Apify cloud at the default 256 MB.

  • 25 random places checked against their Google Maps pages: name, open/closed status, phone, website and hours matched on all 25, the address on 22 (the 3 misses were Lagos postal codes, fixed since).
  • 3,959 places from 34 searches in 25 countries in under 5 minutes: phone 95%, website 82%, street address 93%, postal code 86%, hours 87%, and 98.6% match the category searched. Every phone also comes in E.164 (+44...).
  • Strict location: places Google mixes in from another town with the same name (Glasgow, Kentucky for electricians in Glasgow) are dropped and not charged: 54 such rows in 3,987 before, 1 now.
  • Lookups: on 145 businesses drawn from OpenStreetMap, wrong-place answers fell from 17% to 8%. 14 of the matched places turned out to be permanently closed, and they are flagged.
  • Whole-city mode keeps only places inside the city's boundary, so you never pay for the next town over.

What you can do with it

  • Every business of a type in a city: dentists + location Boulder, CO returns all ~160, not the first 120, and none from Denver.
  • Local lead lists: phones, websites, structured addresses and a claimed flag (unclaimed listings are owners who haven't set up their Google profile) for plumbers in your area. Add emails and socials with the contacts add-on.
  • Check or refresh a list of known businesses: Name, street, city per line, or Google Maps links. Each comes back with lookupMatch (name+address, name, address) or a free none row, plus permanentlyClosed.
  • Only new places on a schedule: pass last run's dataset id in skipDatasetIds. Places you already have are skipped and not charged.

Input

FieldWhat it does
searchesWhat you would type into Maps, one per line. With location, just the category (coffee shops). For lookups: Name, street, city or a Google Maps link.
locationCity, district or region. Turns on whole-area mode: every matching place inside its boundary, past the ~120 limit.
splitArea, maxCellsPerSearchWhole-area mode on/off, and its search budget per category (default 60; higher = more complete for big cities, slower).
maxPlacesPerSearchCap per search: ~120 for a normal search, thousands in whole-area mode. 1 = lookup mode for known businesses.
latitude, longitude, radiusMetersCenter a normal search on a point instead.
strictLocationOn by default: drop (and don't charge) places outside the area you asked for.
includeContactsRead each place's website for public emails and social links (add-on, see pricing).
keywords, minRating, minReviews, requireWebsite, skipClosedPlacesFilters applied before you are charged.
skipPlaceIds, skipDatasetIdsPlaces you already have (ids, or earlier runs' datasets): skipped and not charged.
dedupeAcrossSearchesOn by default. Turn off for lookup lists so every input line gets its row (match rows back with searchIndex).
language, countryResult language and country bias.
maxItemsHard cap on results for the whole run (also caps cost).

Examples:

{ "searches": ["dentists", "orthodontists"], "location": "Boulder, CO", "minRating": 4.3 }
{ "searches": ["Hawksworth Village Bakery, 12 Broadway, Leeds", "The Fillmore, 1805 Geary Blvd, San Francisco"], "maxPlacesPerSearch": 1, "dedupeAcrossSearches": false }

Output

One item per place:

{ "title": "Press Club", "primaryTypeDisplayName": "Wine bar", "categories": ["Wine bar", "Bar", "Cocktail bar"],
"street": "20 Yerba Buena Ln", "city": "San Francisco", "postalCode": "94103", "state": "California", "countryCode": "US",
"fullAddress": "Press Club, 20 Yerba Buena Ln, San Francisco, CA 94103", "neighborhood": "SoMa",
"phone": "(415) 744-5000", "phoneInternational": "+14157445000", "website": "http://www.pressclubsf.com/",
"rating": 4.5, "reviewsCount": 757, "latitude": 37.7859, "longitude": -122.4043, "plusCode": "849VQHPW+97",
"businessStatus": "OPERATIONAL", "permanentlyClosed": false, "claimed": true, "serviceArea": false,
"openingHours": { "Monday": "Closed", "Tuesday": "5–9 PM", "Friday": "5–10 PM" },
"bookingLinks": [{ "provider": "opentable.com", "url": "https://www.opentable.com/..." }],
"attributes": { "Accessibility": ["Wheelchair accessible entrance"] },
"placeId": "ChIJ5VjkK4aAhYAR4JdQs3IUjQA", "cid": "39710454583433184", "rank": 1,
"googleMapsUri": "https://www.google.com/maps/place/?q=place_id:ChIJ5VjkK4aAhYAR4JdQs3IUjQA",
"googleMapsCidUrl": "https://maps.google.com/?cid=39710454583433184",
"searchQuery": "wine bars in San Francisco", "searchIndex": 0 }

Lookups add lookupMatch. serviceArea: true marks businesses that show no address on Google (mobile trades). Their pin is Google's approximation. With includeContacts: emails and socialProfiles.

Pricing

  • Places (place-scraped), per 1,000: $1.00 on the Free plan, $0.80 Bronze, $0.60 Silver, $0.45 on Gold and above.
  • Contacts add-on: $0.20 per 1,000 places (contact-details-scraped), only when includeContacts is on and only for places that list a website.
  • $0.00005 per run start.
  • Not charged: places outside the area (strictLocation), filtered or skipped places, and lookup lines with no confident match.

A run fails, instead of returning an empty dataset, when nothing is found or Google stops answering.

Limits and notes

  • A normal search returns at most ~120 places. Use location for more.
  • Lookups work best as Name, street, city. Without a country, an ambiguous town can resolve to the US one (Manchester, CT), so add the country or set country.
  • No reviews, photo galleries or popular times here: those are in Google Maps Scraper Pro.
  • If Google answers with a block, consent or CAPTCHA page, the run stops instead of retrying. There is no CAPTCHA solving.

It reads publicly visible business listings that the businesses publish themselves. Google's terms restrict automated access to Maps, and you are responsible for how you use the data (for example, rules on marketing calls and emails in your country). Not affiliated with Google.