GAI生成AIアプリドキュメント

検索 API(Web Search)利用ガイド

LiteLLM の検索 API を使って、プログラムから Web 検索を実行する方法を説明します

LiteLLM の検索 API を使って、プログラムから Web 検索を実行できます。 バックエンドには Tavily を使用しています。

エンドポイント

POST /v1/search/tavily-search

認証

LiteLLM の API キーを Authorization ヘッダーに指定します。

Authorization: Bearer sk-xxxxxxxx

API キーは 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}`);
}

リクエストパラメータ

パラメータ必須デフォルト説明
querystring必須検索クエリ
max_resultsint任意5取得する検索結果の数(0〜20)
countrystring任意国コード(JP, US, DE 等)
topicstring任意general検索カテゴリ(general, news, finance
search_depthstring任意basic検索の深さ(basic, advanced)。advanced は結果の質が上がるがコストが 2 倍
time_rangestring任意期間フィルタ(day, week, month, year
start_datestring任意開始日フィルタ(YYYY-MM-DD 形式)
end_datestring任意終了日フィルタ(YYYY-MM-DD 形式)
search_domain_filterstring[]任意含めるドメインのリスト(最大 300)
exclude_domainsstring[]任意除外するドメインのリスト(最大 150)

レスポンス形式

{
  "object": "search",
  "results": [
    {
      "title": "検索結果のタイトル",
      "url": "https://example.com/page",
      "snippet": "検索結果の概要テキスト...",
      "date": null,
      "last_updated": null
    }
  ]
}
フィールド説明
resultsarray検索結果の配列
results[].titlestringページタイトル
results[].urlstringページ URL
results[].snippetstringページ内容の抜粋

活用例

ニュース検索(直近 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_answerinclude_raw_contentinclude_images 等のパラメータはリクエストとしては受け付けますが、LiteLLM の変換層がレスポンスから titleurlsnippet の 3 フィールドのみを抽出するため、これらのオプションの結果はレスポンスに含まれません

On this page