
Local Descriptions
- 627 installs
- 164 repo stars
- Updated August 3, 2026
- brave/brave-search-skills
local-descriptions is a Brave Search agent skill that fetches AI-generated markdown descriptions for up to 20 POI IDs for developers enriching local landing pages, listings, and geo-targeted SEO content.
About
local-descriptions is a Brave Search API skill in brave-search-skills that turns POI IDs from prior web-search calls into AI-generated markdown business descriptions. The two-step flow requires `web-search` with result_filter=locations to read locations.results[].id values, then GET https://api.search.brave.com/res/v1/local/descriptions with up to 20 ids per request and X-Subscription-Token authentication on the Search plan. Responses return local_description objects with 200-400 word travel-guide tone copy using markdown headings, bullets, and emphasis; description may be null when unavailable. POI IDs are opaque strings valid for roughly eight hours. Developers reach for local-descriptions when building location pages, tourism guides, or local SEO templates that need narrative POI copy grounded in Brave web-search context rather than hand-written blurbs for every listing.
- Brave Search local place data
- Geo-specific page enrichment
- Listing and snippet sourcing
- Agent-callable search API
- Location-page copy acceleration
Local Descriptions by the numbers
- 627 all-time installs (skills.sh)
- Ranked #675 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/brave/brave-search-skills --skill local-descriptionsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 627 |
|---|---|
| repo stars | ★ 164 |
| Last updated | August 3, 2026 |
| Repository | brave/brave-search-skills ↗ |
How do you get AI local business descriptions from Brave?
Pull Brave Search local business descriptions and place metadata to enrich location pages, listings, and geo-targeted landing copy during SEO content production.
Who is it for?
Developers building local SEO pages or travel guides who already use Brave web-search POI IDs and need batch AI-generated place descriptions via API.
Skip if: Developers who need structured hours and ratings without a prior web-search step, or POI batches larger than 20 IDs per request.
When should I use this skill?
The user has Brave POI IDs from web-search and needs AI-generated markdown descriptions for location or listing pages.
What you get
JSON local_descriptions response with markdown description text per POI id, or null when unavailable.
- Markdown POI descriptions JSON
- Enriched location page copy
By the numbers
- Max 20 POI IDs per local/descriptions request
- Descriptions typically run 200-400 words in markdown
- POI IDs remain valid for approximately 8 hours
Files
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 web search.
>
1. Callweb-searchwithresult_filter=locationsto get POI IDs fromlocations.results[].id
2. 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/descriptionsAuthentication: 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
POI IDs 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/descriptionsUse 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
Related skills
How it compares
Choose local-descriptions for narrative POI markdown after Brave location search when structured hours and ratings from local-pois are also needed in parallel.
FAQ
How do you obtain POI IDs for local-descriptions?
local-descriptions requires POI IDs from a prior Brave web-search call using result_filter=locations. Extract locations.results[].id values, then pass up to 20 ids to GET /res/v1/local/descriptions.
How many POI IDs can local-descriptions request at once?
local-descriptions accepts 1 to 20 POI ids per request as repeated ids query parameters. Descriptions are AI-generated markdown, typically 200-400 words, and may be null when unavailable.