Google Maps Scraper
Scrape Google Maps business listings by category and city: name, phone, website, rating, reviews, lat/lng and place ID. Build local lead lists fast.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
searchQueries,searchQuery,maxItems(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
searchQueries | One or more Google Maps searches. Include the location in the text, e.g. "coffee in Brooklyn", "dentists near Eiffel Tower", "hotels Lisbon". | array |
searchQuery | A single search, if you prefer one box instead of the list above. | string |
maxItems | How many places to collect per search (the scraper scrolls the results feed to reach this). Note: website and phone are only returned when Google shows them on the results card, so those fields are often null; rating, reviewCount, category and address can also be null when Google omits them. | integer |
language | Google Maps interface language code (e.g. en, de, fr, es). | string |
countryCode | Optional 2-letter country for the residential proxy (e.g. US, GB, DE). Match it to where you're searching for best results. | string |
notionConnector | Optional. Write each place as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
addresscategorycidlatlngnamephoneplaceIdplaceUrlratingreviewCountsearchQuerywebsiteExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
20 ready-to-run use cases
Scrape Tokyo Coworking Spaces (Japanese Maps Data)
Tokyo coworking spaces from Google Maps, queried in native Japanese: names, addresses, ratings and websites for market research and expansion.
Property Manager & Contractor Leads in Denver
Denver property managers, contractors and handymen with phone numbers, websites and Google ratings to build a real-estate vendor and referral network.
Refresh CRM Business Hours & Open/Closed Status
Re-scrape a neighborhood's businesses on Google Maps to refresh open/closed status and opening hours, keeping CRM records clean and enriched.
Nashville Wedding Vendor Leads (Photographers, Venues)
Nashville wedding photographers, venues, florists and planners with contacts and ratings from Google Maps for vendor recruiting and event-software sales.
Scrape Barcelona Boutique Hotels (Spanish Maps Data)
Barcelona boutique hotels from Google Maps, queried in native Spanish: names, ratings, review counts and websites for travel and hospitality research.
Scrape Chicago Gyms & Fitness Studio Leads
Gyms, CrossFit boxes and yoga studios across Chicago suburbs with phone numbers, ratings and review counts for fitness-SaaS and supplier outreach.
Med Spa & Aesthetic Clinic Leads in South Florida
South Florida med spas and aesthetic clinics with phones, websites and ratings from Google Maps, a lead list for suppliers and marketing agencies.
Map Starbucks Locations in Germany (German Maps)
Every Starbucks location across Germany's largest cities with addresses, ratings and review counts, queried in German to benchmark a competitor's footprint.
HVAC Contractor Leads Across Florida Metros
HVAC contractors across Miami, Orlando, Tampa and Jacksonville with names, phones, addresses, websites and ratings for cold-outreach lead lists.
Dental Clinic Leads in Los Angeles County
Independent dental clinics across Los Angeles County with names, phones, websites and ratings, an ICP list for B2B and medical-device sales teams.
Find Restaurants With No Website (Web Design Leads)
Restaurants and cafes in California secondary markets, filtered for businesses with no website, surfacing web-design and SEO prospects to pitch.
Low-Rated Auto Repair Shops for Reputation Leads
Texas auto repair shops with ratings and review counts from Google Maps, filtered to low-rated targets for reputation-management outreach.
Map Every Coffee Shop Across 6 Cities (Site Selection)
Coffee shops across six Western cities with coordinates, ratings and review counts, a dataset for franchise site selection and whitespace analysis.
NYC Law Firm Leads by Practice Area
New York City law firms by practice area (injury, family, immigration, estate) with phones, websites and ratings for legal-tech and B2B outreach.
Top-Ranking Phoenix Roofers for Local SEO
Phoenix roofing companies in Google Maps rank order with review counts, ratings and categories to benchmark a client's local-SEO map-pack position.
EV Charging Station Dataset for US Metros
EV charging stations across major California metros with names, operators, coordinates and ratings, a Google Maps dataset for cleantech and app builders.
Plumber Leads Across Texas Cities (Houston, Dallas)
Plumbers across Houston, Dallas and more Texas cities with phone numbers and websites from Google Maps, several city searches in a single contact list.
Tokyo Restaurant Leads with Phone & Website
Tokyo restaurants from Google Maps with phones and websites, queried in Japanese for accurate local names and a ready-to-use contact list.
Car Dealer Place IDs & Coordinates (Chicago)
Chicago car dealerships with exact latitude/longitude coordinates and Google Place IDs from Maps for mapping, geocoding and data enrichment.
SF Sushi Restaurants by Rating & Review Count
San Francisco sushi restaurants from Google Maps sorted by rating and review count, an easy way to spot the top-rated players in the area.
Google Maps Scraper
Search Google Maps and get clean, structured places — name, category, address, rating, review count, phone, website, lat/lng, and the place ID — for any query, anywhere.
Google Maps is one of the hardest targets on the web: the data the page shows is built by client-side JS and the internal API rotates its format constantly, which is why so many Maps scrapers return empty or break within weeks. This actor runs a real browser, lets Maps render its own results, scrolls the entire results feed, and reads the places straight from the rendered cards (stable) instead of reverse-engineering Google's protobuf (fragile).
Input
| Field | Notes |
|---|---|
searchQueries | One or more searches, location included in the text — coffee in Brooklyn, dentists near Eiffel Tower. |
searchQuery | A single search, if you prefer one box. |
maxItems | Places per query (scrolls the feed to reach it). |
language | Maps UI language (en, de, fr…). |
countryCode | 2-letter country for the residential proxy — match it to where you're searching. |
Output
One row per place: name, category, address, rating, reviewCount, phone, website, lat, lng, placeId (hex ftid), cid (decimal), placeUrl, searchQuery. Blocked or empty searches return a single coded diagnostic row (BLOCKED / NO_RESULTS) and are not charged.
Fields that can be null: Google only shows some fields on the results card, so website, phone, rating, reviewCount, category and address are frequently null even on otherwise-complete rows — this is Google omitting them on the card, not a scrape failure. name, placeUrl and (when present in the link) lat/lng/placeId/cid are the most consistently populated. You are still charged for these rows because they are genuine place results.
Pricing
Pay-per-result: you are charged once per place row returned. Blocked, empty, and bad-input runs emit an ok:false diagnostic row and are never charged.
Notes & troubleshooting
A residential proxy is required — Google captchas datacenter IPs and your own server IP fast. The actor rotates the whole browser + IP automatically when it hits a captcha. Phone/website are filled when Google shows them on the card; deep per-place fields (full hours, all reviews) are a planned add-on.
- Got a
BLOCKEDdiagnostic row? You're almost certainly on a datacenter IP or your own IP. Turn on Apify Proxy with the RESIDENTIAL group (the default) and set Proxy country to match where you're searching. Datacenter proxies will keep getting captcha'd. - Lots of
nullwebsite/phone? That's expected — Google doesn't put those on every results card. See the field note above.