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" is slower 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" is slower and uses the viewport Google itself picks for that name. Withneither, 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 adds no latency.
-
-levels its own control is limited to. Since a full listing arrives in one call, filtering adds no latency.
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 }, "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 }}