Google maps search
Google Maps place search.
Returns places with everything the listing carries: name, address and its
components, coordinates, plus code, categories, rating, phone, website,
opening hours (the full week plus whether it is open right now), the
attribute panel, a thumbnail and the place's total photo count, and the four
identifiers Google uses for it (place_id, feature_id, cid, kg_id).
Where to search. Give latitude/longitude (with zoom or
radius_metres), or a location to resolve, "Brooklyn, New York" costs one
extra call and uses the viewport Google itself picks for that name. With
neither, the query carries it: "bars in hyderabad" lands in Hyderabad
unaided.
How deep it goes. limit up to 200 is served in a single the platform
call, so asking for 200 is cheaper per place than asking for 20 five times.
Past roughly 200-250 results a query+viewport runs dry and has_more turns
false however large limit is, that is the end of Google's ranked corpus
for that frame, not a paging bug. To go deeper, search a smaller viewport
over several centres rather than paging on.
review_count and price_range are served intermittently. Google answers
this surface in two payload tiers chosen per request origin, and the cheaper one
omits both fields; measured 2026-08-19, the full tier landed on roughly one
request in five. require_review_counts retries until it lands (each retry
is a fresh request origin and a fresh request), and meta.review_counts_complete
always states which tier you actually got. A missing count is null, never
0. Setting min_reviews or any price filter turns the retry on
automatically, because those filters cannot be applied to a response that
withholds the field.
Filters are applied to parsed results rather than passed to Google,
which is why min_price/max_price take real numbers: they are matched
against the currency bands Google publishes (₹1,600-1,800), not against
the four `---
description: "Google Maps place search."
title: "Google maps search"
full: true
_openapi:
preload:
- ./openapi/crawlzo.json
method: POST
webhook: false
toc: []
structuredData:
headings: []
contents:
-
content: >- Returns places with everything the listing carries: name, address and its
components, coordinates, plus code, categories, rating, phone, website,
opening hours (the full week plus whether it is open right now), the
attribute panel, a thumbnail and the place's total photo count, and the four
identifiers Google uses for it (
place_id,feature_id,cid,kg_id).Where to search. Give
latitude/longitude(withzoomorradius_metres), or alocationto resolve, "Brooklyn, New York" costs oneextra call and uses the viewport Google itself picks for that name. With
neither, the
querycarries it: "bars in hyderabad" lands in Hyderabadunaided.
How deep it goes.
limitup to 200 is served in a single the platformcall, so asking for 200 is cheaper per place than asking for 20 five times.
Past roughly 200-250 results a query+viewport runs dry and
has_moreturnsfalse however large
limitis, that is the end of Google's ranked corpusfor that frame, not a paging bug. To go deeper, search a smaller viewport
over several centres rather than paging on.
review_count and price_range are served intermittently. Google answers
this surface in two payload tiers chosen per request origin, and the cheaper one
omits both fields; measured 2026-08-19, the full tier landed on roughly one
request in five.
require_review_countsretries until it lands (each retryis a fresh request origin and a fresh request), and
meta.review_counts_completealways states which tier you actually got. A missing count is
null, never0. Settingmin_reviewsor any price filter turns the retry onautomatically, because those filters cannot be applied to a response that
withholds the field.
Filters are applied to parsed results rather than passed to Google,
which is why
min_price/max_pricetake real numbers: they are matchedagainst the currency bands Google publishes (
₹1,600-1,800), not againstthe four
$-levels its own control is limited to. Since a full listingarrives in one call, filtering costs no extra request.
The example response below is real output from this endpoint, not an illustration. Long lists and long strings are shortened to keep the page readable, and each place that happens is marked. This example took 3.7s.
-
-levels its own control is limited to. Since a full listing arrives in one call, filtering costs no extra request.
The example response below is real output from this endpoint, not an illustration. Long lists and long strings are shortened to keep the page readable, and each place that happens is marked. This example took 3.7s.
Authorization
ApiKeyAuth Your API key. Sent on every request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/scrapers/google-maps-search-v4" \ -H "Content-Type: application/json" \ -d '{ "query": "coffee shops", "location": "Brooklyn, New York", "limit": 20, "country": "us" }'{ "request_id": "req_8f2c1d94e7b0", "success": true, "status": { "code": "OK", "message": "Scrape completed.", "retryable": false }, "data": { "count": 20, "has_more": true, "meta": { "elapsed_seconds": 2.617, "returned": 20, "review_counts_complete": false, "scanned": 20, "upstream_calls": 2 }, "next_page": 2, "page": 1, "places": [ { "address": "BROOKLYN PERK Coffee, 605 Flatbush Ave, Brooklyn, NY 11225", "address_lines": [ "605 Flatbush Ave", "Brooklyn, NY 11225" ], "attributes": { "available": { "accessibility": [ "Wheelchair accessible entrance" ] }, "groups": [ { "attributes": [ { "available": true, "id": "/geo/type/establishment_poi/has_wheelchair_accessible_entrance", "label": "Wheelchair accessible entrance", "sentence": "Has wheelchair accessible entrance" }, { "available": false, "id": "/geo/type/establishment_poi/has_wheelchair_accessible_parking", "is_negative": true, "label": "Wheelchair accessible parking lot", "sentence": "No wheelchair accessible parking lot" } ], "id": "accessibility", "label": "Accessibility" } ] }, "categories": [ "Coffee shop" ], "category": "Coffee shop", "cid": "8604861893418805316", "components": { "city": "Brooklyn", "country_code": "US", "neighborhood": "Prospect Lefferts Gardens", "postal_code": "11225", "route": "605 Flatbush Ave", "state": "New York", "street": "605 Flatbush Ave" }, "country_code": "US", "descriptions": [ { "source_id": 1, "text": "Casual coffee shop offering espresso drinks, teas, and pastries, including vegan and gluten-free options." } ], "feature_id": "0x89c25bc8156a8ddb:0x776a9c4d3285e844", "geo_entities": [ { "confidence": 0.75, "name": "Americas" }, { "confidence": 0.75, "name": "Brooklyn Community School District 17" }, "… 13 more items in the full response" ], "google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJ241qFchbwokRROiFMk2canc", "google_type": "SearchResult.TYPE_COFFEE", "hours": { "closes_at": { "hour": 16, "minute": 30 }, "open_now": true, "status": "Open", "status_text": "Open · Closes 5:30 PM", "weekly": [ { "date": "2026-08-23", "day": "Sunday", "day_of_week": 7, "periods": [ { "closes": { "hour": 17, "minute": 30 }, "opens": { "hour": 8, "minute": 0 }, "text": "8 AM–5:30 PM" } ] } ] }, "is_claimed": true, "kg_id": "/g/11h280xq3r", "language": { "primary": "en" }, "location": { "lat": 40.658600899999996, "lng": -73.9603257 }, "name": "BROOKLYN PERK Coffee", "owner": { "id": "116883037736195969811", "name": "BROOKLYN PERK Coffee (Owner)", "photo": "https://lh3.googleusercontent.com/-2Y_EMNkhT5k/AAAAAAAAAAI/AAAAAAAAAAA/zCOuferZ2RA/s44-p-k-no-ns-nd/photo.jpg" }, "phone": { "digits": "+19179669331", "display": "(917) 966-9331", "international": "+1 917-966-9331", "national": "(917) 966-9331", "tel": "tel:+19179669331" }, "photo_count": 243, "photos": [ { "captured_date": "2023-05-01", "height": 4032, "id": "CIHM0ogKEICAgIDRne2VNg", "kind": "Photo", "location": { "lat": 40.65860088384422, "lng": -73.96032573926911 }, "thumbnail_height": 86, "thumbnail_url": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWm3zPJ1sB6yo1RSFt0B1mAskhRH6bAOnNzB7IlIMZsZpq_rrrJHOJZW56Mty0J7R-VFA8FTuVec7BRf-uxYIbSX62os7oDu8FRwQXFqpVzWV5vWL2QntEjD7ApBNLjvg-jF0JBA=w86-h114-k-no", "thumbnail_width": 86, "url": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWm3zPJ1sB6yo1RSFt0B1mAskhRH6bAOnNzB7IlIMZsZpq_rrrJHOJZW56Mty0J7R-VFA8FTuVec7BRf-uxYIbSX62os7oDu8FRwQXFqpVzWV5vWL2QntEjD7ApBNLjvg-jF0JBA=s0", "video_key": "gVkgOBAeHx4", "width": 3024 } ], "place_id": "ChIJ241qFchbwokRROiFMk2canc", "rating": 4.7, "region": "Brooklyn, NY", "search_context": "Cgxjb2ZmZWUgc2hvcHNaDiIMY29mZmVlIHNob3BzkgELY29mZmVlX3Nob3CaASNDaFpEU1VoTk1HOW5TMFZKUTBGblNVTXhhelUzYTBGM0VBReABAPoBBAgTEEg", "street_address": "605 Flatbush Ave, Brooklyn, NY 11225", "timezone": "America/New_York", "vicinity": "Prospect Lefferts Gardens", "website": { "domain": "brooklynperkcoffee.com", "url": "https://www.brooklynperkcoffee.com/" } }, { "address": "Coffee Break Cafe, 11 Winthrop St, Brooklyn, NY 11225", "address_lines": [ "11 Winthrop St", "Brooklyn, NY 11225" ], "attributes": { "available": { "accessibility": [ "Wheelchair accessible entrance" ] }, "groups": [ { "attributes": [ { "available": true, "id": "/geo/type/establishment_poi/has_wheelchair_accessible_entrance", "label": "Wheelchair accessible entrance", "sentence": "Has wheelchair accessible entrance" } ], "id": "accessibility", "label": "Accessibility" } ] }, "categories": [ "Coffee shop", "Cafe" ], "category": "Coffee shop", "cid": "14234216607621322528", "components": { "city": "Brooklyn", "country_code": "US", "neighborhood": "Prospect Lefferts Gardens", "postal_code": "11225", "route": "11 Winthrop St", "state": "New York", "street": "11 Winthrop St" }, "country_code": "US", "feature_id": "0x89c25b885e685641:0xc58a1896a93c1720", "geo_entities": [ { "confidence": 0.75, "name": "Americas" }, { "confidence": 0.75, "name": "Brooklyn Community School District 17" }, "… 12 more items in the full response" ], "google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJQVZoXohbwokRIBc8qZYYisU", "google_type": "SearchResult.TYPE_CAFE", "hours": { "closes_at": { "hour": 16, "minute": 0 }, "open_now": true, "status": "Open", "status_text": "Open · Closes 5 PM", "weekly": [ { "date": "2026-08-23", "day": "Sunday", "day_of_week": 7, "periods": [ { "closes": { "hour": 17, "minute": 0 }, "opens": { "hour": 7, "minute": 30 }, "text": "7:30 AM–5 PM" } ] } ] }, "is_claimed": true, "kg_id": "/g/11yh5r9vhs", "language": { "primary": "en" }, "location": { "lat": 40.6566349, "lng": -73.9596747 }, "name": "Coffee Break Cafe", "owner": { "id": "114566029129907105490", "name": "Coffee Break Cafe (Owner)", "photo": "https://lh3.googleusercontent.com/-xoR8QZ6mjbA/AAAAAAAAAAI/AAAAAAAAAAA/TLZRYjkstyM/s44-p-k-no-ns-nd/photo.jpg" }, "phone": { "digits": "+13479512809", "display": "(347) 951-2809", "international": "+1 347-951-2809", "national": "(347) 951-2809", "tel": "tel:+13479512809" }, "photo_count": 58, "photos": [ { "captured_date": "2025-11-07", "height": 3024, "id": "CIABIhC_r2wVxcGt_VXHYRwkCMIr", "kind": "Photo", "location": { "lat": 40.6565207, "lng": -73.9596782 }, "thumbnail_height": 86, "thumbnail_url": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWmWWupFcBSH1wrPWaNquKePZD4T3DxSssBl41dWFWAotuAI27fwKYPIuuv8TKiRhltoCpGhY2dKwcsRO2YOlU3AX8d-3Hdfub6Sv6G3i_NnDF4uuoS9JFNp2CaM5kQwrR9rTLVyiwCcbPG7=w114-h86-k-no", "thumbnail_width": 86, "url": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWmWWupFcBSH1wrPWaNquKePZD4T3DxSssBl41dWFWAotuAI27fwKYPIuuv8TKiRhltoCpGhY2dKwcsRO2YOlU3AX8d-3Hdfub6Sv6G3i_NnDF4uuoS9JFNp2CaM5kQwrR9rTLVyiwCcbPG7=s0", "video_key": "v1UkYvv_yF4", "width": 4032 } ], "place_id": "ChIJQVZoXohbwokRIBc8qZYYisU", "rating": 4.9, "region": "Brooklyn, NY", "search_context": "Cgxjb2ZmZWUgc2hvcHNaDiIMY29mZmVlIHNob3BzkgEEY2FmZZoBRENpOURRVWxSUVVOdlpFTm9kSGxqUmpsdlQyNWtTV05GT1RCbFdFSkdXV3BTVGt4Vk9XNWtWVnB5VVZaT2VWRllZeEFC4AEA-gEECBgQRQ", "street_address": "11 Winthrop St, Brooklyn, NY 11225", "timezone": "America/New_York", "vicinity": "Prospect Lefferts Gardens", "website": { "domain": "instagram.com", "url": "https://www.instagram.com/coffeebreak.bklyn/" } }, "… 18 more items in the full response" ], "query": "coffee shops", "search": { "available_filters": [ { "id": 3, "label": "Open now" }, { "id": 2, "label": "Top rated" } ], "centre": { "lat": 40.64523145, "lng": -73.94483555000001 }, "query_echo": "coffee shops", "resolved_location": { "latitude": 40.64523145, "longitude": -73.94483555000001, "matched": "Brooklyn, NY", "zoom": 13.1 }, "viewport": { "lat": 40.64523145, "lng": -73.94483555000001, "span_metres": 13852.9943393109, "zoom": 13.1 }, "zoom": 13.1 }, "success": true }, "error": null, "meta": { "client_id": "client_abc123", "scraper": "google-maps-search-v4", "billable": true, "duration_ms": 2812 }}