Google Maps Scraper avatar

Google Maps Scraper

Under maintenance

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Under maintenance

Scrape Google Maps business listings. Extract business names, addresses, phone numbers, websites, ratings, reviews, hours of operation, coordinates, and more from Google Maps search results.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

MItchell Peavler

MItchell Peavler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract business listings from Google Maps search results at scale. Get structured data including business names, addresses, phone numbers, websites, ratings, reviews, hours of operation, GPS coordinates, and more -- all without needing a Google API key.

What does Google Maps Scraper do?

This scraper takes a search query and location, then extracts detailed business information from Google Maps. It works exactly like searching Google Maps manually, but automated and at scale.

For example, searching for "plumbers in Chicago" will return structured data for every plumber listing Google Maps shows, complete with contact details, ratings, and operating hours.

Key features

  • No API key required -- scrapes the public Google Maps web interface directly
  • Full business details -- name, address, phone, website, category, price level
  • Ratings and reviews -- star rating and total review count for each business
  • Hours of operation -- complete weekly schedule
  • GPS coordinates -- latitude and longitude for each listing
  • Photo URLs -- optionally extract business photo links
  • Automatic pagination -- scrolls through all available results
  • Anti-blocking -- built-in session rotation, fingerprinting, and human-like delays
  • Proxy support -- works with Apify residential proxies for reliable results

Input parameters

ParameterTypeRequiredDefaultDescription
searchQueryStringYes-What to search for (e.g., "restaurants", "dentists", "hotels")
locationStringYes-Where to search (e.g., "New York, NY", "London, UK")
maxResultsIntegerNo20Maximum number of results to extract (1-120)
languageStringNo"en"Language code for results (e.g., "en", "es", "fr", "de")
includePhotosBooleanNofalseWhether to extract business photo URLs
maxConcurrencyIntegerNo3Parallel page processing (1-10)
proxyConfigurationObjectNoApify ResidentialProxy settings

Example input

{
"searchQuery": "Italian restaurants",
"location": "San Francisco, CA",
"maxResults": 50,
"language": "en",
"includePhotos": true
}

Output

The scraper produces a dataset of business listings in clean, structured JSON. Each listing contains the following fields:

FieldTypeDescription
nameStringBusiness name
addressStringFull street address
phoneStringPhone number
websiteStringBusiness website URL
ratingNumberStar rating (1.0 - 5.0)
reviewCountNumberTotal number of Google reviews
categoryStringBusiness category (e.g., "Italian restaurant")
priceLevelStringPrice indicator (e.g., "$", "$$", "$$$")
hoursObjectHours of operation by day of the week
googleMapsUrlStringDirect Google Maps URL for the listing
latitudeNumberGPS latitude coordinate
longitudeNumberGPS longitude coordinate
plusCodeStringGoogle Plus Code (compact location identifier)
photoUrlsArrayBusiness photo URLs (only when includePhotos is true)
searchResultIndexNumberPosition in the search results
scrapedAtStringISO 8601 timestamp of when the data was scraped

Sample output

[
{
"name": "Tony's Pizza Napoletana",
"address": "1570 Stockton St, San Francisco, CA 94133",
"phone": "(415) 835-9888",
"website": "https://tonyspizzanapoletana.com/",
"rating": 4.5,
"reviewCount": 4823,
"category": "Pizza restaurant",
"priceLevel": "$$",
"hours": {
"Monday": "12 - 9 PM",
"Tuesday": "12 - 9 PM",
"Wednesday": "12 - 9 PM",
"Thursday": "12 - 9 PM",
"Friday": "12 - 10 PM",
"Saturday": "12 - 10 PM",
"Sunday": "12 - 9 PM"
},
"googleMapsUrl": "https://www.google.com/maps/place/Tony's+Pizza+Napoletana/@37.8003,-122.4092,17z/...",
"latitude": 37.8003,
"longitude": -122.4092,
"plusCode": "QH5H+WG San Francisco, California",
"photoUrls": [
"https://lh5.googleusercontent.com/p/AF1QipN.../=w800-h600",
"https://lh5.googleusercontent.com/p/AF1QipO.../=w800-h600"
],
"searchResultIndex": 1,
"scrapedAt": "2026-03-27T14:30:00.000Z"
},
{
"name": "Flour + Water",
"address": "2401 Harrison St, San Francisco, CA 94110",
"phone": "(415) 826-7000",
"website": "https://www.flourandwater.com/",
"rating": 4.4,
"reviewCount": 3156,
"category": "Italian restaurant",
"priceLevel": "$$$",
"hours": {
"Monday": "Closed",
"Tuesday": "5:30 - 10 PM",
"Wednesday": "5:30 - 10 PM",
"Thursday": "5:30 - 10 PM",
"Friday": "5:30 - 10:30 PM",
"Saturday": "5:30 - 10:30 PM",
"Sunday": "5 - 9:30 PM"
},
"googleMapsUrl": "https://www.google.com/maps/place/Flour+%2B+Water/@37.7588,-122.4127,17z/...",
"latitude": 37.7588,
"longitude": -122.4127,
"plusCode": "QGQH+RC San Francisco, California",
"photoUrls": [
"https://lh5.googleusercontent.com/p/AF1QipP.../=w800-h600"
],
"searchResultIndex": 2,
"scrapedAt": "2026-03-27T14:30:05.000Z"
}
]

Use cases

Lead generation

Build targeted prospect lists by scraping businesses in specific industries and locations. Get phone numbers, websites, and addresses for outreach campaigns.

Market research

Analyze the competitive landscape in any market. Compare ratings, review counts, and price levels across businesses in a given area.

Local SEO analysis

Monitor how businesses rank in Google Maps for specific search terms. Track rating changes and review volume over time.

Business directory building

Create comprehensive business directories for specific regions or industries. All the data you need is extracted in one run.

Location intelligence

Extract GPS coordinates and addresses for geographic analysis, territory planning, or mapping applications.

Review monitoring

Track review counts and ratings for your business or competitors. Run the scraper periodically to monitor changes.

Performance and cost

ResultsApproximate runtimeCompute units
20 listings2-4 minutes~0.05
50 listings5-10 minutes~0.12
100 listings10-20 minutes~0.25

Runtimes depend on proxy speed and whether photo extraction is enabled.

Tips for reducing cost

  • Set maxResults to only what you need
  • Disable includePhotos if you do not need images
  • Use lower maxConcurrency to reduce parallel browser usage

Limitations

  • Google Maps typically returns a maximum of ~120 results per search query. For broader coverage, run multiple searches with more specific queries.
  • Hours of operation may not be available for all businesses.
  • Some business details (like price level) are only shown for certain business categories.
  • Results depend on what Google Maps returns for the given query and location, which can vary.

Integrations

This actor works seamlessly with the Apify platform ecosystem:

  • Export results as JSON, CSV, XML, or Excel
  • Schedule periodic runs for monitoring
  • Webhooks to trigger downstream workflows
  • API access to integrate results into your applications
  • Connect to Google Sheets, Slack, Zapier, Make, and hundreds of other services

Support

If you encounter any issues or have feature requests, please open an issue on the actor's GitHub repository or contact support through the Apify platform.