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

# キー制限

> 個別のAPIキーを特定の出力フォーマットとエンドポイントに限定します。サーバー側で強制されるため、リクエストで上書きすることはできません。

キー制限を使うと、1つのAPIキーで利用できる出力フォーマットとエンドポイントを、あらかじめ定義した範囲に限定できます。これらの制限は認証時にサーバー側で適用されるため、制限付きキーを使ったリクエストが別のフラグを渡して制限を回避することはできません。つまり、リクエスト単位で上書きする方法はありません。

これは、APIキーを自動化エージェントや信頼できない呼び出し元に渡す環境で、そのキーにできることを厳密に保証したい場合を想定した機能です。たとえば、Markdown出力のみを許可しておけば、そのキーがraw HTMLやスクリプトの取得に使われることはありません。

<Note>
  キー制限はエンタープライズ向け機能で、組織ごとに有効化されます。ご利用のアカウントで有効にするには、Firecrawlのアカウント担当チームにお問い合わせください。
</Note>

<div id="what-you-can-restrict">
  ## 制限できる項目
</div>

各キーには、互いに独立した 2 つの許可リストがあります。

* **許可されたフォーマット** — キーがリクエストできる[出力フォーマット](/ja/features/scrape#scrape-formats) (例: `markdown`) です。設定すると、キーはリスト内のフォーマットのみをリクエストできます。
* **許可されたエンドポイント** — キーが呼び出せるエンドポイントのグループ (例: `scrape`、`crawl`) です。設定すると、キーはそれらのグループ内のエンドポイントのみを呼び出せます。

各リストは、**空でない**場合にのみ適用されます。空のリストはその項目では「制限なし」を意味するため、両方のリストが空のキーは通常のキーとまったく同じように動作します。つまり、設定が空だからといってキーが使えなくなることはありません。

<div id="configuring-a-key">
  ## キーの設定
</div>

チーム管理者は、ダッシュボードの [API Keys ページ](https://www.firecrawl.dev/app/api-keys) から制限を設定できます。

1. 制限を設定したいキーの **⋯** メニューを開き、**Restrictions** を選択します。
2. 許可するフォーマットやエンドポイントを選択します。セクション内で何も選択しない場合、その項目には制限が適用されません。
3. **Save** します。キーに **Restricted** バッジが表示され、変更は約1分で反映されます。

制限を表示または変更できるのは、チーム管理者のみです。

<div id="format-restrictions">
  ## フォーマットの制限
</div>

キーに許可されたフォーマットのリストがある場合、スクレイピング結果を返すすべてのエンドポイントでその制限が適用されます: `/v2/scrape`、`/v2/batch/scrape`、`/v2/crawl` (`scrapeOptions` 経由) 、`/v2/search` (`scrapeOptions` 経由) 、およびそれらの v1 相当です。

リストに含まれていないフォーマットを指定したリクエストは拒否されます:

```json theme={null}
{
  "success": false,
  "error": "Request blocked: this API key is restricted to the following formats: markdown. Requested formats not allowed: rawHtml. Team admins can manage key restrictions at https://www.firecrawl.dev/app/settings?tab=advanced"
}
```

<div id="actions-that-return-content">
  ### コンテンツを返すアクション
</div>

一部の[アクション](/ja/features/interact)は、`formats` フィールド経由ではなく、ページのコンテンツを直接返します。該当するのは `screenshot`、`scrape`、`executeJavascript`、`pdf` です。フォーマット制限付きのキーでは、これらは対応するフォーマットと同等のものとして扱われます。

* `screenshot` アクションは、許可されたフォーマットの一覧に `screenshot` が含まれている場合にのみ許可されます。
* `scrape`、`executeJavascript`、`pdf` アクションには対応するフォーマットがないため、フォーマット制限付きのキーでは常に拒否されます。

操作のみを行うアクション (`wait`、`click`、`write`、`press`、`scroll`) は影響を受けません。

<div id="endpoint-restrictions">
  ## エンドポイントの制限
</div>

キーに allowed-endpoints のリストが設定されている場合、そのグループ内のエンドポイントのみ呼び出せます。それ以外のエンドポイントへのリクエストは、認証時に `403` で拒否されます。

```json theme={null}
{
  "success": false,
  "error": "Request blocked: this API key is restricted to the following endpoints: scrape. Team admins can manage key restrictions at https://www.firecrawl.dev/app/settings?tab=advanced"
}
```

利用可能なエンドポイントグループ: `scrape`, `batch-scrape`, `crawl`, `map`, `search`, `extract`, `agent`, `parse`, `browser`, `monitor`, `research`, `llmstxt`, `deep-research`, `fireclaw`.

許可リストを運用しやすくするために、いくつかルールがあります:

* **ジョブのステータス確認とキャンセルは、そのジョブタイプと同じグループに含まれます。** たとえば `crawl` が許可されている場合、`GET /v2/crawl/{id}` (ステータス) 、クロールの Errors エンドポイント、キャンセルもすべて許可されます — 個別に列挙する必要はありません。
* **アカウントおよびメタデータのエンドポイントには常にアクセスできます** (例: `/v2/team/*`, `/v2/concurrency-check`) 。そのため、許可リストに関係なく SDK の内部管理は引き続き機能します。
* **内部でスクレイピングを行うエンドポイントは、それぞれ自身のグループで制御されます。** `extract` と `agent` は処理の一部としてページを取得するため、許可リストに `extract` / `agent` が必要です — `scrape` だけを許可しても利用できません。

<div id="legacy-v0-api">
  ## 旧来の v0 API
</div>

旧来の `v0` API はこれらの制御が導入される前のものであるため、**何らかの** 制限が設定されたキーでは使用できず、`403` が返されます。代わりに `v2` API を使用してください。

<div id="error-reference">
  ## エラー一覧
</div>

| ステータス | 該当するケース                                                              |
| ----- | -------------------------------------------------------------------- |
| `403` | リクエストされたフォーマットが、そのキーの allowed-formats リストに含まれていません。                  |
| `403` | フォーマット制限付きのキーで、コンテンツを返すアクションが使用されています。                               |
| `403` | エンドポイントが、そのキーの allowed-endpoints リストに含まれていません。                       |
| `403` | 制限付きキーが旧来の `v0` API を呼び出しています。                                       |
| `500` | 制限構成を検証できませんでした。リクエストは制限をバイパスせず、フェイルクローズ (拒否) されます。少し待ってから再試行してください。 |

<div id="notes">
  ## 注意事項
</div>

* 制限はキーごとに適用されるため、対話的な利用向けには無制限のキーを保持したまま、エージェント には制限付きのキーを渡せます。
* 変更は約 1 分で API に反映されます。リクエスト内から適用を無効にすることはできません。
* キー制限は [IP 制限](/ja/features/ip-restrictions) とは独立しており、1 つのキーに両方を設定できます。
