Google Maps Scraper — Places, Storefront vs Service-Area
Pricing
from $0.70 / 1,000 places
Google Maps Scraper — Places, Storefront vs Service-Area
Scrape Google Maps business listings by keyword and city: name, category, phone, website, address, hours, rating and booking link. Flags service-area businesses that hide their address. Clean, de-duplicated, no personal data. $1 per 1,000 places.
Pricing
from $0.70 / 1,000 places
Rating
0.0
(0)
Developer
Jaybird Technologies
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Google Maps Places Scraper do?
Google Maps Places Scraper searches Google Maps for any type of business in a city or region and exports one clean record per place: name, categories, phone, website, address, coordinates, rating, review count, opening hours, open/closed status, description and booking link.
It also tells you whether each business shows a street address (storefront) or hides it and serves customers at their location (a service-area business: plumbers, cleaners, mobile detailers, mobile IV nurses, contractors). That one flag makes it easy to build lists of mobile and home-service businesses.
Use it as a lightweight Google Maps API alternative (Google Places API) for local business data: no Google Cloud key, no login, $1 per 1,000 places.
Why use this Google Maps scraper?
- 🏷️ Storefront vs service-area flag.
hasStorefront: falsemarks businesses that hide their address, the usual sign of a mobile or home-service business. - 🧹 Clean, fixed output. Every record has the same 24 fields; missing values are
null, never absent. Ready for a spreadsheet, CRM or database without cleanup. - 🔁 De-duplicated across searches. Search "plumber", "emergency plumber" and "drain cleaning" in one run and each business appears once, with every term that found it in
matchedSearchTerms. - 📍 Stays in your area. Google pads results with other cities once local ones run out; the scraper drops anything outside your city's radius or your custom polygon.
- 🗺️ Big areas covered. One Google Maps view tops out around 200 places, so for larger requests the scraper automatically splits the map into tiles and keeps going.
- 🔒 Business data only. No reviews, reviewer names, photos, owner names or emails, so you aren't collecting personal data you don't need.
- ⚡ Fast and cheap. No browser: about 1,000 places in 4 minutes, 2,500 in 9.
Run it on the Apify platform with scheduling, the API, webhooks, and integrations (Make, Zapier, Google Sheets, n8n), plus proxy rotation and monitoring built in.
What data can I extract from Google Maps?
| Field | Example | Notes |
|---|---|---|
name | IV Bird | |
primaryCategory, categories | Medical spa, IV therapy service | Google's categories, main one first |
phone | +1 512-434-0651 | International format |
website | https://ivbird512.com/ | Campaign tags (utm_*) removed |
hasStorefront | true / false | Does the listing show a street address? |
address | 1023 Springdale Rd Bldg 8e, Austin, TX 78721 | null for service-area businesses |
lat, lng, plusCode | 30.2610, -97.6970, 7885+R2 Austin, Texas | |
rating, reviewCount | 4.9, 212 | Counts only, no review text |
openingHours | Monday: 8 AM–8 PM … | Monday first |
businessStatus | OPERATIONAL | Or CLOSED_TEMPORARILY / CLOSED_PERMANENTLY |
description | "Mobile IV therapy delivered…" | Owner description or Google's summary |
attributes | Wheelchair accessible entrance, Identifies as women-owned | |
bookingUrl | https://booking.mangomint.com/… | The listing's "Book online" link |
placeId, mapsUrl | ChIJ…, https://www.google.com/maps/place/?q=place_id:… | Stable Google IDs |
matchedSearchTerms | ["plumber", "emergency plumber"] | Every term that found the place |
How to scrape Google Maps
- Click Try for free and open the Input tab.
- Enter one or more search terms, as you'd type them into Google Maps ("plumber", "coffee shop").
- Enter a location: a city, metro or region ("Austin, TX, USA", "Manchester, UK").
- Set max places per search term (20 for a quick look, 500+ for a whole city).
- Click Start, then download the results as JSON, CSV, Excel or HTML, or pull them through the API.
How much does it cost to scrape Google Maps?
You pay $1 per 1,000 places saved (less on higher Apify plans: down to $0.70 per 1,000 on Gold), plus a tiny start fee per run. There are no separate charges for details, contact fields or filters: every field above is included. Places that appear under several search terms are charged once.
| Places | Cost (Free plan pricing) |
|---|---|
| 100 | $0.10 |
| 1,000 | $1.00 |
| 10,000 | $10.00 |
Apify's free plan includes monthly credit, enough for thousands of places. Set a maximum cost per run in the run options and the scraper stops collecting when it reaches it, so you are never charged more.
Input
See the Input tab for every option. Example:
{"searchTerms": ["plumber", "emergency plumber"],"location": "Austin, TX, USA","maxPlacesPerSearch": 100,"language": "en","skipPermanentlyClosed": true}
customGeolocation(optional): a GeoJSON Polygon or MultiPolygon for an exact area, such as a metro outline or a set of ZIP codes. Places outside it are dropped.maxDistanceKm(optional): how far from the location's centre to keep places. Left empty, it is sized to the location automatically (about 63 km for Austin).0keeps everything Google returns.
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One record per unique place:
{"placeId": "ChIJcWJvCp6zRIYRlvUjxSjqGuQ","name": "Mobile IV Medics","mapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJcWJvCp6zRIYRlvUjxSjqGuQ","matchedSearchTerms": ["mobile iv therapy", "mobile iv"],"searchLocation": "Austin, TX, USA","primaryCategory": "IV therapy service","categories": ["IV therapy service", "Health consultant", "Wellness program"],"website": "https://mobileivmedics.com/service-areas/texas/austin/","phone": "+1 833-483-7477","hasStorefront": false,"address": null,"serviceAreaText": null,"serviceAreas": [],"lat": 30.2801215,"lng": -97.771258,"plusCode": null,"rating": 4.9,"reviewCount": 60,"openingHours": [{ "day": "Monday", "hours": "8 AM–8 PM" }],"businessStatus": "OPERATIONAL","description": "Mobile IV Medics brings IV hydration therapy directly to you in Austin, Texas…","attributes": ["LGBTQ+ friendly"],"bookingUrl": "https://mobileivmedics.com/booking/","scrapedAt": "2026-10-24T22:35:00.000Z"}
The OUTPUT record in the key-value store summarizes each run: places found per term, unique places, how many were skipped (closed, outside the area) and how many were charged.
Tips
- More places per city: add related terms ("plumber", "plumbing service", "drain cleaning"). Each finds businesses the others miss, and duplicates are removed for free.
- Mobile and home-service businesses: filter the results on
hasStorefront = false. - Exact areas: use
customGeolocationwith a polygon (for example from geojson.io) instead of a city name. - Keep runs cheap: start with a small
maxPlacesPerSearchto check the results, then scale up.
Feedback and reviews
Something not working, or a field you need? Open an issue on the Issues tab and we'll take a look.
If this Actor saved you time, a short review on Apify Store helps other people decide whether it fits their needs.
FAQ
Does it extract emails or reviews?
No. It collects business-level data only: no review text, reviewer names, photos, owner names or emails.
Why are serviceAreaText and most About attributes empty?
Since 2026 Google shows the "Serves … and nearby areas" line and most of a listing's About tab (such as "Onsite services") only to signed-in users. This scraper doesn't log in, so those fields are usually empty. Every other public scraper has the same limit. The hasStorefront flag still reliably separates storefronts from service-area businesses, and the scraper fills the service-area fields automatically if Google shows them again.
How many places can I get per search?
One Google Maps view returns up to about 200 places. Above that, the scraper splits the area into map tiles automatically, typically reaching several thousand places per term in a large city. Very common categories in huge metros (for example "restaurants" in New York) are best split into several runs by borough or polygon.
Can I search outside the US?
Yes. Enter any city or region as the location and set language for local category names. Results come from Google Maps for that area.
Is it legal to scrape Google Maps?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Can I use it through the API?
Yes. See the API tab for ready-made code in JavaScript, Python and cURL, or call it from Make, Zapier, n8n or any HTTP client.
Other Jaybird Actors
- Healthgrades Scraper: doctors and practices with specialties, ratings and accepted insurance.
- Trustpilot Review Scraper: reviews and ratings for any company on Trustpilot.
- AI Search Visibility Tracker: see whether ChatGPT-style AI answers mention your brand.