For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

ウェブ検索

モデルが応答を生成する前に、ウェブ検索で最新情報を取得できるようにします。

ウェブ検索を使うと、モデルはインターネットから最新情報を取得し、出典を示して回答できます。この機能を有効にするには、Responses API のウェブ検索ツールを使用します。一部のケースでは Chat Completions でも利用できます。

質問の内容に応じて検索方法を選んでください。

  • 特定の事実を手早く確認したい場合は、その事実を検索して出典を示すようモデルに依頼します。
  • 回答に複数の情報源が必要な場合は、gpt-6-astra などのリーズニングモデルを使用します。モデルは検索結果を読みながら、次の検索の条件を調整できます。処理に数分かかる可能性のあるリクエストには、バックグラウンドモードを使用してください。

統合方法の選択

用途 推奨する方法 補足
ウェブ検索の新規統合 Responses API で web_search と gpt-6-astra を使用 ホスト型ウェブ検索でドメインの絞り込み、情報源の取得、ライブアクセスの制御、長時間の調査が可能
Chat Completions による既存の検索統合 Chat Completions で gpt-5-search-api を使用 Chat Completions による統合を維持する必要がある場合にのみ使用
複数ステップの調査や時間のかかるレポート作成 gpt-6-astra の推論強度を high または xhigh に設定 作成に数分かかる可能性があるレポートにはバックグラウンドモードを使用

Responses API では、コンテンツを生成する API リクエストの tools 配列にウェブ検索ツールを指定すると、ウェブ検索が有効になります。他のツールと同様に、モデルは入力プロンプトの内容に応じて検索するかどうかを判断できます。

Responses API を新たに統合する場合は、{ "type": "web_search" } を使用してください。従来の web_search_preview ツールは既存の統合で引き続き利用できますが、filters、external_web_access、return_token_budget などの新しい設定には対応していません。

ウェブ検索ツールの使用例
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  tools: [{ type: "web_search" }],
  input: "What was a positive news story from today?",
});

console.log(response.output_text);

出力と引用

ウェブ検索ツールを使用したモデルの応答には、次の 2 つの項目が含まれます。

  • web_search_call 出力項目には、検索呼び出しの ID と、実行したアクションを示す web_search_call.action が含まれます。アクションは次のいずれかです。
    • search はウェブ検索を表します。通常は検索に使用したクエリが queries に含まれますが、含まれない場合もあります。検索アクションにはツール呼び出し料金がかかります(料金を参照)。
    • open_page はページを開くアクションです。リーズニングモデルで利用できます。
    • find_in_page はページ内を検索するアクションです。リーズニングモデルで利用できます。
  • message 出力項目には、次の内容が含まれます。
    • 応答テキストを格納する message.content[0].text
    • 引用した URL のアノテーションを格納する message.content[0].annotations

デフォルトでは、モデルの応答に、ウェブ検索結果の URL を示すインライン引用が含まれます。また、url_citation アノテーションオブジェクトには、出典の URL とタイトル、および応答内の引用位置が含まれます。

インターフェースにウェブ検索結果やそこから得た情報を表示する場合は、インライン引用を、ひと目でわかるクリック可能なリンクとして表示する必要があります。

[
  {
    "type": "web_search_call",
    "id": "ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609",
    "status": "completed",
    "action": {
      "type": "search",
      "query": "latest news about AI"
    }
  },
  {
    "id": "msg_67c9fa077e288190af08fdffda2e34f20be649c1a5ff9609",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "output_text",
        "text": "On March 6, 2025, several news...",
        "annotations": [
          {
            "type": "url_citation",
            "start_index": 2606,
            "end_index": 2758,
            "url": "https://...",
            "title": "Title..."
          }
        ]
      }
    ]
  }
]

従来のウェブ検索からの移行

現在の構成 推奨する移行方法 補足
Responses で web_search_preview を使用 web_search に移行 web_search は filters、external_web_access、return_token_budget などの新しい設定に対応
gpt-4o-search-preview または gpt-4o-mini-search-preview を使用 Responses の web_search に移行。Chat Completions を継続する必要がある場合は gpt-5-search-api を使用 プレビュー版の検索モデルは非推奨となり、2026 年 7 月 23 日に提供終了
Chat Completions による検索統合 gpt-5-search-api を使用。より細かくツールを設定したい場合や検索を任意にしたい場合は、Responses の web_search に移行 Chat Completions の検索モデルは応答前に必ず検索を実行。Responses では検索をツールとして使用
Responses で o4-mini を使用 web_search に対応するリーズニングモデルに移行 このモデルは 2026 年 10 月 23 日に提供終了

既存の統合で引き続き gpt-5 を使用する場合、ウェブ検索を利用するには、推論強度を minimal より高く設定する必要があります。

検索コンテキストのサイズ

search_context_size は、モデルが応答を生成する前に、ウェブ検索結果からどれだけの情報をコンテキストとして利用できるかを制御します。必要な情報が数点に限られる検索には low、バランスの取れた標準設定には medium、回答に検索結果の詳しい情報が必要になりそうな場合は high を使用します。この設定でトークン数を厳密に指定することはできず、情報源や引用の件数も保証されません。

検索コンテキストのサイズ設定
import OpenAI from "openai";
const openai = new OpenAI();

const response = await openai.responses.create({
  model: "gpt-6-astra",
  tools: [
    {
      type: "web_search",
      search_context_size: "low",
    },
  ],
  input: "What movie won best picture in 2025?",
});
console.log(response.output_text);

長時間のウェブ調査

調査で非公開の記録も参照する場合は、公開ウェブの検索と MCP を使った非公開の記録の照会を別々のリクエストで実行してください。

return_token_budget は、Responses API で GPT-5 以降のリーズニングモデルを使って検索する際に、ツールが返せるウェブ検索結果の量を制御します。ほとんどのリクエストではデフォルトのままにしてください。多くのページを確認する必要がある入念な調査や評価で、返却トークン数の標準上限に達して途中で止まるおそれがある場合にのみ、unlimited に設定します。

unlimited を使うと所要時間とコストが増える可能性があるため、必要な場合に限って使用してください。検索を複数回行う長時間のタスクには、バックグラウンドモード(background: true)を使用します。これにより、リクエストの処理を非同期で継続し、後から最終応答を取得できます。

値 動作
default ウェブ検索結果の返却トークン数に標準上限を適用します。return_token_budget を省略した場合と同じ動作です。
unlimited そのウェブ検索で返せるトークン数の標準上限を解除します。

このパラメータが適用されるのは、Responses API のホスト型 web_search ツールで GPT-5 以降のモデルによる推論を使ったウェブ検索を実行する場合のみです。検索のコンテキストウィンドウは変わりません。推論を使わないウェブ検索、従来の Search API 経由の検索、コンテナでのウェブ検索、Chat Completions の検索モデル、web_search_preview には適用されません。指定できる値は default と unlimited のみです。null、数値、それ以外の文字列は拒否されます。

長時間のウェブ検索の実行
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning": { "effort": "xhigh" },
    "tools": [
      {
        "type": "web_search",
        "return_token_budget": "unlimited"
      }
    ],
    "input": "Research the economic impact of semaglutide on global healthcare systems.\n\nDo:\n- Include specific figures, trends, statistics, and measurable outcomes.\n- Prioritize reliable, up-to-date sources: peer-reviewed research, health organizations (e.g., WHO, CDC), regulatory agencies, or pharmaceutical earnings reports.\n- Include inline citations and return all source metadata.\n\nBe analytical, avoid generalities, and ensure that each section supports data-backed reasoning that could inform healthcare policy or financial modeling."
  }'

ドメインによる絞り込み

ウェブ検索では、検索結果の対象を特定のドメインに限定できます。filters パラメータでは、allowed_domains に最大 100 件の許可ドメイン、または blocked_domains に最大 100 件の除外ドメインを指定できます。ドメインを指定する際は、先頭の HTTP または HTTPS を省略してください。たとえば、openai.com と指定します。https://openai.com/ という形式は使用しません。指定したドメインのサブドメインにも同じ設定が適用されます。ドメインによる絞り込みは、Responses API の web_search ツールでのみ利用できます。

情報源

ウェブ検索で取得したすべての URL を確認するには、sources フィールドを使用します。インライン引用が示すのは特に関連性の高い出典のみですが、sources にはモデルが応答を生成する際に参照したすべての URL が含まれます。 情報源の件数は引用の件数を上回ることがよくあります。サードパーティのリアルタイムフィードもここに表示され、oai-sports、oai-weather、oai-finance のいずれかのラベルが付きます。sources フィールドは web_search と web_search_preview のどちらのツールでも利用できます。

情報源の一覧取得
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "reasoning": { "effort": "low" },
    "tools": [
      {
        "type": "web_search",
        "filters": {
          "allowed_domains": [
            "pubmed.ncbi.nlm.nih.gov",
            "clinicaltrials.gov",
            "www.who.int",
            "www.cdc.gov",
            "www.fda.gov"
          ],
          "blocked_domains": [
            "reddit.com",
            "quora.com",
            "wikipedia.org"
          ]
        }
      }
    ],
    "tool_choice": "auto",
    "include": ["web_search_call.action.sources"],
    "input": "Please perform a web search on how semaglutide is used in the treatment of diabetes."
  }'

画像検索の結果

ウェブ検索では、通常のテキスト検索結果とともに画像検索結果も取得できます。商品写真、ランドマーク、場所、イベントの画像や参考画像など、最新の画像やウェブ上の情報に基づく画像がアプリケーションで必要な場合は、画像検索を使用してください。

画像検索を使用するには、search_content_types に image を含めます。取得した画像をモデルが要約、順位付け、説明する際に役立つテキスト検索結果も必要な場合は、text を追加してください。

画像検索固有の動作は image_settings で設定します。

  • max_results:取得したい画像検索結果の件数を正の数で指定します。
  • caption:画像の短い説明がある場合に、その取得を要求します。

画像検索結果をそのまま確認するには、リクエストに web_search_call.results を含め、応答から web_search_call.results[] を読み取ります。画像検索結果はアシスタントのメッセージとは別に返されるため、アプリケーションで URL やメタデータが必要な場合は、web_search_call 項目を直接解析してください。

画像検索
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  reasoning: { effort: "low" },
  tools: [
    {
      type: "web_search",
      search_content_types: ["image", "text"],
      image_settings: {
        max_results: 3,
        caption: true,
      },
    },
  ],
  include: ["web_search_call.results"],
  input:
    "Search for recent images and supporting text sources about the Golden Gate Bridge at sunset.",
});

console.log(response.output);

各 image_result には、次の項目が含まれます。

  • image_url:検索結果の画像の正規 URL
  • source_website_url:画像が見つかったページの URL
  • thumbnail_url:サムネイルの URL(取得できる場合)
  • caption:短いキャプションまたは説明(取得できる場合)
{
  "output": [
    {
      "type": "web_search_call",
      "status": "completed",
      "results": [
        {
          "type": "image_result",
          "image_url": "https://cdn.example/golden-gate-sunset.jpg",
          "thumbnail_url": "https://cdn.example/golden-gate-sunset-thumb.jpg",
          "source_website_url": "https://example.com/source-page",
          "caption": "Golden Gate Bridge at sunset"
        }
      ]
    }
  ]
}

ユーザーの位置情報

地域に応じて検索結果を絞り込むには、国、都市、地域、タイムゾーンのうち 1 つ以上を使って、ユーザーのおおよその位置を指定できます。

  • city と region には、それぞれ Minneapolis、Minnesota のような任意の文字列を指定します。
  • country には、2 文字の ISO 国コード(例:US)を指定します。
  • timezone には、IANA タイムゾーン(例:America/Chicago)を指定します。
ユーザーの位置情報の指定
import OpenAI from "openai";
const openai = new OpenAI();

const response = await openai.responses.create({
  model: "gpt-6-astra",
  tools: [
    {
      type: "web_search",
      user_location: {
        type: "approximate",
        country: "GB",
        city: "London",
        region: "London",
      },
    },
  ],
  input: "What are the best restaurants near me?",
});
console.log(response.output_text);

インターネットへのライブアクセス

Responses API では、ウェブ検索ツールがインターネットからその場でコンテンツを取得するか、キャッシュ済みまたはインデックス登録済みの結果だけを使用するかを指定できます。

  • external_web_access: false を web_search ツールに設定すると、オフラインモードで動作し、キャッシュのみを使用します。
  • 省略した場合のデフォルトは true(ライブアクセス)です。
  • プレビュー版(web_search_preview)はこのパラメータを無視し、external_web_access が true の場合と同じように動作します。
インターネットへのライブアクセスの制御
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "tools": [
      { "type": "web_search", "external_web_access": false }
    ],
    "tool_choice": "auto",
    "input": "Find when the Eiffel Tower opened to the public and cite the source."
  }'

制限事項

Chat Completions API

Chat Completions API でウェブ検索を利用できるのは、検索専用モデルのみです。これらのモデルは、ドメインによる絞り込み、情報源の全件取得、ライブアクセスの制御、返却トークン数の上限設定といった Responses API の web_search 機能には対応していません。

モデル コンテキストウィンドウ 制限事項
gpt-5-search-api 200k Chat Completions 経由で検索モデルを使用

Responses API

ホスト型の web_search ツールを使用してください。Responses API は既存の統合向けに引き続き web_search_preview を受け付けますが、新規の統合には web_search を使用してください。

使用するモデルのコンテキストウィンドウが大きくても、ウェブ検索のコンテキストウィンドウの上限は 128k です。gpt-6-astra やその他の対応モデルのコンテキスト上限は、各モデルのページで確認してください。

  • gpt-5.4 の推論強度を none に設定すると、結果の品質が低下する場合があります。
  • Responses API のウェブ検索には、使用するモデルの利用ティア別レート制限が適用されます。
  • web_search_preview は filters と return_token_budget に対応しておらず、external_web_access を無視します。
  • tool_choice: "auto" の場合、検索は任意です。検索を必ず実行する必要がある場合は、tool_choice: "required" を使用するか、使用するウェブ検索ツールを明示的に指定してください。

利用上の注意

対応 APIレート制限補足

ツールと併用するモデルの利用ティア別レート制限と同じです。

料金
ZDR とデータレジデンシー