Google Maps Places Scraper — Phone, Website & Hours, No API Key avatar

Google Maps Places Scraper — Phone, Website & Hours, No API Key

Pricing

from $0.70 / 1,000 place scrapeds

Go to Apify Store
Google Maps Places Scraper — Phone, Website & Hours, No API Key

Google Maps Places Scraper — Phone, Website & Hours, No API Key

Extract 25+ fields per Google Maps place: phone, website, address, coordinates, rating, review count and opening hours. Search by term and location or paste Maps links. Splits large areas to pass Google's ~170-place limit. No login, no API key.

Pricing

from $0.70 / 1,000 place scrapeds

Rating

0.0

(0)

Developer

WebDataLabs

WebDataLabs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

Google Maps Places Scraper — Phones, Websites & Opening Hours

Google Maps Places Scraper turns a search term and a location into a clean list of businesses: name, category, full address, coordinates, phone, website, rating, review count and opening hours, one row per place. Use it to build local lead lists, map a market, or audit local-SEO competition without the Google Places API, without an API key and without logging in.

It is fast because it reads Google Maps' own data feed over plain HTTP, with no browser. It also goes past Google's limit of about 200 places per search: when a search hits that limit, the area is searched again tile by tile and duplicates are removed, so "all plumbers in a city" means more than the first 200.

What data can I extract from Google Maps?

FieldWhat you get
name, category, categoriesBusiness name and every Google category, primary first
address, street, city, postalCode, state, countryCodeFull address plus its parts, ready for CRM import
latitude, longitude, timezoneExact pin and IANA time zone
phone, phoneInternationalPhone as shown on Google, and in E.164 format for dialers
website, domainWebsite link and its bare domain, for email finders and matching
rating, reviewsCountAverage stars and number of Google reviews
openingHoursThis week's hours, Monday to Sunday
isClosedWhether Google marks the business as closed
placeId, featureId, cid, googleMapsUrlStable Google identifiers and a link to the place
searchQuery, searchLocation, rankWhich search found the place, and its position in Google's results

The full field list with descriptions is in the Output tab. Views: Overview, Contact (lead list), Location and Full data.

Example output

One real record (a plumber in Austin, TX), exactly as the scraper delivers it:

{
"name": "Beyond Wow Plumbing & Drains",
"category": "Plumber",
"categories": ["Plumber", "Drainage service", "Gas installation service", "Hot water system supplier", "Water filter supplier"],
"address": "3432 Greystone Dr, Austin, TX 78731",
"street": "3432 Greystone Dr",
"neighborhood": "Northwest Hills",
"city": "Austin",
"postalCode": "78731",
"state": "Texas",
"countryCode": "US",
"latitude": 30.3578911,
"longitude": -97.7482485,
"phone": "(512) 601-6173",
"phoneInternational": "+15126016173",
"website": "https://beyondwow.com/?utm_campaign=gmb&utm_medium=gbp-austin&utm_source=google",
"domain": "beyondwow.com",
"rating": 4.9,
"reviewsCount": 2596,
"openingHours": [
{ "day": "Monday", "hours": "7 AM–6 PM" },
{ "day": "Tuesday", "hours": "7 AM–6 PM" },
{ "day": "Wednesday", "hours": "7 AM–6 PM" },
{ "day": "Thursday", "hours": "7 AM–6 PM" },
{ "day": "Friday", "hours": "7 AM–6 PM" },
{ "day": "Saturday", "hours": "Closed" },
{ "day": "Sunday", "hours": "Closed" }
],
"isClosed": false,
"timezone": "America/Chicago",
"placeId": "ChIJpxUGhC_LRIYR2g941oH50ow",
"featureId": "0x8644cb2f840615a7:0x8cd2f981d6780fda",
"cid": "10147447246463438810",
"googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJpxUGhC_LRIYR2g941oH50ow",
"searchQuery": "plumbers",
"searchLocation": "Austin, TX, USA",
"startUrl": null,
"rank": 1,
"scrapedAt": "2026-10-01T22:06:20.064Z"
}

How to scrape Google Maps (quick start)

  1. Type one or more Search terms, as you would in Google Maps: plumber, dentist, italian restaurant.
  2. Set the Location: a city, region or postcode, such as Austin, TX, USA or 10115 Berlin.
  3. Set Max places per search and press Start.

You can also paste Google Maps links or place IDs: search links (the map area you see is searched), place links, maps.app.goo.gl share links, place IDs (ChIJ...) or cid numbers.

Every plumber and electrician in a city, past Google's per-search limit:

{
"searchQueries": ["plumber", "electrician"],
"location": "Houston, TX, USA",
"maxPlacesPerSearch": 2000
}

German dentists, with German category names:

{
"searchQueries": ["Zahnarzt"],
"location": "München",
"maxPlacesPerSearch": 300,
"language": "de",
"countryCode": "de"
}

Known places, by link or ID:

{
"startUrls": [
"https://www.google.com/maps/place/?q=place_id:ChIJpxUGhC_LRIYR2g941oH50ow",
"ChIJ6ymiaLC1RIYR4GW3rWuXlQw"
]
}

How much does it cost to scrape Google Maps?

You pay per place delivered: one charge per row in your dataset, at the price shown on this page. Duplicates found by overlapping searches or map tiles are removed before delivery and never charged, and failed requests cost you nothing. Set a maximum cost per run in the run options and the scraper stops there.

Google stops any one search after about 200 places (170 to 300 in our tests). With Location filled in and Split large areas on (the default, under Advanced), the scraper keeps going: it searches the area again in smaller map tiles, removes duplicates, and stops by itself once new tiles mostly return places it already has.

Put the city in Location, not inside the search term. "plumber" with Location "Houston, TX" can be split into tiles. "plumber in Houston" typed as one term cannot, because Google then ignores the map area.

Use cases

  • Lead generation agencies: pull every roofer, dentist or law firm in a region and filter website = null to find businesses without a website, or reviewsCount < 20 to pitch review management.
  • Local SEO audits: compare rating, reviewsCount and rank across competitors for the same search term and city.
  • Sales teams: export the Contact (lead list) view with phoneInternational and domain, straight into a CRM or dialer.
  • Market research: count businesses per category and postcode, or map them with latitude and longitude.
  • Data hygiene: re-check a list of place IDs on a schedule and catch businesses that Google now marks isClosed.

FAQ

The scraper collects publicly visible business information from Google Maps without logging in. It does not collect reviews or reviewer names. Phone numbers of sole traders can still count as personal data in some jurisdictions (for example under the GDPR), so use the data in line with the laws that apply to you, and check Google's terms for your use case. This is not legal advice.

Does it include reviews?

No. Google shows review text only to logged-in users and serves logged-out visitors a "limited view" without it, and this scraper never logs in. You get the rating and the review count.

Why are reviewsCount or openingHours sometimes null?

Null means Google did not provide the value, never a guess. Google sometimes answers with its logged-out limited view, which hides review counts and the weekly schedule. The scraper re-requests such pages, so this is rare, and the run summary counts any places it affected (limitedViewPlaces). Places that publish no hours, and places without any reviews, are null too.

Why do some places have no address?

Service-area businesses (plumbers, cleaners and others who come to you) often hide their street address on Google. Their address and address parts are null, while phone, website and coordinates are still delivered.

Does it include the price level ($$)?

No. Google does not show price levels to logged-out visitors, so the field is not offered rather than always empty.

Do I need a Google API key or a proxy?

No API key and no login. Apify Proxy is used by default. The run starts on cheap datacenter IPs and moves to residential IPs only if Google starts refusing requests. You can pick specific proxies, or turn the proxy off, under Advanced.

Where is the run summary?

Each run writes an OUTPUT record to its key-value store. It shows what happened per search term and link, how many places came from the area split, any duplicates skipped, and, if a run was stopped, a ready-made input for the searches that did not run.

Support

Found a problem or missing a field? Open an issue in the Issues tab and include the run ID; issues are answered there.