local-descriptions について
local-descriptionsは、ローカル検索結果に文章による説明を加えるBrave Search APIのエンドポイントです。事前の検索で得たPOI IDに対し、AI生成のMarkdown説明を返しますが、説明がない場所もあります。
主な機能
- 01POI IDによる場所の説明取得
- 02AI生成Markdownの返却
- 03複数の場所をまとめて検索
- 04説明が取得できない場合あり
活用シーン
- 01店舗検索結果への説明追加
- 02旅行計画への場所情報の追加
- 03構造化された場所情報との併用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ brave/ brave-search-skills --skill local-descriptionsインストール後、Claude Code で/local-descriptionsを入力して読み込まれたか確認します。
詳細
ローカルの説明(検索 API)
API キーが必要です:https://api.search.brave.com で取得してください。
プラン:Search プランに含まれています。https://api-dashboard.search.brave.com/app/subscriptions/subscribe をご覧ください。
2 段階のフロー:このエンドポイントを利用するには、事前の検索で取得した POI ID が必要です。
local-place-search、またはresult_filter=locationsを指定したweb-search(locations.results[].id)から POI ID を取得します。- その ID をこのエンドポイントに渡すと、AI が生成した説明を取得できます。
クイックスタート(cURL)
POI の説明を取得
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}"
複数の POI
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="
注:POI ID は、ウェブ検索で返される不透明な文字列 locations.results[].id です。有効期間は約 8 時間です。上記の ID は例示用です。result_filter=locations を指定した web-search で新しい ID を取得してください。
エンドポイント
GET https://api.search.brave.com/res/v1/local/descriptions
認証:X-Subscription-Token: <API_KEY> ヘッダー
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
ids | string[] | はい | — | ウェブ検索の locations.results[].id から取得した POI ID(1~20 個。繰り返し指定:?ids=a&ids=b) |
レスポンス形式
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
type | string | 常に "local_descriptions" |
results | array | 説明オブジェクトのリスト(エントリが null の場合があります) |
results[].type | string | 常に "local_description" |
results[].id | string | リクエストに対応する POI 識別子 |
results[].description | string? | AI が生成した Markdown 形式の説明。利用できない場合は null |
レスポンス例
{
"type": "local_descriptions",
"results": [
{
"type": "local_description",
"id": "loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA=",
"description": "### Overview\nA cozy neighborhood cafe known for its **artisanal coffee**..."
}
]
}
POI ID の取得方法
local-place-search は POI ID を直接返します。また、result_filter=locations を指定した Web Search API(web-search)からも取得できます。
# 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
ユースケース
- 地域のビジネス概要:
local-poisと組み合わせて、構造化データ(営業時間、評価)と説明文の両方を取得します。 - 旅行・観光情報の拡充:旅行の計画や目的地ガイドに役立つ説明を POI に追加します。
- 検索結果の拡充:地域のビジネスに関する AI 生成の要約で、ウェブ検索結果を補足します。
注記
- 常に Markdown 形式:説明には
###見出し、箇条書き、太字/斜体 が使われ、常に Markdown 形式で整えられています。 - 旅行ガイド風の文体:通常 200~400 語で、POI の注目すべき点を紹介します。
- AI 生成:説明はウェブ検索のコンテキストに基づいて AI が生成したもので、ビジネスプロフィールから取得したものではありません。
- 利用可否:すべての POI に説明があるわけではありません。
descriptionがnullの場合があります。 - ID の上限:1 リクエストあたり最大 20 個の ID を指定できます。
コメント
Markdown 対応