# Felo ウェブページ取得

POST /api/v1/data/web/read

アプリケーションで利用できる形式で、特定の Web ページを読み取ります。

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

## エンドポイント

`POST /api/v1/data/web/read`

## リクエスト

| フィールド | 型 | 必須 | 意味 |
|---|---|---|---|
| `url` | string | はい | HTTP または HTTPS のページ URL |
| `formats` | string array | いいえ | `MARKDOWN`、`TEXT`、`HTML`、`SCREENSHOT` のいずれか 1 つだけ。既定は Markdown |
| `mode` | string | いいえ | `quality`（既定）、`fast`、または `auto` |
| `timeout` | integer | いいえ | ミリ秒単位のタイムアウト、1〜60,000。既定値は 30,000 |
| `totalTimeout` | integer | いいえ | ミリ秒単位の合計タイムアウト、1〜60,000。既定値は `timeout` |

1 回のリクエストにつき出力形式は 1 つだけ選択してください。4 つすべてを同じ配列で送らないでください。

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/web/read" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["MARKDOWN"],"mode":"quality","timeout":30000}'
```

## レスポンス

HTTP 200 は、選択したコンテンツフィールドを JSON ルートに返します。Markdown レスポンスは次のようになります:

```json
{
  "title": "Example Domain",
  "markdown": "# Example Domain\n\nThis domain is for use in documentation examples.",
  "metadata": {}
}
```

要求した形式に応じて `markdown`、`text`、`html`、または `screenshot` を読み取ってください。他のメタデータは任意です。すべての形式フィールドが存在することを前提にしないでください。完全なレスポンスについては、[OpenAPI 定義](https://openapi.felo.ai/api/v1/data/openapi.json) の `WebReadResponse` スキーマを参照してください。

## 課金と失敗

`web.read` はリクエストごとに課金されます。タイムアウトは空ページではありません。本文を使用する前に HTTP ステータスを確認してください。タイムアウト後に連続した高速リクエストへ切り替えないでください。[課金とエラー](https://openapi.felo.ai/ja/docs/data-api/guides/felo-billing.md) に従ってください。
