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

> 検索APIのレスポンス形式：/searchと/extractの全フィールド、8つのcontent_status値とtarget_statusを、完全な例とともに解説します。KYC不要、暗号資産で支払い。

- URL: https://llmwebsearch.com/ja/docs/response/
- 最終更新: 2026-10-22
- 発行者: LLMWebSearch (https://llmwebsearch.com)

検索の応答は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`レスポンスのトップレベルです。

| フィールド | 型 | 意味 |
| --- | --- | --- |
| `query` | string | 実際に実行した検索クエリ（前後の空白を除去したもの） |
| `created_at` | string | 検索を実行した日時、UTCのISO 8601形式 |
| `credits_used` | integer | 呼び出しのコスト：1、または`read`が4〜10の場合は2 |
| `results` | array | ランク付けされた結果（上位が先頭）、最大`max_results`件 |

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

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

| フィールド | 型 | 含まれる場合 | 意味 |
| --- | --- | --- | --- |
| `position` | integer | 常に | 検索順位（1から開始） |
| `title` | string | 常に | 結果のタイトル |
| `url` | string | 常に | ページのアドレス |
| `host` | string | 常に | ページのホスト名。グループ化や引用に便利 |
| `snippet` | string | 常に | 検索が表示する短い抜粋 |
| `published_at` | string | 日付が判明している場合 | ページまたは検索結果から取得した公開日 |
| `content_status` | string | 常に | ページを読み取れたか、読み取れなかった場合はその理由 |
| `content` | string | `content_status` が `ok` の場合 | Markdownまたはプレーンテキスト形式の本文。`max_chars` で切り詰め |
| `word_count` | integer | `content_status` が `ok` の場合 | 抽出された全文の単語数。切り詰め前にカウント |
| `target_status` | integer | `target_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_failed` | DNS、TLS、接続エラー、またはページが存在しない | 別の結果を試す。後で再試行すると成功する場合があります |
| `fetch_timeout` | ページが15秒以内に応答しませんでした | 別の結果を試す。後で再試行すると成功する場合があります |
| `unsupported_content` | リンクがテキストに変換できないファイルである | スニペットまたは別の結果を利用する |

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

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

*POST /search レスポンス（例示）*

```json
{
  "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リファレンス](https://llmwebsearch.com/ja/docs/extract/)には完全な例と、クレジットの計算方法が記載されています。

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

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

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

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

### 内容は常にMarkdownですか？

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

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

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

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

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

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

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

---

LLMWebSearch: LLMWebSearchは、AIエージェント向けのWeb検索APIです。ランキング済みの検索結果を、上位ページの本文をMarkdownに変換した内容とともに返し、暗号資産で支払えます。本人確認書類のアップロードは不要です。プリペイドのクレジットは$1.20/1K検索から購入でき、有効期限はありません。KYC不要 — 身分証も自撮りも書類も不要。暗号資産で支払い。
