Browsable Browsable Docs

Google Maps place

Fetch full details for a single Google Maps place — name, rating, category, description, address, phone, website, plus code, opening hours, and coordinates.

POST /v1/googlemaps/place

Request Parameters

Name In Type Required Description
placeUrl body string No Full Google Maps place URL (e.g. https://www.google.com/maps/place/...). Preferred — supply from a prior search result.
query body string No Search query if no placeUrl. The first matching result is used.

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/place" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"placeUrl":"https://example.com/item-1","query":"London"}')
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
done

Sync

curl -X POST "https://api.browsable.app/v1/googlemaps/place" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"placeUrl":"https://example.com/item-1","query":"London","_run":{"async":false}}'