Google Maps Restaurant Scraper avatar

Google Maps Restaurant Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Google Maps Restaurant Scraper

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

Gyanendra Thakur

Maintained by Community

Actor stats

0

Bookmarked

122

Total users

4

Monthly active users

19 days ago

Last modified

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 as restaurant, pizza, sushi, vegan cafe, or brunch
  • location: City, region, or neighborhood to search, e.g. New York or Austin, TX
  • maxResults: Maximum number of restaurants to return (1–1,000, default 20)
  • resultsLanguage: Two-letter language code for results, such as en
  • resultsCountryCode: Two-letter Google country hint, such as us
  • maxConcurrency: 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 kept
  • proxyConfiguration: Apify Proxy settings (datacenter proxy by default)
  • includeDebugFields: Adds Google feature IDs and the search each place came from

How it works

  1. Searches Google Maps for <cuisine> in <location> and pages through the results.
  2. 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.
  3. Deduplicates places by Google Place ID and stops as soon as maxResults unique restaurants are collected.

Output

The default dataset has two views:

  • overview: name, cuisine, rating, reviews, phone, website, address, city, closed status, and Maps link
  • leads: 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 proxyConfiguration to residential proxies.
  • Google Maps changes its internal data format from time to time. The run log and RUN_SUMMARY flag 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.