Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $0.25 / search term (up to 500 places)

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Find businesses on Google Maps by keyword and city. Get name, address, phone, website, rating, categories, coordinates and Plus Code for up to 500 places per search.

Pricing

from $0.25 / search term (up to 500 places)

Rating

0.0

(0)

Developer

CallAPI

CallAPI

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

πŸ“ What Does Google Maps Scraper Do?

Google Maps Scraper finds businesses on Google Maps by keyword and city and gives you a clean list you can download as Excel, CSV, JSON or HTML, or send straight to Google Sheets, Make, Zapier or your own app.

Type what you are looking for (for example dentist, plumber or coffee shop), pick a city, and get up to 500 places per search term for one flat price.

βœ… You Get
🏒 Business name and categoriesπŸ“ž Phone number in international format
🏠 Full address, plus city, state and country in separate columns🌐 Website
⭐ Google ratingπŸ—ΊοΈ Latitude, longitude and Plus Code
πŸ†” Google Maps data IDπŸ”Ž The search term that found each place

No Google account, no API key and no coding needed.

πŸš€ Why Use This Google Maps Scraper?

  • πŸ’° Flat price per search. One search term costs the same whether you get 50 or 500 places. No surprises on the bill.
  • πŸ†“ Empty searches are free. If a search finds nothing, you pay nothing for it.
  • πŸ™οΈ Whole city coverage. The actor searches the full city area, not just the first screen of Google Maps, so you get many more places than a manual search shows.
  • 🧹 Clean, ready-to-use data. International phone numbers, city, state and country in their own columns, and no duplicates.
  • πŸ”€ Google-style field names. Fields use the same names as the official Google Places API (displayName, formattedAddress, internationalPhoneNumber, websiteUri, rating, types, plusCode), so the data drops straight into tools built for Google data.
  • ⚑ Instant repeat searches. A search that was already run before for the same city returns in seconds.
  • 🧩 Simple input. A keyword, a city and a country. That is all.

πŸ’Ό What Can You Use It For?

  • 🎯 Lead generation: build lists of local businesses with phone numbers and websites for sales outreach.
  • πŸ“Š Market research: count how many gyms, clinics or restaurants a city has and how well they are rated.
  • πŸ₯Š Competitor analysis: see every competitor in a city with ratings and locations.
  • πŸ“ˆ Local SEO and agencies: find businesses without a website, or with low ratings, as prospects.
  • πŸ—ΊοΈ Maps and data projects: get coordinates for every place to plot them on a map or join them with your own data.

πŸ› οΈ How To Use Google Maps Scraper

  1. Click Try for free.
  2. In Search Terms, add one or more keywords, one per line (for example dentist, orthodontist).
  3. Enter the City and Country. Add the State if your city name exists in more than one place.
  4. Set Max Results Per Search Term (up to 500).
  5. Click Start and wait. Each search term usually takes about a minute.
  6. Download your data from the Output tab in the format you need. πŸŽ‰

⌨️ Input

FieldRequiredDescription
Search TermsYesWhat to look for, one per line. Each term is a separate search. Up to 20 terms per run.
CityYesCity, town or village name. Areas, suburbs and street names are not accepted.
StateNoState or region. Helps pick the right city when two share a name.
CountryYesCountry name or ISO code, for example United States or US.
Max Results Per Search TermNo1 to 500. Default 500.

Example input:

{
"searchTerms": ["florist", "gift shop"],
"city": "New York",
"state": "New York",
"country": "United States",
"maxResults": 500
}

πŸ’‘ Tip: to cover several cities, run the actor once per city, or create a task for each city and schedule them.

πŸ“¦ Output

Each place is one row. Example:

{
"data_id": "0x89c25bc9f5f488d5:0x23dc8e9285579363",
"displayName": "The Fleurista",
"types": ["Florist", "Flower delivery", "Gift shop", "Wedding service"],
"formattedAddress": "88 Bergen St, Brooklyn, NY 11201, United States",
"city": "Brooklyn",
"state": "NY",
"country": "United States",
"internationalPhoneNumber": "+19179091717",
"websiteUri": "http://shopfleurista.com/",
"rating": 5,
"latitude": 40.6863962,
"longitude": -73.9901308,
"plusCode": "87G8M2P5+HW",
"searchTerm": "florist"
}
FieldDescription
displayNameBusiness name
typesCategories shown on Google Maps, for example "Dental clinic"
formattedAddressFull address
city, state, countryAddress parts in separate columns
internationalPhoneNumberPhone number with country code, or null
websiteUriWebsite, or null
ratingGoogle rating (0 to 5)
latitude, longitudeCoordinates
plusCodeGoogle Plus Code
data_idGoogle Maps data ID of the place
searchTermThe search term that found this place

πŸ“₯ Download the results as JSON, CSV, Excel, XML, HTML or RSS, or read them through the Apify API.

πŸ’΅ How Much Does It Cost?

$0.25 per search term, up to 500 places. That is as low as $0.50 per 1,000 places.

SearchPlacesYou Pay
1 search termup to 500$0.25
4 search termsup to 2,000$1.00
20 search termsup to 10,000$5.00
  • πŸ†“ A search term that finds no places is not charged.
  • πŸ›‘ Set Maximum cost per run before you start. The actor stops before any search your limit cannot cover.
  • 🎁 New Apify users get free monthly platform credit, enough to try the actor.

ℹ️ Good To Know

  • πŸ”’ Up to 500 places per search term. If a city has fewer matching places, you get fewer. A small town may have only a handful of bakeries.
  • πŸ™οΈ One city per run. Areas, suburbs and street names are not accepted as the city. Use the city name and filter by address afterwards if needed.
  • πŸ‡¬πŸ‡§ English results. Names and categories are returned in English where Google has them.
  • 🚫 Not included: emails, reviews, photos, opening hours and social media profiles.
  • ⏱️ Speed: a new search usually takes about a minute per search term. Several terms run one after another.
  • 🚦 Busy times: when many people search at once, your run waits for a free slot and shows "server busy" in its status, so every search still gets its full results. Waiting is never charged.

πŸ”— Integrations

Connect Google Maps Scraper to almost any tool with Apify integrations: Google Sheets, Google Drive, Make, Zapier, n8n, Slack, Airbyte, GitHub and webhooks. For example, add new leads to a Google Sheet every time a run finishes.

πŸ‘©β€πŸ’» Using Google Maps Scraper With The Apify API

Run the actor and get results from your own code with the Apify API. The API tab on this page has ready-made examples for JavaScript, Python, cURL and the Apify CLI. You can also use the official Apify JavaScript client or Python client.

❓ FAQ

This actor collects publicly visible business information, such as names, addresses, phone numbers and websites. It does not collect private personal data. Business data is generally fine to collect, but results can still include personal data (for example a sole trader's phone number), which is protected by laws such as GDPR in some countries. Do not use the data for spam, and check with a lawyer if you are unsure about your use case. Read more in Apify's blog post on the legality of web scraping.

πŸ€” Why Did I Get Fewer Results Than Max Results?

The city simply has fewer places matching your search term on Google Maps, or the search reached its time limit. The price per search term stays the same.

🌍 Can I Search A Whole Country Or A Neighborhood?

Not directly. The actor searches one city at a time. For a country, run it for each city you need. For a neighborhood, search the city and filter the results by address or coordinates.

πŸ“ Why Did My Run Fail With "Location Not Found"?

The city could not be matched in the country you gave. Check the spelling, add the State, or use the nearest larger city.

πŸ”‘ Do I Need A Google API Key?

No. Everything is handled for you.

πŸ’¬ Feedback

Found a bug or missing a feature? Open an issue on the Issues tab. We read every message.