Google Maps API
Local business search, full place detail and paginated reviews — each one a single POST returning structured JSON. No Google Cloud project, no billing account, and no five-review ceiling.
50 free credits on signup. No card, no Cloud project.
{ "search_parameters": { "engine": "google_maps", "type": "search", "query": "coffee shops in Austin", "google_domain": "google.com", "hl": "en", "gl": "us" }, "search_information": { "local_results_state": "Results for exact spelling", "query_displayed": "coffee shops in Austin" }, "local_results": [ { "position": 1, "title": "Epoch Coffee", "place_id": "ChIJG-gJw2vKRIYROWi2uwOp8QE", "data_id": "0x8644ca6bc309e81b:0x1f1a903bbb66839", "data_cid": "140078896924485689", "gps_coordinates": { "latitude": 30.3186037, "longitude": -97.7245402 }, "rating": 4.5, "reviews": 2497 } ], "credits_used": 1, "credits_remaining": 4748}Live call against the real endpoint — 3 free runs, then it's your own key.
What is the Scavio Google Maps API?
The Scavio Google Maps API is a REST API that returns Google Maps data as structured JSON. You send a query, place_id or data_id to one of 3 POST endpoints with your API key, and get back local business results with ratings and coordinates, full place records, or paginated reviews — with no Google Cloud project and no billing account.
- 3
- endpoints, all live in production
- 1
- credit per call, every endpoint
- 0
- Cloud projects to configure
Three endpoints, the whole map pack
Search finds the businesses, place describes one, reviews tell you what people think.
Maps search
POST /api/v2/google/maps/searchLocal businesses for a query and area, with rating, review count and coordinates on every row — plus the data_id that unlocks reviews.
Place detail
POST /api/v2/google/maps/placeOne business in full: phone, opening hours, category, rating and exact coordinates, by place_id or data_cid.
Place reviews
POST /api/v2/google/maps/reviewsThe reviews themselves — text, author, date and the owner's reply — sorted and paginated, which is what sentiment work actually needs.
All 3 Google Maps endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Maps search/api/v2/google/maps/search | Name, address, rating, reviews, coordinates, place_id and data_id | 1 |
Place detail/api/v2/google/maps/place | Full record by place_id or data_cid — phone, hours, rating, coordinates | 1 |
Place reviews/api/v2/google/maps/reviews | Rating, text, author, date and owner responses, sorted and paginated | 1 |
50 free credits on signup covers 50 calls of any kind. See plans
From a local search to its reviews
Search the area, take the data_id, read the reviews. The response on the right is a real capture — note the flat shape, with no data wrapper.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.google.maps_search(query="coffee shops in Austin")
for p in res["local_results"]:
print(p["title"], p["rating"], p["reviews"], p["data_id"])
# Reviews key on data_id from the search above - 1 credit
revs = client.google.maps_reviews(data_id=res["local_results"][0]["data_id"]){
"search_parameters": {
"engine": "google_maps",
"type": "search",
"query": "coffee shops in Austin",
"google_domain": "google.com",
"hl": "en",
"gl": "us"
},
"search_information": {
"local_results_state": "Results for exact spelling",
"query_displayed": "coffee shops in Austin"
},
"local_results": [
{
"position": 1,
"title": "Epoch Coffee",
"place_id": "ChIJG-gJw2vKRIYROWi2uwOp8QE",
"data_id": "0x8644ca6bc309e81b:0x1f1a903bbb66839",
"data_cid": "140078896924485689",
"gps_coordinates": {
"latitude": 30.3186037,
"longitude": -97.7245402
},
"rating": 4.5,
"reviews": 2497
}
],
"credits_used": 1,
"credits_remaining": 4748
}Why not Google Maps Platform?
If you are rendering an interactive map in a product, use theirs. For reading local data at scale, the restrictions are the problem.
Google Maps Platform (Places API)
- Requires a Cloud project with billing enabled and a card on file
- Priced per request in dollars, with cost that scales sharply on detail fields
- Returns at most five reviews per place, with no pagination
- Terms restrict caching, storing and displaying much of the returned data
Scavio Google Maps API
- One API key, issued at signup — no Cloud project, no billing account
- Flat 1 credit per call, whichever endpoint you hit
- Reviews are sorted and paginated, not capped at five
- Same key and JSON envelope as 30 other Scavio platforms
Scavio returns publicly available business listing data only, and never authenticates as a Google user.
What developers build with it
Local lead lists
Search a category across a city, capture name, address, rating, review count and coordinates, then enrich each row. The classic local-agency prospect list, built from one call per area.
maps/searchReview monitoring and sentiment
Pull reviews for your locations and your competitors', including the owner responses. Run an LLM over the text to track complaints by branch rather than by brand average.
maps/search + maps/reviewsLocal rank tracking
The map pack is its own ranking surface. Run the same query weekly and record position per business to see who is gaining, without eyeballing screenshots.
maps/searchStore locator and competitor footprint
Map every branch a chain operates in a region using coordinates and place records, then measure catchment overlap against your own sites.
maps/search + maps/placeData enrichment
Given a business name and city, resolve the canonical record — phone, hours, category and coordinates — to fill gaps in a CRM without manual lookups.
maps/placeAgent tools for local questions
Point an agent at the MCP server and Maps becomes a callable tool — find nearby, compare ratings, read recent reviews — with the same key as every other Scavio platform.
MCP + RESTHow to get Google Maps data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Google Cloud project or billing account to create.
- 2
POST a query
Send {"query": "coffee shops in Austin"} to https://api.scavio.dev/api/v2/google/maps/search with an Authorization: Bearer header. All three Maps endpoints are POSTs.
- 3
Follow the data_id into reviews
Google v2 responses are flat — local_results sits at the top level, not under data. Each result carries a data_id; pass it to the reviews endpoint to read that place's reviews.
Google Maps API FAQ
What is the Scavio Google Maps API?
+
It is a REST API that returns Google Maps data as structured JSON. Three POST endpoints cover local business search, full place detail by place_id or data_cid, and place reviews with sorting and pagination. You authenticate with a Scavio API key, with no Google Cloud project.
Who are these endpoints for?
+
Developers embedding local data in a product; AI agent builders wiring Maps in as an MCP or SDK tool; automation engineers running it inside n8n, Zapier or Make; GTM and sales teams building local lead lists; local SEO agencies tracking map-pack rankings; and brand or franchise managers monitoring reviews per branch. Same API for all of them.
How is this different from the official Google Maps Platform API?
+
Google's own Places API requires a Cloud project with billing enabled and prices per request in dollars, and its terms restrict storing and displaying much of the returned data. It also caps reviews at five per place. Scavio needs no Cloud project, costs 1 credit per call, and returns reviews with sorting and pagination.
How many reviews can I get per place?
+
The reviews endpoint sorts and paginates, so you are not limited to the handful the official Places API returns. Pass the data_id from a Maps search result, then page through with the cursor in the response.
How much does a Google Maps request cost?
+
Every Maps endpoint costs 1 credit — search, place detail and reviews alike. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
What does the response look like?
+
Google v2 responses are flat rather than wrapped: search_parameters, search_information and local_results sit at the top level, alongside credits_used and credits_remaining. Each local result carries position, title, place_id, data_id, data_cid, gps_coordinates, rating and reviews.
What is the difference between place_id, data_id and data_cid?
+
They are three identifiers Google uses for the same business. place_id and data_cid address the place detail endpoint; data_id is what the reviews endpoint takes. A Maps search result returns all three, so you rarely have to convert between them yourself.
Can I search a specific city or area?
+
Yes. Put the area in the query itself, as in coffee shops in Austin, and use the gl and hl parameters to set country and language. Results come back with coordinates so you can filter by distance afterwards.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is scraping Google Maps data legal?
+
Scavio returns publicly available business listing data and does not authenticate as a user. You remain responsible for how you use the data, including compliance with Google's terms and with privacy law where personal data such as reviewer names is involved. Talk to your own counsel for your specific use case.
Explore more of Scavio
Google Search API
The full SERP — organic, ads, AI Overview.
Google Shopping API
Products, prices and every seller.
Google Trends API
Interest over time and trending now.
Yelp API
Local business search and reviews.
Tripadvisor API
Places, hotels and reviews.
Pricing
Credit packs and plans, no per-platform surcharge.
Start pulling Google Maps data today
50 free credits on signup, no card. Your first request is a POST with a query in it.