Google Maps area search
Search Google Maps for businesses near a specific latitude/longitude. Useful for exhaustive geographic coverage where IP-based location guessing would be unreliable.
POST
/v1/googlemaps/area Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| latitude | body | number | Yes | Center latitude (-90 to 90). |
| longitude | body | number | Yes | Center longitude (-180 to 180). |
| query | body | string | Yes | Search query (e.g. 'dentists', 'coffee shops'). Combined with latitude/longitude to search a specific area. |
| maxResults | body | number | No | Maximum results to return. Defaults to 100. |
| zoom | body | number | No | Map zoom level (3 to 21). Higher values search a tighter area. Defaults to 14 (~city block scale). |
Response Structure
Async kickoff response
Polled run result response
Sync response
Declared output schema
Code Examples
Async + polling
RUN=$(curl -s -X POST "https://api.browsable.app/v1/googlemaps/area" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":51.5074,"longitude":-0.1278,"query":"London","maxResults":100,"zoom":14}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
POLL_DELAY=3
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [[ "$STATUS" =~ ^(succeeded|failed|errored|cancelled|canceled|expired)$ ]]; then
echo "$RESULT"
break
fi
sleep "$(awk "BEGIN { print $POLL_DELAY * (0.9 + ($RANDOM % 21) / 100) }")"
POLL_DELAY=$((POLL_DELAY < 30 ? POLL_DELAY * 2 : 30))
[ "$POLL_DELAY" -gt 30 ] && POLL_DELAY=30
doneSync
curl -X POST "https://api.browsable.app/v1/googlemaps/area" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":51.5074,"longitude":-0.1278,"query":"London","maxResults":100,"zoom":14,"_run":{"async":false}}'