Skip to content
Research
Skill

/local-place-search

USE FOR finding places in the physical world - businesses, POIs, street addresses, cities and streets. Results carry address, coordinates, rating, opening hours and phone, so basic details need no follow-up call. Standalone - no POI IDs or prior web search required; the IDs it

From plugin
brave-search-skills
17612 skills
Install
$ npx -y skills add brave/brave-search-skills --skill local-place-search --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/local-place-search

Context preview

The summary Claude sees to decide when to auto-load this skill.

USE FOR finding places in the physical world - businesses, POIs, street addresses, cities and streets. Results carry address, coordinates, rating, opening hours and phone, so basic details need no follow-up call. Standalone - no POI IDs or prior web search required; the IDs it

SKILL.md

local-place-search.SKILL.md
name: local-place-search
description: USE FOR finding places in the physical world - businesses, POIs, street addresses, cities and streets. Results carry address, coordinates, rating, opening hours and phone, so basic details need no follow-up call. Standalone - no POI IDs or prior web search required; the IDs it returns work with local-pois and local-descriptions. Locate by coordinates or a location string, or omit both to search globally. Omit the query to browse an area. Max 100 results.

Place Search (Search API)

> **Requires API Key**: Get one at https://api.search.brave.com > > **Plan**: Included in the **Search** plan (with `locations` option). See https://api-dashboard.search.brave.com/app/subscriptions/subscribe > > **Standalone**: Unlike `local-pois` and `local-descriptions`, this endpoint does **not** require POI IDs from a prior web search. You provide a location and an optional query directly.

Quick Start (cURL)

Search by Query + Coordinates

curl -s "https://api.search.brave.com/res/v1/local/place_search" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -G \
  --data-urlencode "q=coffee shops" \
  --data-urlencode "latitude=37.7749" \
  --data-urlencode "longitude=-122.4194" \
  --data-urlencode "radius=5000"

Search by Query + Location String

curl -s "https://api.search.brave.com/res/v1/local/place_search" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -G \
  --data-urlencode "q=sushi restaurants" \
  --data-urlencode "location=tokyo japan" \
  --data-urlencode "country=JP" \
  --data-urlencode "search_lang=en"

Browse General POIs (No Query)

curl -s "https://api.search.brave.com/res/v1/local/place_search" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -G \
  --data-urlencode "latitude=48.8566" \
  --data-urlencode "longitude=2.3522" \
  --data-urlencode "radius=3000" \
  --data-urlencode "country=FR"

Endpoint

GET https://api.search.brave.com/res/v1/local/place_search

**Authentication**: `X-Subscription-Token: <API_KEY>` header

Parameters

Location (optional but recommended)

Providing a geographic anchor improves precision. You can use coordinates (`latitude` + `longitude`) or a `location` string. Omitting both is allowed when a `q` is given — results are sourced globally and may be less precise. Omitting all three (`q`, `latitude`/`longitude`, and `location`) returns HTTP 422.

| Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `latitude` | float | Conditional | — | Latitude (-90.0 to 90.0). Required together with `longitude` | | `longitude` | float | Conditional | — | Longitude (-180.0 to 180.0). Required together with `latitude` | | `location` | string | No | — | Location string, alternative to coordinates. US: `<city> <state> <country>` (e.g., `san francisco ca united states`). Non-US: `<city> <country>` (e.g., `tokyo japan`). Case-insensitive, no commas needed. English or the most popular local language works best |

Search

| Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `q` | string | No | — | Free-text query (e.g., `coffee shops`, `pizza`). Fully optional — if omitted, returns general POIs in the given area |

Additional Options

| Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `radius` | float | No | — | Search radius **bias** around the provided coordinates, in meters. Not a hard cutoff — results may extend beyond it. No upper limit | | `count` | int | No | `20` | Total items returned across **all** buckets (1–100), not just `results` — an address query can spend the whole budget on `addresses`/`streets` | | `geoloc` | string | No | — | User geolocation as `<latitude>x<longitude>` (e.g., `40.7128x-74.0060`), used to compute `distance` | | `country` | string | No | `US` | Search country (2-letter country code or `ALL`) | | `search_lang` | string | No | `en` | Language for search results (2+ char language code) | | `ui_lang` | string | No | `en-US` | UI language (locale code, e.g., `en-US`) | | `units` | string | No | `metric` | Measurement units: `metric` or `imperial` | | `safesearch` | string | No | `strict` | Safe search level: `off`, `moderate`, or `strict` | | `spellcheck` | bool | No | `true` | Whether to apply spellcheck to the query |

Response Format

Top-Level Fields

| Field | Type | Description | |--|--|--| | `type` | string | Always `"locations"` | | `results` | array | List of `LocationResult` objects (individual POIs) | | `cities` | array | Matched cities, `type: "city"` — see Geographic Place Fields | | `countries` | array | Matched countries, `type: "country"` | | `regions` | array | Matched regions, `type: "region"` | | `neighborhoods` | array | Matched neighborhoods, `type: "neighborhood"` | | `addresses` | array | List of `AddressResult` objects with `type: "address"` — specific street + number locations | | `streets` | array | List of `AddressResult` objects with `type: "street"` — entire streets | | `mixed` | array | `ResultReference` ordering hints describing how to interleave the buckets on a SERP | | `location` | object? | Resolved location info | | `location.coordinates` | [float, float] | `[latitude, longitude]` of the resolved center | | `location.name` | string | Resolved location name (e.g., `"Helsinki"`) | | `location.country` | string | Two-letter country code (e.g., `"FI"`) |

Treat a missing bucket as empty. For typical POI-style queries only `results` is populated, so clients that don't render rich SERPs can ignore the rest — except for address- or street-shaped queries, which can return an empty `results` and put every match in `addresses`/`streets`.

LocationResult Fields

Each item in `results` is a `LocationResult`

Read more
Ships withbrave-search-skills

Official skills for using Brave Search API with AI coding agents. Works with Claude Code, Cursor, GitHub Copilot, Codex, Gemini CLI, VS Code, Windsurf, OpenClaw, Cline, Goose, Amp, Roo Code, and many other agents that support the Agent Skills standard.

Get the whole plugin
Stats
176
Stars
14
Forks
Active
Maintenance
MIT
License
4d ago
Last commit
7mo ago
Created

Repo: brave/brave-search-skills

Other skills on brave-search-skills.