Google Maps Scraper Germany, UK & US - Local Business Leads
Pricing
from $1.20 / 1,000 place scrapeds
Google Maps Scraper Germany, UK & US - Local Business Leads
Scrape local businesses from Google Maps in Germany, the UK, the US and 27 more countries by keyword and city: name, category, rating, exact review count, address, phone, website, open now status, coordinates, place ID and Maps link. Low cost lead lists for sales, local SEO and market research.
Pricing
from $1.20 / 1,000 place scrapeds
Rating
0.0
(0)
Developer
Kamer Ozkan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Google Maps scraper for Germany, the UK, the US and 27 more countries. Scrape local businesses from Google Maps results by keyword and city: name, category, star rating, exact review count, full address, phone, website, open now status, coordinates, Google place ID, CID and a Google Maps link. Bulk queries in 30 countries, export to JSON, CSV or Excel.
What does Google Maps Scraper do?
Type what you would search on Google Maps, for example dentist in Austin TX or Zahnarzt Berlin Mitte, pick a country, and the actor returns the places Google lists for that search, one row per business, in Google's ranking order. It reads further result pages (20 places each) when you ask for more places per query. Sponsored listings are skipped.
It needs no login, no Google account, no browser and no proxy setup on your side: the results come from Google's local search results, fetched through Apify's Google SERP proxy, which is included in the price.
Who is it for?
- Sales and lead generation teams: build call and email lists of local businesses by trade and city, with phone and website.
- Agencies selling web design, SEO or marketing: find businesses with few reviews, low ratings or no website in a target area.
- Local SEO specialists: see who ranks for a local keyword, at which position, with which rating and review count.
- Market researchers and franchise planners: count competitors per area and map them with coordinates.
What data can you get?
| Field | Example |
|---|---|
query, country | dentist in Austin TX, US |
position | 1 (rank in Google's local results for that query) |
name | North Austin Dentistry |
category, categories | Dentist |
rating, reviewsCount | 4.9, 736 (exact count, not rounded) |
address | 6850 Austin Center Blvd #310, Austin, TX 78731 |
phone | (512) 489-9933 |
website | https://northaustindentist.com/ (tracking parameters removed) |
openingStatus | Open · Closes 3 PM (at the time of the run) |
latitude, longitude | 30.351764, -97.752693 |
placeId | ChIJUfYH2QLLRIYR9a_qLP46DcY (works with the Google Places API) |
cid, googleMapsUrl | 14271127657556652021, https://www.google.com/maps?cid=14271127657556652021 |
kgmid | /g/1td33flx (Google Knowledge Graph ID) |
Fields stay empty (null) when Google does not show that detail. Service-area businesses such as plumbers or cleaners often hide their street address, so address is empty for them while phone, website and coordinates are still filled.
Not included: email addresses, review texts, photos and the full weekly opening hours. Combine the website column with a contact details scraper if you need emails.
How much does it cost?
You pay only for results: $1.50 per 1,000 places ($0.0015 per place) on the Free plan, with Store discounts on paid Apify plans: Bronze $1.35, Silver $1.275, Gold and above $1.20 per 1,000 places. The Google SERP proxy is included; there is nothing else to buy.
Worked example: 25 searches (for example one trade in 25 cities) with 40 places each = 1,000 places = 1,000 x $0.0015 = $1.50 on the Free plan.
Set "Max places per query", "Max places in total" or a maximum cost per run to cap spending.
How to use it
- Click Try for free.
- Enter one or more Search queries: a business type plus a place, such as
roofing contractor Phoenix AZ. - Choose the Country and, if you want, a Language for categories and opening status.
- Set Max places per query (one results page holds 20 places).
- Click Start, then download the results as JSON, CSV or Excel, or read them through the API.
Tip: Google lists a limited number of places per search. For full coverage of a large city, split it into neighbourhoods or ZIP codes (dentist 78704, dentist 78731) and deduplicate on placeId.
Input example
{"queries": ["dentist in Austin TX", "orthodontist in Austin TX"],"countryCode": "us","maxPlacesPerQuery": 40}
Output example
Rows from a QA run on 2026-10-10:
{"query": "dentist in Austin TX","country": "US","position": 1,"name": "North Austin Dentistry","category": "Dentist","categories": ["Dentist"],"rating": 4.9,"reviewsCount": 736,"address": "6850 Austin Center Blvd #310, Austin, TX 78731","phone": "(512) 489-9933","website": "https://northaustindentist.com/","openingStatus": "Open · Closes 3 PM","latitude": 30.351764,"longitude": -97.752693,"placeId": "ChIJUfYH2QLLRIYR9a_qLP46DcY","cid": "14271127657556652021","kgmid": "/g/1td33flx","googleMapsUrl": "https://www.google.com/maps?cid=14271127657556652021"}
A service-area business from a UK search (plumber in Manchester, countryCode: "gb"):
{"name": "Daniel Plumbing and handyman","category": "Plumber","rating": 4.9,"reviewsCount": 397,"address": null,"phone": "07852 397292","website": "https://www.local-plumbers-manchester.co.uk/","latitude": 53.535328,"longitude": -2.228531}
Supported countries
United States, United Kingdom, Canada, Australia, India, Ireland, New Zealand, South Africa, Germany, Austria, Switzerland, France, Belgium, Netherlands, Italy, Spain, Portugal, Poland, Sweden, Denmark, Norway, Finland, Czechia, Turkey, Brazil, Mexico, Argentina, Japan, Singapore and the United Arab Emirates.
Integrations and API
Run it from your code with the Apify API or the apify-client package, schedule it in Apify, or connect it to Make, n8n, Zapier, Google Sheets, HubSpot or a webhook.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("kamerozkan/google-maps-scraper").call(run_input={"queries": ["dentist in Austin TX"],"countryCode": "us","maxPlacesPerQuery": 40,})for place in client.dataset(run["defaultDatasetId"]).iterate_items():print(place["position"], place["name"], place["phone"], place["website"])
FAQ
How many places do I get per search? As many as Google lists for it, 20 per results page. The actor reads further pages until it reaches your limit or Google shows no new places. Split big cities into neighbourhoods or ZIP codes for more.
How fast is it? Google's local result pages are slow to answer, so the actor requests several pages in parallel. 40 places for one search take about one minute.
Are review counts exact? Yes. Google's page shows "1.5K", but the actor reads the exact number (for example 1548).
Can I get emails? Not from Google. Run the website column through a contact details scraper to collect published business emails.
Why are some fields empty? Some businesses publish no phone, website or street address on Google. The actor never guesses a value.
Is it legal to collect this data? It collects business listings that Google shows publicly. You are responsible for how you use the data, including direct marketing rules such as GDPR or CAN-SPAM.
Something is not working? Open an issue on the Issues tab with your run link and we will fix it fast.