Google Maps Restaurant Scraper
Pricing
from $2.00 / 1,000 results
Google Maps Restaurant Scraper
This actor is designed for restaurant lead generation, local market research, directory building, and menu-enrichment workflows. It is especially useful when you need a Google Maps restaurant scraper that produces structured output instead of raw HTML.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Gyanendra Thakur
Maintained by CommunityActor stats
0
Bookmarked
122
Total users
4
Monthly active users
19 days ago
Last modified
Categories
Share
Google Maps Restaurant Scraper is a fast Apify Actor for collecting restaurant leads from Google Maps. Give it a cuisine or keyword and a location, and it returns a clean dataset of restaurants with contact details, ratings, review counts, full addresses, and coordinates — up to 1,000 places per run, usually in seconds.
It talks to Google Maps over plain HTTP instead of driving a browser, so runs are quick, use little memory, and cost little compute.
What this actor extracts
For each restaurant:
- Name, primary cuisine, and all Google Maps categories
- Rating and review count
- Phone number (as displayed and in international E.164 format)
- Website URL
- Full address, plus street, neighborhood, city, postal code, state, and country code
- Latitude and longitude
- Google Place ID and CID
- Permanently / temporarily closed status
- Google Maps link
What this actor is best for
- Restaurant lead generation and prospect lists
- Local market research and competitor mapping
- Building restaurant directories
- Enriching CRMs with phone numbers, websites, and Place IDs
Input
cuisine: Search keyword such asrestaurant,pizza,sushi,vegan cafe, orbrunchlocation: City, region, or neighborhood to search, e.g.New YorkorAustin, TXmaxResults: Maximum number of restaurants to return (1–1,000, default 20)resultsLanguage: Two-letter language code for results, such asenresultsCountryCode: Two-letter Google country hint, such asusmaxConcurrency: Maximum parallel requests to Google Maps (default 20)maxRequestRetries: Retries per failed request (default 3)maxRunTimeSeconds: Hard wall-clock limit for the run; places collected so far are keptproxyConfiguration: Apify Proxy settings (datacenter proxy by default)includeDebugFields: Adds Google feature IDs and the search each place came from
How it works
- Searches Google Maps for
<cuisine> in <location>and pages through the results. - For more than 100 results, it also looks up the location's outline on OpenStreetMap, splits it into map tiles, and searches each tile — this gets past the ~120-result limit of a single Google Maps search. Tile results outside the location's outline are discarded.
- Deduplicates places by Google Place ID and stops as soon as
maxResultsunique restaurants are collected.
Output
The default dataset has two views:
overview: name, cuisine, rating, reviews, phone, website, address, city, closed status, and Maps linkleads: contact-focused columns ready for CRM import
A RUN_SUMMARY record in the key-value store reports how many places were found, duplicates removed, places outside the area, and per-field fill rates.
Example output
{"restaurantId": "7721bdafdce0427d","name": "Joe's Pizza Broadway","cuisine": "Pizza restaurant","categories": ["Pizza restaurant", "Pizza delivery", "Restaurant"],"rating": 4.4,"reviewsCount": 23635,"phone": "(646) 559-4878","phoneUnformatted": "+16465594878","website": "https://www.joespizzanyc.com/","address": "1435 Broadway, New York, NY 10018","street": "1435 Broadway","neighborhood": "Manhattan","city": "New York","postalCode": "10018","state": "New York","countryCode": "US","latitude": 40.7546795,"longitude": -73.9870291,"placeId": "ChIJifIePKtZwokRVZ-UdRGkZzs","cid": "4280570365733019477","permanentlyClosed": false,"temporarilyClosed": false,"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=Joe's%20Pizza%20Broadway&query_place_id=ChIJifIePKtZwokRVZ-UdRGkZzs","location": "New York","scrapedAt": "2026-09-26T20:33:27.534Z"}
Notes
- Version 2.0 replaced the browser-based pipeline. Menu extraction, price level, and the Maps menu link are no longer included: Google Maps search results don't carry them, and fetching every place's detail page would make runs several times slower and more expensive.
- The default Apify datacenter proxy works for most runs. If you see many blocked requests, switch
proxyConfigurationto residential proxies. - Google Maps changes its internal data format from time to time. The run log and
RUN_SUMMARYflag it when field fill rates drop, which is the signal that the actor needs an update. - Use this actor in compliance with Google Maps terms, local laws, and data-protection rules.