Google Maps Scraper (Cheap) avatar

Google Maps Scraper (Cheap)

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Google Maps Scraper (Cheap)

Google Maps Scraper (Cheap)

Google Maps Scraper pulls verified business listings from Google Maps and delivers structured, ready-to-use data. Give it a list of search queries and get back names, addresses, phone numbers, websites, ratings, GPS coordinates, opening hours, and more for every business it finds.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

23 days ago

Last modified

Share

Google Maps Places Scraper

Google Maps Places Scraper

Pulling business details off Google Maps by hand is slow work — you open a pin, copy the phone number, jot down the address, then do it again a few hundred times. This scraper skips all of that. Type the searches you would type into the Maps box, and you get back a clean table of places: business name, full address, phone, website, star rating, review count, and the exact GPS coordinates. Run one search or feed it a long list of categories and cities at once.

What you get

Every place comes back as one tidy row, and fields that Google does not show stay as null so your columns line up when you load the data into a sheet or database. Each row carries:

  • IdentitybusinessName, categoryList, placeId, placeIdHex, mapsPath, mapsUrl, thumbnailUrl
  • LocationfullAddress, cityName, stateCode, stateName, postalCode, countryCode, districtName, lat, lng, timeZone
  • ContactphoneNumber, phoneInternational, websiteUrl
  • Reputation and hoursstarRating, reviewsTotal, hoursToday, openStatus
  • ExtrasbusinessAttributes, accessibilityFeatures, plus the searchQuery that found it and a collectedAt timestamp

Quick start

  1. Press Try for free and open the input form.
  2. Add your phrases to Search terms, one per line, for example coffee shops in Portland, OR.
  3. Set Result language and Region bias if you want results localized, then cap the run with Results per search term or Total results cap.
  4. Pick a proxy type, hit Start, and export the rows as JSON, CSV, Excel, or XML once it finishes.

How it works

Use cases

  • Lead lists for sales — build a list of businesses in a category and city, complete with phone and website
  • Local market research — measure how many competitors sit in a neighborhood and how they are rated
  • Store and franchise planning — map existing locations before choosing where to expand
  • Directory and dataset building — seed your own listings site with names, addresses, and coordinates
  • Review benchmarking — compare star ratings and review counts across a whole category
  • Field sales routing — geocode prospects by lat/lng to plan efficient visit routes

Input

FieldTypeRequiredDescription
searchTermsarray of stringsYesPhrases to look up on Google Maps, one search each. Be specific, e.g. pediatric dentist near 30301.
languageCodestringNoISO language code for the wording of names and addresses. Default en.
regionCodestringNoTwo-letter region code that biases results toward a country. Default us.
resultsPerQueryintegerNoMost places to gather per phrase; the actor pages until it hits this. Default 120.
totalResultsLimitintegerNoOverall cap on places kept across all phrases in one run. Default 1000000.
proxyConfigurationobjectNoProxies used for requests. Defaults to Datacenter; switch to Residential if Google blocks requests.

Example input

{
"searchTerms": [
"vegan restaurants in austin, TX",
"yoga studios near 94110 San Francisco CA"
],
"languageCode": "en",
"regionCode": "us",
"resultsPerQuery": 120,
"totalResultsLimit": 1000000,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output

Each place becomes one row with a fixed set of fields. Anything Google does not publish for a place comes back as null, so the dataset stays rectangular and easy to load.

Example output

{
"businessName": "Sunrise Vegan Kitchen",
"fullAddress": "1204 South Lamar Boulevard, Austin, TX 78704",
"cityName": "Austin",
"stateCode": "TX",
"stateName": "Texas",
"postalCode": "78704",
"countryCode": "US",
"lat": 30.2541,
"lng": -97.7642,
"starRating": 4.6,
"reviewsTotal": 832,
"phoneNumber": "(512) 555-0148",
"phoneInternational": "+15125550148",
"websiteUrl": "https://sunrisevegankitchen.com",
"categoryList": ["Vegan restaurant", "Cafe"],
"placeId": "ChIJAbCdEf123456789",
"placeIdHex": "0x8644b59abcdef012",
"districtName": "Zilker",
"timeZone": "America/Chicago",
"mapsPath": "/g/abc123",
"mapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJAbCdEf123456789",
"thumbnailUrl": "https://lh5.googleusercontent.com/p/AF1QipExampleThumbnailReference",
"hoursToday": "8 AM-9 PM",
"openStatus": "Open",
"businessAttributes": ["Women-owned"],
"accessibilityFeatures": ["Wheelchair accessible entrance"],
"searchQuery": "vegan restaurants in austin, TX",
"collectedAt": "2026-06-29T12:00:00.000000+00:00"
}

Output fields

FieldTypeDescription
businessNamestringName of the place as shown on Google Maps
fullAddressstringComplete street address with street, city, state, and ZIP
cityNamestringCity pulled from the address
stateCodestringTwo-letter state abbreviation, such as FL, NY, CA
stateNamestringSpelled-out state name, such as Florida, New York
postalCodestringZIP or postal code from the address
countryCodestringTwo-letter country code, such as US
latnumberLatitude of the place
lngnumberLongitude of the place
starRatingnumberAverage Google Maps score from 1.0 to 5.0
reviewsTotalintegerNumber of Google Maps reviews for the place
phoneNumberstringMain phone in local format, e.g. (305) 555-1234
phoneInternationalstringSame number in international format, e.g. +13055551234
websiteUrlstringLink to the place's website
categoryListarrayCategory labels for the place, such as Roofing contractor
placeIdstringGoogle's unique place identifier in ChIJ format
placeIdHexstringInternal hexadecimal place identifier
districtNamestringNeighborhood or district tied to the place
timeZonestringIANA time zone, e.g. America/New_York
mapsPathstringShort Google Maps path, e.g. /g/abc123
mapsUrlstringDirect Google Maps link built from the place ID
thumbnailUrlstringLink to the place's thumbnail photo
hoursTodaystringOpening hours for today, e.g. 8 AM-5 PM or Open 24 hours
openStatusstringLive open or closed text, e.g. Open or Closed - Opens 8 AM
businessAttributesarrayIdentity labels, such as Women-owned or LGBTQ+ friendly
accessibilityFeaturesarrayAccessibility options, such as Wheelchair accessible entrance
searchQuerystringThe phrase that found this place
collectedAtstringISO 8601 timestamp of when the row was captured

Tips for best results

  • Be specific with each phrase. A search like plumbers in 77001 Houston TX returns sharper results than plumbers.
  • Use resultsPerQuery to control depth. Set it low while you test the output, then raise it for a full pull.
  • Keep totalResultsLimit as a guardrail. When you queue dozens of phrases, it stops a run from growing larger than you expect.
  • Switch to Residential proxies if you get blocked. Datacenter handles most runs; residential helps when you see repeated blocks or empty pages.
  • Set the right regionCode. When a phrase could match places in more than one country, the region bias keeps results where you want them.

How can I use Google Maps places data?

How can I use the Google Maps Places Scraper to build a local lead list? Queue phrases like hvac contractors in phoenix, AZ and the scraper returns each business with its phone, website, address, and rating. Filter by starRating or reviewsTotal to find established prospects, then export to CSV and drop them straight into your CRM or outreach tool.

How can I scrape Google Maps business data for several cities at once? Add one phrase per city to searchTerms and the actor runs them in parallel, tagging every row with the searchQuery that produced it. That makes it easy to slice the dataset by market afterward and compare coverage, ratings, and density across locations.

How can I get GPS coordinates from Google Maps for mapping or routing? Every place comes back with lat and lng alongside the full address, so you can plot results on a map, cluster them by neighborhood, or build optimized field-sales routes without geocoding the addresses yourself.

How can I research competitors and reviews in a category? Search a category in your area and read starRating, reviewsTotal, categoryList, and openStatus across the results to see who leads on reputation, which segments are crowded, and where there is room for a new entrant.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.