検索 API(Web Search)利用ガイド
LiteLLM の検索 API を使って、プログラムから Web 検索を実行する方法を説明します
LiteLLM の検索 API を使って、プログラムから Web 検索を実行できます。 バックエンドには Tavily を使用しています。
エンドポイント
POST /v1/search/tavily-search認証
LiteLLM の API キーを Authorization ヘッダーに指定します。
Authorization: Bearer sk-xxxxxxxxAPI キーは LiteLLM 管理 UI から発行できます。
基本的な使い方
curl
curl -X POST "https://<LiteLLMホスト>/v1/search/tavily-search" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"query": "生成AI 最新動向"
}'Python
import requests
response = requests.post(
"https://<LiteLLMホスト>/v1/search/tavily-search",
headers={
"Authorization": "Bearer sk-xxxxxxxx",
"Content-Type": "application/json",
},
json={
"query": "生成AI 最新動向",
"max_results": 5,
"country": "JP",
},
)
data = response.json()
for result in data["results"]:
print(f"[{result['title']}]({result['url']})")
print(f" {result['snippet']}")TypeScript / JavaScript
const response = await fetch(
"https://<LiteLLMホスト>/v1/search/tavily-search",
{
method: "POST",
headers: {
Authorization: "Bearer sk-xxxxxxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "生成AI 最新動向",
max_results: 5,
country: "JP",
}),
}
);
const data = await response.json();
for (const result of data.results) {
console.log(`${result.title}: ${result.url}`);
}リクエストパラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
query | string | 必須 | — | 検索クエリ |
max_results | int | 任意 | 5 | 取得する検索結果の数(0〜20) |
country | string | 任意 | — | 国コード(JP, US, DE 等) |
topic | string | 任意 | general | 検索カテゴリ(general, news, finance) |
search_depth | string | 任意 | basic | 検索の深さ(basic, advanced)。advanced は結果の質が上がるがコストが 2 倍 |
time_range | string | 任意 | — | 期間フィルタ(day, week, month, year) |
start_date | string | 任意 | — | 開始日フィルタ(YYYY-MM-DD 形式) |
end_date | string | 任意 | — | 終了日フィルタ(YYYY-MM-DD 形式) |
search_domain_filter | string[] | 任意 | — | 含めるドメインのリスト(最大 300) |
exclude_domains | string[] | 任意 | — | 除外するドメインのリスト(最大 150) |
レスポンス形式
{
"object": "search",
"results": [
{
"title": "検索結果のタイトル",
"url": "https://example.com/page",
"snippet": "検索結果の概要テキスト...",
"date": null,
"last_updated": null
}
]
}| フィールド | 型 | 説明 |
|---|---|---|
results | array | 検索結果の配列 |
results[].title | string | ページタイトル |
results[].url | string | ページ URL |
results[].snippet | string | ページ内容の抜粋 |
活用例
ニュース検索(直近 1 週間)
{
"query": "AI規制 法律",
"topic": "news",
"time_range": "week",
"country": "JP",
"max_results": 10
}特定サイト内検索
{
"query": "Azure Container Apps デプロイ",
"search_domain_filter": ["learn.microsoft.com", "techcommunity.microsoft.com"],
"max_results": 5
}金融情報の検索
{
"query": "日経平均 見通し",
"topic": "finance",
"country": "JP"
}期間を指定した検索
{
"query": "LiteLLM リリースノート",
"start_date": "2026-01-01",
"end_date": "2026-04-24"
}コストについて
| 検索モード | 1 クエリあたりのコスト |
|---|---|
basic(デフォルト) | $0.008 |
advanced | $0.016 |
注意事項
- 検索クエリ(
query)は文字列で指定してください。配列で渡した場合はスペース区切りで結合されます search_depth: "advanced"はコストが 2 倍(2 API Credit)になるため、通常はbasicで十分です- Tavily API が対応する
include_answer、include_raw_content、include_images等のパラメータはリクエストとしては受け付けますが、LiteLLM の変換層がレスポンスからtitle、url、snippetの 3 フィールドのみを抽出するため、これらのオプションの結果はレスポンスに含まれません