Google Maps Scraper: Every Place in an Area avatar

Google Maps Scraper: Every Place in an Area

Pricing

from $0.28 / 1,000 places

Go to Apify Store
Google Maps Scraper: Every Place in an Area

Google Maps Scraper: Every Place in an Area

Google Maps places with phone, website, rating, hours, address and claim status, without a browser. Every place of a city or radius, not only the first 150, at about 10 requests a second.

Pricing

from $0.28 / 1,000 places

Rating

0.0

(0)

Developer

Axel Zúñiga

Axel Zúñiga

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Google Maps Scraper

Get the places of Google Maps as clean data: name, address split into parts, phone in international format, website, rating, reviews count, categories, opening hours in 24-hour time, coordinates, attributes and more. No browser, no login, no API key.

Two things set it apart:

  • Every place in an area, not only the first 150. Google Maps shows only the most prominent places of a search and hides the rest. In Every place in the area mode the Actor cuts the area into cells, searches each one, and splits the busy ones again, until nothing new turns up. In a test on 3 km of central Chicago for "pizza" (about 100 places), one search found 41 of them, balanced depth found 96 and exhaustive depth found 100.
  • Fast and cheap. The Actor talks to Google Maps' own search directly instead of driving a browser, at about 10 requests a second without being blocked. A top-results search returns 50 places in 3 requests. Covering a whole town takes minutes (300 restaurants of Golden, CO in 3 minutes). The price is $0.40 per 1,000 places.

What you can use it for

  • Lead generation: every dentist, plumber or restaurant of a city with phone and website, and a flag for the businesses nobody has claimed on Google (good prospects for local marketing and SEO services).
  • Market and competitor research: how many pizzerias are in a neighborhood, how they rate, how many reviews they have, when they open.
  • Location analysis: coordinates, distance from a point and opening hours for site selection, delivery areas and maps.
  • Directories and data products: structured, deduplicated business listings by category and area.
  • AI agents and workflows: fresh local business data on demand through the Apify API.

What data you get

GroupFields
Identityname, placeId, fid, cid, kgmid, googleMapsUrl, categories, category, summary, description
Addressaddress, street, neighborhood, city, state, postalCode, countryCode, latitude, longitude, timezone
Contactphone (E.164), phoneFormatted, website, domain, bookingUrls
Reputationrating, reviewsCount
HoursopeningHours with each weekday as text and 24-hour intervals, and openStatusText ("Closed · Opens 11 AM")
StatusbusinessStatus (OPERATIONAL, CLOSED_PERMANENTLY, CLOSED_TEMPORARILY), isClaimed
Attributesattributes by group (accessibility and others) with a yes or no for each
Hotelshotel with the nightly price Google shows, official star class, amenities and highlights
Details (optional)ratingDistribution (reviews for each star), reviewTopics (what reviews mention most, with counts), aboutText (the business's own description), popularTimes (how busy each hour usually is) and serviceHours
SearchsearchString, searchLocation, searchRank, distanceKm (circle areas), scrapedAt

No personal data is collected: the Actor does not store reviewers, review authors or owner profiles.

How to use it

  1. Enter your search terms, such as dentist or coffee shop.
  2. Enter the places to search, such as Austin, TX, or draw a custom area (a circle or a GeoJSON polygon).
  3. Pick How many places: Top results for the first ~150 of each search in seconds, or Every place in the area for all of them.
  4. Optionally filter by rating, reviews, website, phone, category, closed places and claim status.
  5. Run it and download JSON, CSV, Excel or HTML, or read the results through the Apify API.

Input example: the best-rated pizzerias of a city

{
"searchTerms": ["pizza"],
"locations": ["Austin, TX"],
"maxPlacesPerSearch": 100,
"minimumRating": 4.5,
"onlyWithWebsite": true
}

Input example: every dentist within 5 km, unclaimed listings only

{
"searchTerms": ["dentist"],
"coverage": "all",
"searchDepth": "thorough",
"maxPlacesPerSearch": 5000,
"customGeolocation": {"type": "Point", "coordinates": [-97.7431, 30.2672], "radiusKm": 5},
"claimStatus": "unclaimed"
}

Output example

{
"name": "Giordano's",
"placeId": "ChIJh3i0BqYsDogR6yp0y6TFlOQ",
"category": "Pizza restaurant",
"address": "130 E Randolph St, Chicago, IL 60601",
"street": "130 E Randolph St",
"neighborhood": "Chicago Loop",
"city": "Chicago",
"state": "Illinois",
"postalCode": "60601",
"countryCode": "US",
"latitude": 41.8851301,
"longitude": -87.6237612,
"phone": "+13126161200",
"website": "https://giordanos.com/locations/prudential-plaza-millennium-park/",
"rating": 4.5,
"reviewsCount": 26964,
"businessStatus": "OPERATIONAL",
"isClaimed": true,
"openStatusText": "Closed · Opens 10:30 AM",
"openingHours": [
{"day": "Saturday", "weekday": 6, "isOpen": true, "hours": "10:30 AM–11 PM", "intervals": [{"opens": "10:30", "closes": "23:00"}]}
],
"attributes": {"Accessibility": [{"name": "Wheelchair accessible entrance", "available": true}]},
"searchString": "pizza",
"searchRank": 1
}

Search depth

Every place in the area needs a rule for when to search a cell again. Search depth sets it: a cell that returns at least 10 (quick), 5 (balanced), 3 (thorough) or 2 (exhaustive) places inside itself is split into four. Deeper finds more places and uses more requests; the price per place does not change. On 3 km of central Chicago for "pizza" the four depths found 91, 96, 99 and 100 of about 100 places, using 214, 547, 1,075 and 1,923 requests. In a 1.7 km circle of downtown Chicago, balanced and exhaustive both found the same 105 places, so balanced is the right default; raise the depth for dense areas or rare categories.

Pricing

You pay per place stored ($0.40 per 1,000), with the Apify platform cost of the run included. Places that fail your filters are not stored and not charged. If you turn on Add place details, each place that gets its details costs $0.30 per 1,000 more; a place whose details cannot be fetched is stored and not charged for them. Volume discounts apply automatically with your Apify plan. See the pricing table above for the current prices.

What to know

  • Relevance decides what Google returns. A term such as "pizza" finds places Google considers matches, which may include a restaurant with pizza on its menu. Use the category filter to keep only the categories you want.
  • A place name finds the area Google shows for it. In Every place in the area mode, "Chicago, IL" means the map view Google shows for Chicago, which reaches into the suburbs. For an exact boundary give a custom area.
  • Speed. Top results take seconds. Covering an area runs at roughly 30 to 100 places a minute, depending on how dense the area is, with the default 1 GB of memory. The Actor needs that memory: the answers are large and parsing them is what limits speed.
  • Closed places are skipped by default; turn the option off to keep them.
  • Place details need one more call per place, so they take longer: a few places a second.
  • Not included: review texts, photos and emails. Reviewer names and profiles are personal data and are never collected. The review topics and the star histogram give you what people say without any of them.
  • Opening hours are the current week as Google shows it, in the language you choose.
  • Public data only. This Actor collects business information that Google Maps shows to anyone.

This Actor collects publicly available business data. You are responsible for using it in line with Google's terms and the laws that apply to you, including rules on contacting businesses.