
local-descriptions
USE FOR getting AI-generated POI text descriptions. Requires POI IDs from local-place-search, or from web-search with resultfilter=locations. Returns markdown descriptions grounded in web search context. Max 20 IDs per request.
- Installs
- 1.1K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/brave/brave-search-skills --skill local-descriptions- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads local-descriptions automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Local Descriptions (Search API)
Requires API Key: Get one at https://api.search.brave.com
Plan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Two-step flow: This endpoint requires POI IDs from a prior search.
- Get POI IDs from
local-place-search, or fromweb-searchwithresult_filter=locations(locations.results[].id)- Pass those IDs to this endpoint to get AI-generated descriptions
Quick Start (cURL)
Get POI Description
curl -s "https://api.search.brave.com/res/v1/local/descriptions?ids=loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA%3D" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
Multiple POIs
curl -s "https://api.search.brave.com/res/v1/local/descriptions" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "ids=loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA=" \
--data-urlencode "ids=loc4HTAVTJKP4RBEBZCEMBI3NG26YD4II4PATIHPDYI="
Note: POI IDs are opaque strings returned in web search locations.results[].id. They are valid for approximately 8 hours. The example IDs above are for illustration — fetch fresh IDs via web-search with result_filter=locations.
Endpoint
GET https://api.search.brave.com/res/v1/local/descriptions
Authentication: X-Subscription-Token: <API_KEY> header
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ids | string[] | Yes | — | POI IDs from web search locations.results[].id (1-20, repeated: ?ids=a&ids=b) |
Response Format
Response Fields
| Field | Type | Description |
|---|---|---|
type | string | Always "local_descriptions" |
results | array | List of description objects (entries may be null) |
results[].type | string | Always "local_description" |
results[].id | string | POI identifier matching the request |
results[].description | string? | AI-generated markdown description, or null if unavailable |
Example Response
{
"type": "local_descriptions",
"results": [
{
"type": "local_description",
"id": "loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA=",
"description": "### Overview\nA cozy neighborhood cafe known for its **artisanal coffee**..."
}
]
}
Getting POI IDs
local-place-search returns POI IDs directly. They also come from the Web Search API (web-search) with result_filter=locations:
# 1. Search for local businesses
curl -s "https://api.search.brave.com/res/v1/web/search?q=restaurants+san+francisco&result_filter=locations" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
# 2. Extract POI IDs from locations.results[].id
# 3. Use those IDs with local/pois and local/descriptions
Use Cases
- Local business overview: Pair with
local-poisto get both structured data (hours, ratings) and narrative descriptions - Travel/tourism enrichment: Add descriptive context to POIs for travel planning or destination guides
- Search results augmentation: Supplement web search results with AI-generated summaries of local businesses
Notes
- Always markdown: Descriptions use
###headings, bullet lists, bold/italics — always formatted as markdown - Travel-guide tone: Typically 200-400 words covering what makes the POI notable
- AI-generated: Descriptions are AI-generated based on web search context, not sourced from business profiles
- Availability: Not all POIs have descriptions —
descriptionmay benull - Max IDs: Up to 20 IDs per request
FAQ
What does the local-descriptions skill do?
USE FOR getting AI-generated POI text descriptions. Requires POI IDs from local-place-search, or from web-search with resultfilter=locations. Returns markdown descriptions grounded in web search context. Max 20 IDs per request.
How do I install local-descriptions?
Run npx skills add https://github.com/brave/brave-search-skills --skill local-descriptions in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/local-descriptions/ (personal) or .claude/skills/local-descriptions/ (project).
Which AI agents can use local-descriptions?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is local-descriptions safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains local-descriptions?
It is published by brave in brave/brave-search-skills, and it is an official skill from the maker of the technology it covers. It has 1,120 recorded installs.
More from brave/brave-search-skills
web-search
brave/brave-search-skills
USE FOR web search. Returns ranked results with snippets, URLs, thumbnails. Supports freshness filters, SafeSearch, Goggles for custom ranking, pagination. Primary search endpoint.
images-search
brave/brave-search-skills
USE FOR image search. Returns images with title, source URL, thumbnail. Supports SafeSearch filter. Up to 200 results.
news-search
brave/brave-search-skills
USE FOR news search. Returns news articles with title, URL, description, age, thumbnail, profile. Supports freshness and date range filtering, SafeSearch filter and Goggles for custom ranking.
llm-context
brave/brave-search-skills
USE FOR RAG/LLM grounding. Returns pre-extracted web content (text, tables, code) optimized for LLMs. GET + POST. Adjust maxtokens/count based on complexity. Supports Goggles, local/POI. For AI answers use answers. Recommended for anyone building AI/agentic applications.
videos-search
brave/brave-search-skills
USE FOR video search. Returns videos with title, URL, thumbnail, duration, view count, creator. Supports freshness filters, SafeSearch, pagination.
answers
brave/brave-search-skills
USE FOR AI-grounded answers via OpenAI-compatible /chat/completions. Two modes: single-search (fast) or deep research (enableresearch=true, thorough multi-search). Streaming/blocking. Citations.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.