# ウェブ検索

Web ページを検索し、タイトル、リンク、スニペットを返します。

Web を検索し、アプリケーションで処理できるソースページを受け取ります。ソース付きの生成回答が必要な場合は、[Chat](https://openapi.felo.ai/ja/docs/data-api/guides/felo-chat.md) を使用してください。

すべての例は [概要](https://openapi.felo.ai/ja/docs/data-api/guides/felo-overview.md) の `FELO_API_KEY` を使用します。呼び出しには **プラットフォーム残高** が使われ、Felo Pro クレジットは使われません。レスポンス例は説明用であり、実際の内容や任意フィールドは変動します。

## エンドポイント

`POST /api/v1/data/web/search`

## リクエスト

| フィールド | 型 | 必須 | 意味 |
|---|---|---|---|
| `query` | string | はい | 検索クエリ、1〜4,000 文字 |
| `count` | integer | いいえ | 要求する結果数、1〜50。既定値は 10 |

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/web/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"retrieval augmented generation","count":3}'
```

## レスポンス

HTTP 200 は、JSON ルートに結果を返します:

```json
{
  "resources": [
    {"title":"Example guide","link":"https://example.com/guide","snippet":"An introduction to retrieval augmented generation."}
  ],
  "total": 1
}
```

| フィールド | 意味 |
|---|---|
| `resources` | 返されたページ。各要素には `title`、`link`、`snippet` が含まれます |
| `total` | 返されたリソースの数であり、インターネット上のページ総数ではありません |

`count` は要求数であり、十分な一致結果が存在することの保証ではありません。このエンドポイントには cursor パラメーターがありません。ソースを全文で読むには、その `link` を [ウェブページ取得](https://openapi.felo.ai/ja/docs/data-api/guides/felo-web-read.md) に渡してください。

## 課金と失敗

課金単位は 1 リクエスト（`web.search`）であり、返されたページ 1 件ではありません。[現在の価格](https://openapi.felo.ai/api/v1/data/prices) を参照してください。残高不足やクォータのエラーは、空の成功結果とは別に処理する必要があります。[課金とエラー](https://openapi.felo.ai/ja/docs/data-api/guides/felo-billing.md) を参照してください。
