home / skills / openclaw / skills / goplaces

goplaces skill

/skills/steipete/goplaces

This skill helps you query Google Places API via a CLI for human-friendly results or JSON output for scripting.

npx playbooks add skill openclaw/skills --skill goplaces

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
1.3 KB
---
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)"}]}}
---

# 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`

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).

Overview

This skill provides a command-line interface to the modern Google Places API (New) for quick human-friendly lookups or machine-friendly JSON output. It supports text search, place resolution, place details (including reviews), location biasing, pagination, and output formatting options. Use it interactively or in scripts with simple flags.

How this skill works

The goplaces CLI sends requests to the Google Places API using an API key set in the environment (GOOGLE_PLACES_API_KEY). By default it prints readable, colorized summaries; add --json to receive raw JSON suitable for piping or automation. Commands include search for text queries, resolve for ambiguous place names, and details for full place records and reviews. Pagination is handled via page tokens and flags like --limit, while biasing is done with --lat/--lng and --radius-m.

When to use it

  • Quickly find nearby businesses or attractions from a terminal.
  • Scripted place lookups that need JSON output for downstream processing.
  • Resolving ambiguous place names to specific Google Place IDs.
  • Fetching detailed place data and reviews for analysis or display.
  • Testing or proxying requests using a custom base URL.

Best practices

  • Set GOOGLE_PLACES_API_KEY in your environment and keep it private.
  • Use --json when integrating into scripts to avoid parsing terminal output.
  • Bias searches with --lat and --lng (and --radius-m) to improve relevance.
  • Respect API limits: use --limit and pagination tokens rather than broad queries.
  • Disable color with --no-color or NO_COLOR in non-interactive environments.
  • When filtering by type, provide only one --type value since the API accepts a single type.

Example use cases

  • Find top-rated coffee shops open now: goplaces search "coffee" --open-now --min-rating 4 --limit 5
  • Retrieve place details and reviews for a place_id: goplaces details <place_id> --reviews
  • Resolve a neighborhood name to candidate places: goplaces resolve "Soho, London" --limit 5
  • Run automated lookups in a script and parse JSON: goplaces search "sushi" --json
  • Bias searches to a city area: goplaces search "pizza" --lat 40.8 --lng -73.9 --radius-m 3000

FAQ

What environment variables are required?

Set GOOGLE_PLACES_API_KEY. Optionally set GOOGLE_PLACES_BASE_URL to test against a proxy or staging endpoint.

How do I get machine-readable output?

Pass --json to any command to receive raw JSON suitable for scripts and pipelines.