
Google Maps Scraper
hipersoft/google-maps-scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
Total users
2Monthly users
0Total runs
130Per place scraped
$0.005Last rebuilt
Oct 26, 2026Overview
Google Maps Scraper turns any Google Maps search into a clean, structured dataset of local businesses. Query by keyword and location (e.g. "coffee shops in Austin TX") and get each place with its name, category, full address, phone, website, star rating, Place ID, coordinates and a direct map link. Export to JSON, CSV, Excel or XML. Fast and reliable, with no account or API key to set up. Reliable enough for bulk lead lists and repeatable market-research runs.

What does the Google Maps Scraper do?
This Google Maps crawler runs your searches, paginates automatically, de-duplicates by Place ID, and returns one structured record per business. Add as many searches as you like and export a fresh local-business dataset for outreach, mapping or market research.
What data can you scrape from Google Maps?
| Data point | Description |
|---|---|
| Identity | name, category, categories, placeId, featureId |
| Location | address, city, countryCode, latitude, longitude, plusCode |
| Contact | phone, website |
| Ratings | rating, reviewsCount |
| Hours | hours, openStatus |
| Links | url, search |
What you get
One record per business. Export the full table to JSON, CSV, Excel or XML.

{
"search": "coffee shops in Austin TX",
"name": "Houndstooth Coffee",
"category": "Coffee shop",
"categories": ["Coffee shop", "Espresso bar"],
"address": "401 Congress Ave #100, Austin, TX 78701",
"city": "Austin",
"countryCode": "US",
"latitude": 30.2681,
"longitude": -97.7428,
"rating": 4.6,
"reviewsCount": 512,
"phone": "+1 512-394-6051",
"website": "https://houndstoothcoffee.com/",
"placeId": "ChIJ_0123456789abcdefghijklmn",
"featureId": "0x8644b5a1c2d3e4f5:0x1234567890abcdef",
"plusCode": "76QW+2P Austin, Texas",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJ_0123456789abcdefghijklmn",
"hours": ["Monday: 7 AM–7 PM", "Tuesday: 7 AM–7 PM"],
"openStatus": "Open"
}
reviewsCount, hours and openStatus are populated when scrapePlaceDetails is enabled.
Output schema
| Field | Type | Description |
|---|---|---|
search |
string | The search query that produced this place. |
name |
string | Business name. |
category |
string | Primary category of the business. |
categories |
array | All categories the business is listed under. |
address |
string | Full street address. |
city |
string | City the business is in. |
countryCode |
string | Two-letter country code. |
latitude |
number | Latitude of the place. |
longitude |
number | Longitude of the place. |
rating |
number | Average star rating. |
reviewsCount |
integer | Total number of reviews (with place details enabled). |
phone |
string | Contact phone number, when listed. |
website |
string (URL) | Business website, when listed. |
placeId |
string | Google Place ID, used to de-duplicate and to chain into reviews. |
featureId |
string | Google feature identifier for the place. |
plusCode |
string | Google Plus Code location string. |
url |
string (URL) | Direct Google Maps link to the place. |
hours |
array | Opening hours by day (with place details enabled). |
openStatus |
string | Whether the place is currently open or closed (with place details enabled). |
Use cases
- Build local B2B lead lists (name, phone, website) for a city or niche.
- Map competitor density and ratings across a metro area for market research.
- Enrich a CRM with Place IDs, coordinates and categories.
- Feed Place IDs straight into the Google Maps Reviews Scraper for reputation tracking.
- Analyze category coverage and average ratings across neighborhoods.
How to scrape Google Maps data
- Add the Google Maps Scraper to your Apify account and open its input.
- Enter searches like "<what> in <where>" under
searches, one per line. - Set
maxItemsPerSearch,countryandlanguagefor your market. - Toggle
scrapePlaceDetailsfor review counts and hours, then click Run. - Export the results as JSON, CSV, Excel or XML, or pull them via the Apify API.
Input
{
"searches": ["coffee shops in Austin TX", "plumbers in Austin TX"],
"maxItemsPerSearch": 60,
"country": "us",
"language": "en",
"scrapePlaceDetails": false
}
| Field | Description |
|---|---|
searches |
List of queries, ideally "<what> in <where>". One per line. |
maxItemsPerSearch |
Cap on places per search (1–500, ~20 per page). |
country |
Google country code (e.g. us, gb, de). |
language |
Results language (e.g. en, es). |
scrapePlaceDetails |
Also fetch total review count, hours and open/closed status (slower). |
proxyConfiguration |
Optional proxy settings; rotation is recommended for large runs. |
Need more local & leads data?
- Google Maps Reviews Scraper — reviewer names, ratings, text and dates for any place; chain Place IDs straight from here.
- Google Maps Email Extractor — turn Maps results into a lead list with emails, socials and extra phones.
- Website Contact Scraper — enrich the websites you find here with emails, phones and social profiles.
FAQ
Do I need an API key or Google account? No. Just add your searches and run — no API key, login or Google Cloud billing to set up.
How many places can I get per run? Each search returns up to 500 places (paginated automatically, ~20 per page). You can queue many searches in one run, so a single run can produce thousands of business records.
Does it collect emails or contact info? It returns each business's phone and website when Google exposes them, but it does not visit those websites to extract emails. For emails and social profiles, use the Google Maps Email Extractor.
What export formats are supported? JSON, CSV, Excel and XML, plus programmatic access through the Apify API.
How does billing work? You pay per item you get, so cost scales with the number of places you actually collect. See the Pricing tab for current rates.
Can I connect this to other tools? The Google Maps Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is scraping Google Maps legal? The scraper collects only publicly visible listing data — the same information any visitor sees on Google Maps. You are responsible for using it in line with applicable laws and Google's terms.
Notes
Original clean-room implementation. Collects only publicly visible Google Maps listing data. Not affiliated with, endorsed by or sponsored by Google; Google Maps is a trademark of Google LLC.
Input
| Field | Type | Description |
|---|---|---|
searchesSearches | array | Search queries, ideally " in " (e.g. "restaurants in Chicago", "plumbers in Austin TX"). One per line. |
maxItemsPerSearchMax places per search | integer | Cap places per search (~20 per page). Default: 60 |
countryCountry | string | Google country code (e.g. us, gb, de). Default: "us" |
languageLanguage | string | Results language (e.g. en, es). Default: "en" |
proxyConfigurationProxy | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": true} |
scrapePlaceDetailsScrape review count + hours (slower) | boolean | For each place, fetch its full details to add the total review count, opening hours and open/closed status. Slower and costs a place-details event per place (uses proxy retries for reliability). Default: false |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~google-maps-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searches": [
"coffee shops in Austin TX"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/google-maps-scraper").call(run_input={
"searches": [
"coffee shops in Austin TX"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/google-maps-scraper').call({
"searches": [
"coffee shops in Austin TX"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Place scraped One place with name, category, address, coordinates, rating, phone, website and Place ID | $0.005 | $0.0025 |
| Results page fetched One Google Maps results page (~20 places) fetched and parsed | $0.002 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedApp Store Reviews Scraper
Scrape user reviews and star ratings from the Apple App Store by app ID or URL. Returns review text, title, rating, author, app version, votes, date and review link across any country. No setup.
124 runs · 6 users · $0.0005 / review scrapedSend the site and the fields. We build it and you get it first.