KYC不要 — 身分証もセルフィーも書類も不要。暗号資産で支払い: BTC, USDT, USDC, ETH, SOL, LTC
言語: 日本語
APIキーを取得

Docs · API reference

レスポンス形式:検索結果の全フィールドを解説

検索の応答は1つのJSONオブジェクトです。呼び出しに関するいくつかのフィールドと、ランク付けされたresults配列で構成されます。各結果にはページを読み取ったかどうかが示され、読み取った場合は本文が含まれます。ここでは全フィールドを、エージェントが処理すべきステータスとともに説明します。

最終更新:

クイック回答

LLMWebSearch APIは検索で何を返しますか?

LLMWebSearchは、query、created_at、credits_usedとランク付けされたresults配列を含むJSONを返します。各結果には順位、タイトル、URL、ホスト、スニペット、およびcontent_statusが付きます。okの場合、ページの本文はcontentにword_countとともに含まれます。最大3ページを読み取る検索1回で1クレジット、2026年10月時点の$1.20/1K検索から。KYC不要、暗号資産で支払い。

呼び出しを表すフィールドはどれですか?

/searchレスポンスのトップレベルです。

フィールド型意味
querystring実際に実行した検索クエリ(前後の空白を除去したもの)
created_atstring検索を実行した日時、UTCのISO 8601形式
credits_usedinteger呼び出しのコスト:1、またはreadが4〜10の場合は2
resultsarrayランク付けされた結果(上位が先頭)、最大max_results件

各結果にはどのフィールドが含まれますか?

ページまたは検索結果が提供しないフィールドは、空で送信するのではなく省略されます。

フィールド型含まれる場合意味
positioninteger常に検索順位(1から開始)
titlestring常に結果のタイトル
urlstring常にページのアドレス
hoststring常にページのホスト名。グループ化や引用に便利
snippetstring常に検索が表示する短い抜粋
published_atstring日付が判明している場合ページまたは検索結果から取得した公開日
content_statusstring常にページを読み取れたか、読み取れなかった場合はその理由
contentstringcontent_status が ok の場合Markdownまたはプレーンテキスト形式の本文。max_chars で切り詰め
word_countintegercontent_status が ok の場合抽出された全文の単語数。切り詰め前にカウント
target_statusintegertarget_refused を含む場合サイトが返したHTTPステータス(403や429など)

各 content_status の意味は?

これらはいずれも検索の価格を変えません。1つのページについての情報であり、呼び出し全体についてではありません。

content_status意味エージェントが取るべき対応
okページを読み取り済み。content に本文が入っていますそのまま利用し、url を引用する
not_requested結果が read の件数を超えているread を増やすか、必要なら /extract 経由で読み取る
blocked_by_robotsこのページではサイトのrobots.txtがリーダーのアクセスを許可していませんスニペットまたは別のソースを利用する
blocked_by_site_policyサイトが Content-Signal: ai-input=no を宣言していますスニペットまたは別のソースを利用する
target_refusedサイトがリクエストを拒否しました。target_status を参照このページは再試行せず、別のソースを使う
fetch_failedDNS、TLS、接続エラー、またはページが存在しない別の結果を試す。後で再試行すると成功する場合があります
fetch_timeoutページが15秒以内に応答しませんでした別の結果を試す。後で再試行すると成功する場合があります
unsupported_contentリンクがテキストに変換できないファイルであるスニペットまたは別の結果を利用する

完全なレスポンスはどのような形ですか?

以下の例では5件の結果を要求し、最初の4件を読み取ったため、2クレジットのコストがかかりました。結果1と3は読み取り済みです。結果2はrobots.txtがリーダーのアクセスを拒否しているサイトのもので、結果4はリクエストが拒否され、結果5は read の範囲を超えています。タイトル、URL、値は例示です。

POST /search レスポンス(例示)
{
  "query": "how to rotate api keys without downtime",
  "created_at": "2026-10-22T10:15:04Z",
  "credits_used": 2,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/security/key-rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it everywhere, then revoke the first one.",
      "published_at": "2026-09-30",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key.\n2. Deploy it to every service.\n3. Revoke the old key.",
      "word_count": 948
    },
    {
      "position": 2,
      "title": "Key rotation checklist",
      "url": "https://blog.example.org/key-rotation-checklist",
      "host": "blog.example.org",
      "snippet": "Keep two keys active during the switch and alert on the old one.",
      "content_status": "blocked_by_robots"
    },
    {
      "position": 3,
      "title": "Secrets management basics",
      "url": "https://security.example.net/secrets-basics",
      "host": "security.example.net",
      "snippet": "Never commit keys to a repository.",
      "content_status": "ok",
      "content": "# Secrets management basics\n\n**Never** commit keys to a repository.",
      "word_count": 1310
    },
    {
      "position": 4,
      "title": "Key management service guide",
      "url": "https://cloud.example.com/kms-guide",
      "host": "cloud.example.com",
      "snippet": "Store keys in a managed vault and rotate them on a schedule.",
      "content_status": "target_refused",
      "target_status": 403
    },
    {
      "position": 5,
      "title": "API key best practices",
      "url": "https://dev.example.com/api-key-best-practices",
      "host": "dev.example.com",
      "snippet": "Scope each key to one service and one environment.",
      "content_status": "not_requested"
    }
  ]
}

どの結果が not_requested 以外のページステータスになるのか?

最初のread件の結果と、/extract呼び出しの全項目です。これらはリーダーが実際に試したページです。read件以降はすべてnot_requestedのままで、サイトがどう応答したとしても変わりません。

順序は決して変わりません。リーダーは1、2、3…という位置で処理し、失敗した前の結果の代わりに後ろの結果を使うことはありません。エージェントが拒否されたページの代替を必要とする場合は、/extractで次の結果を読むことができます。

extractのレスポンスはどのような形ですか?

/extractは送信したURLの順にcredits_usedとresults配列を返します。各項目にはurlとcontent_statusが含まれます。okを付けるとtitle、content、word_countが追加され、target_refusedを付けるとtarget_statusが追加されます。検索は実行されないため、position、host、snippetはありません。

extractリファレンスには完全な例と、クレジットの計算方法が記載されています。

検索結果をモデル用のコンテキストに変換するには?

ソースに番号を付け、それぞれの横にURLを置き、モデルに必要なものだけを渡します。コンパクトなレイアウトが効果的です。[1] title — url、そのページの内容、次に次のソース、という順です。モデルには同じ番号で引用するよう指示してください。

結果に内容がない場合は、代わりにそのスニペットを渡し、スニペットにすぎないと伝えます。これにより、モデルが見ていないページに基づく回答を避けられます。Pythonページには、これをトークン予算内で行う短いループがあります。

レスポンス形式:よくある質問

内容は常にMarkdownですか?

デフォルトはMarkdownです。マークアップなしのプレーンテキストが必要な場合、たとえば単語数を数えるだけやページを分類する場合は、format: "text"を送信してください。フィールド名はcontentのままです。

一部の結果でpublished_atが欠けているのはなぜですか?

日付を明示していないページが多く、検索結果にも表示されないことがあります。その場合はフィールド自体が省略されるため、使用する前に存在を確認してください。

新しいフィールドが後から追加されることはありますか?

はい。バージョン1ではフィールドが追加されることはありますが、名前が変更されたり削除されたりすることはありません。パーサーは未知のフィールドを無視するよう記述してください。

内容はそちら側に保存されますか?

いいえ。当社はあなたの検索クエリやAPIが返す内容でモデルを学習させることはなく、結果の保存を禁じる独自のルールも設けていません。ただし、あなたが読むページのサイトの権利は引き続き適用されます。リクエストログには各呼び出しの短いトレースのみが残り、詳細はプライバシーページに記載されています。

$1.20/1K検索から · KYC不要

APIキーを取得