> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ウェブサイトスクリーンショット API

> Cleariflow ウェブサイトスクリーンショット API は、SSRF 保護、viewport 制御、ブラウザ自動化オプションを備えたモダンな RESTful JSON インターフェースで、任意の公開 URL の pixel-perfect 画像をキャプチャします。

## はじめに

<Card title="同期スクリーンショット" icon="camera" href="screenshot/screenshot">
  `screenshot` エンドポイントはブラウザセッションを実行し、base64 エンコードされた画像を JSON で返します — プログラム連携や API Tester に最適です。
</Card>

<Card title="非同期ジョブ" icon="clock" href="screenshot/jobs">
  `jobs` エンドポイントはスクリーンショットタスクをキューに入れ、ステータスと結果をポーリングできます — 大量処理や遅いページに最適です。
</Card>

### REST アーキテクチャ

ウェブサイトスクリーンショット API は REST 原則に従い、予測可能なリソース指向 URL と標準 HTTP ステータスコードでシームレスな統合とエラー処理を実現します。

### HTTPS セキュリティ

すべての API 通信は TLS 1.2 以上で保護され、データの完全性とプライバシーを確保します。

### API バージョニング

ウェブサイトスクリーンショット API はバージョニングにより後方互換性を維持し、現在 Version 1 で稼働しています。

### 認証

API キーはウェブサイトスクリーンショット API へアクセスする唯一の認証情報です。Cleariflow の各サービスには固有のキーが必要です。JSON ボディに `api_key` として含めるか、レガシー GET エンドポイントではクエリパラメータとして渡してください。

### ベース URL

```
https://screenshot.cleariflow.com
```

### ページレンダリング

ページは実際のヘッドレスブラウザでレンダリングされます。スクリーンショット取得前に JavaScript が完全に実行されます。組み込みの SSRF 保護により、localhost やプライベート IP 範囲へのリクエストはブロックされます。

## レスポンスおよびエラーコード

リクエストが失敗した場合、API は効果的なトラブルシューティングのための特定のコードと説明を含む構造化 JSON エラーレスポンスを返します。

| コード | タイプ                   | 詳細                                                 |
| --- | --------------------- | -------------------------------------------------- |
| 200 | OK                    | スクリーンショットが正常に取得されました。                              |
| 202 | Accepted              | 非同期ジョブが正常にキューに追加されました。                             |
| 400 | Bad request           | 不正なリクエスト — 無効な URL、ブロックされたターゲット、または不正なペイロード。       |
| 401 | Unauthorized          | リクエストが受理されませんでした。通常、API キーが欠落しているか正しくありません。        |
| 422 | Quota reached         | API クレジット不足のためリクエストが中止されました。（無料プラン）                |
| 429 | Too many requests     | 許可された秒間リクエスト数に達しました。無料プランでは 1 秒あたり 1 リクエストに制限されます。 |
| 500 | Internal server error | サーバー側のエラーによりリクエストを完了できませんでした。                      |
