goplaces · diff
git:20260204.6352c82 to git:20260505.675f4ba
2 added, 2 removed. Audit A to A.
---
name: goplaces
description: Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts.
- homepage: https://github.com/steipete/goplaces
- metadata: {"clawdbot":{"emoji":"📍","requires":{"bins":["goplaces"],"env":["GOOGLE_PLACES_API_KEY"]},"primaryEnv":"GOOGLE_PLACES_API_KEY","install":[{"id":"brew","kind":"brew","formula":"steipete/tap/goplaces","bins":["goplaces"],"label":"Install goplaces (brew)"}]}}
+ homepage: https://github.com/openclaw/goplaces
+ metadata: {"openclaw":{"emoji":"📍","requires":{"bins":["goplaces"],"env":["GOOGLE_PLACES_API_KEY"]},"primaryEnv":"GOOGLE_PLACES_API_KEY","install":[{"id":"brew","kind":"brew","formula":"steipete/tap/goplaces","bins":["goplaces"],"label":"Install goplaces (brew)"}]}}
---
# goplaces
Modern Google Places API (New) CLI. Human output by default, `--json` for scripts.
Install
- Homebrew: `brew install steipete/tap/goplaces`
Config
- `GOOGLE_PLACES_API_KEY` required.
- Optional: `GOOGLE_PLACES_BASE_URL` for testing/proxying.
Common commands
- Search: `goplaces search "coffee" --open-now --min-rating 4 --limit 5`
- Bias: `goplaces search "pizza" --lat 40.8 --lng -73.9 --radius-m 3000`
- Pagination: `goplaces search "pizza" --page-token "NEXT_PAGE_TOKEN"`
- Resolve: `goplaces resolve "Soho, London" --limit 5`
- Details: `goplaces details <place_id> --reviews`
- JSON: `goplaces search "sushi" --json`
Closest place to me
- Get coordinates (prefer device location; otherwise ask for a location).
- Use nearby search with a tight radius and limit:
- `goplaces nearby --lat <lat> --lng <lng> --radius-m 2000 --type cafe --limit 5`
- Pick the top result as the closest match unless distance is explicitly returned in output.
Directions (A → B)
- Always fetch step-by-step walking directions (even if user just says “directions”):
- `goplaces directions --from-place-id <fromId> --to-place-id <toId> --steps --json`
- Prefer place IDs (resolve first if needed):
- `goplaces resolve "Hotel Zelos San Francisco" --json`
- Compare driving ETA alongside walking:
- `goplaces directions --from-place-id <fromId> --to-place-id <toId> --compare drive --steps --json`
- Units default to metric; use `--units imperial` only when explicitly requested.
- Prefer metric output: format from JSON using `distance_meters` (m/km) and `duration_seconds` (mins). Use step `distance_meters` for each step.
- Never paraphrase or reinterpret directions; emit `steps[].instruction` verbatim and do not reword compass directions.
- Always include an Apple Maps link for Apple Watch that starts from current location:
- Resolve destination to lat/lng (use `goplaces resolve --json`).
- Format: `https://maps.apple.com/?daddr=<lat>,<lng>&dirflg=w`.
- Use `dirflg=d` for driving and `dirflg=r` for transit.
- Apple Maps URL scheme does not document cycling; if bicycling is requested, include the Apple Maps link without `dirflg` and note that cycling is not supported in Apple Maps links.
- If the user explicitly asks for a fixed origin, use `saddr=<lat>,<lng>` and note that Apple Maps will open in preview mode (Steps) until they change origin to Current Location.
- `goplaces route` is only for searching places along a route (Routes API), not directions/ETA.
Notes
- `--no-color` or `NO_COLOR` disables ANSI color.
- Price levels: 0..4 (free → very expensive).
- Type filter sends only the first `--type` value (API accepts one).