Google Maps Business Scraper avatar

Google Maps Business Scraper

Under maintenance

Pricing

$5.00 / 1,000 result items

Go to Apify Store
Google Maps Business Scraper

Google Maps Business Scraper

Under maintenance

Scrape Google Maps business listings: names, addresses, phones, websites, ratings, hours, and coordinates. Bulk keyword search or direct place URLs. Essential for local SEO and lead generation.

Pricing

$5.00 / 1,000 result items

Rating

0.0

(0)

Developer

The Emperor

The Emperor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract rich business data from Google Maps using keyword searches or direct place URLs. No API key required.

What it does

This actor opens Google Maps in a real Chromium browser (via Playwright), runs your search queries, and scrapes the full details for every business listing it finds — just like a human would, but at scale and with structured JSON output.

Features

  • Search by keyword: "restaurants in Austin TX", "plumbers near 90210", "gyms downtown Chicago"
  • Scrape direct place URLs (useful when you already have a list of Google Maps links)
  • Extracts all key business fields: name, category, address, phone, website, star rating, review count, opening hours, photos gallery link, latitude/longitude, Google place_id
  • Handles Google's cookie consent page automatically
  • Paginates through search results to meet your maxResults target
  • Rotates Apify residential proxies per request to avoid IP bans
  • Retries failed requests up to 3 times with exponential backoff
  • Configurable concurrency (parallel tabs) and result limits

Output fields

Each scraped record contains:

FieldTypeDescription
place_idstringGoogle's unique identifier (e.g. ChIJN1t_tDeuEmsRUsoyG83frY4)
namestringBusiness name
categorystringPrimary Google Maps category (e.g. "Italian restaurant")
addressstringFull street address
phonestringListed phone number
websitestringBusiness website URL
ratingnumberAverage star rating (1.0–5.0)
review_countintegerTotal number of Google reviews
hoursobjectOpening hours by day: { "Monday": "9 AM – 5 PM", ... }
photos_urlstringLink to the Google Maps photos gallery
latnumberLatitude
lngnumberLongitude
maps_urlstringFull Google Maps URL for this place
search_querystringThe query that surfaced this result
scraped_atstringISO 8601 timestamp

Input

Search by keyword

{
"searchQueries": [
"coffee shops in Seattle WA",
"pizza restaurants Austin TX"
],
"maxResults": 50,
"country": "US"
}

Scrape specific places by URL

{
"placeUrls": [
"https://www.google.com/maps/place/Space+Needle/@47.6205,-122.3493,17z",
"https://www.google.com/maps/place/Pike+Place+Market/@47.6094,-122.3424,17z"
]
}

Lead generation — find local businesses

{
"searchQueries": [
"plumbers in Denver CO",
"electricians in Denver CO",
"HVAC contractors in Denver CO"
],
"maxResults": 100,
"maxConcurrency": 5,
"country": "US",
"proxyConfig": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Multi-city restaurant research

{
"searchQueries": [
"sushi restaurants in New York City",
"sushi restaurants in Los Angeles CA",
"sushi restaurants in Chicago IL"
],
"maxResults": 30,
"language": "en",
"country": "US"
}

Input schema reference

FieldTypeDefaultDescription
searchQueriesstring[][]Google Maps search queries
placeUrlsstring[][]Direct Google Maps place URLs
maxResultsinteger20Max results per query (max 200)
maxConcurrencyinteger3Parallel browser tabs (max 8)
languagestring"en"Maps UI language code
countrystring"US"Proxy geo-targeting country (ISO 3166-1 alpha-2)
proxyConfigobjectresidentialApify proxy configuration

At least one of searchQueries or placeUrls is required.

Use cases

Local lead generation — Build prospect lists of businesses in a target city and vertical. Export to CSV for cold outreach.

Competitive intelligence — Monitor competitor ratings, review counts, and hours over time. Track new locations opening in your market.

Market research — Identify density of business types in geographic areas. Map where certain industries cluster.

Directory & aggregator sites — Power a local directory website with up-to-date business data without building a Maps integration.

Review analysis — Collect business metadata as a precursor to scraping individual reviews (using a separate reviews actor).

Real estate & site selection — Analyse what business categories exist in a given area as part of site selection research.

Performance & cost estimates

QueriesMax results eachApprox. timeApprox. cost
120~2 min~$0.05
550~8 min~$0.25
10100~20 min~$0.60
1200~15 min~$0.45

Actual times depend on Google's response speed and proxy availability. Using more concurrency reduces time but increases memory use.

Proxy recommendations

Residential proxies are strongly recommended. Google Maps is aggressive about rate-limiting datacenter IPs. Apify's RESIDENTIAL proxy group routes requests through real home IP addresses.

Set country to match the country of your search queries for best results (e.g., "US" for US searches, "GB" for UK searches).

Technical notes

  • Built with Crawlee PlaywrightCrawler and Chromium
  • Automatically handles Google's cookie/consent page in all EU/EEA regions
  • Uses session pooling to rotate browser fingerprints
  • Exponential backoff on failures (3 retries per request)
  • Data is streamed to the Apify dataset in real-time as each place is scraped

This actor is provided for informational and legitimate research purposes only.

Users are solely responsible for ensuring their use of this actor complies with:

  • Google's Terms of Service
  • Google Maps Platform Terms of Service
  • Google's robots.txt restrictions
  • Applicable data protection laws (GDPR, CCPA, etc.)

Scraping Google Maps at high volume may violate their Terms of Service. The actor's author and Apify assume no legal liability for misuse. Use reasonable rate limits and do not re-sell scraped data in violation of Google's terms.

For high-volume commercial use, consider the official Google Places API.