> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-noaa-mar-900-create-self-partnership-provisioning.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# レート制限

> 料金プラン別およびAPIリクエストのレート制限

レート制限または同時実行数の上限を超えると、API は `429` レスポンスを返します。エラーの一覧と、バックオフ付き再試行のスニペットについては、[エラー](/ja/api-reference/errors) を参照してください。

<div id="billing-model">
  ## 課金モデル
</div>

Firecrawl はサブスクリプション型の月額プランを採用しています。完全な従量課金モデルは提供していませんが、**自動チャージ機能** により柔軟にスケールできます。プランに加入すると、クレジット残高が設定したしきい値を下回ったときに自動的に追加クレジットを購入できます。より大きな自動チャージパックほどお得なレートが適用されます。より大きなプランを契約する前に試したい場合は、まず Free または Hobby プランから始めることをおすすめします。

プランのダウングレードは次回更新時に反映されます。残り期間に相当するクレジットは付与されません。

<div id="concurrent-browser-limits">
  ## 同時ブラウザ数の上限
</div>

同時ブラウザ数は、Firecrawl が並列で処理できるページ数を制御します。ご利用プランによって上限が決まり、それを超えたジョブはブラウザが空くまでキューで待機します。

キューで待機している時間もリクエストの [`timeout`](/ja/advanced-scraping-guide#timing-and-cache) パラメータに対してカウントされるため、待ち続けるのではなく早期に失敗させたい場合は、`timeout` を短めに設定できます。作業を送信する前に現在の空き状況を確認するには、[Queue Status](/ja/api-reference/endpoint/queue-status) エンドポイントを呼び出します。同時実行キューで待機しているジョブは、最長 48 時間でタイムアウトします。

<div id="current-plans">
  ### 現在のプラン
</div>

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>プラン</th>
        <th style={{ padding: '8px 12px' }}>同時ブラウザ数</th>
        <th style={{ padding: '8px 12px' }}>最大キュー待機ジョブ数</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>5</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>200,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale / Enterprise</td>
        <td style={{ padding: '8px 12px' }}>150+</td>
        <td style={{ padding: '8px 12px' }}>300,000+</td>
      </tr>
    </tbody>
  </table>
</div>

各チームで、同時実行キューに待機できるジョブ数には上限があります。この上限を超えると、既存のジョブが完了するまで、新しいジョブは `429` ステータスコードで拒否されます。カスタムの同時実行上限が設定された上位プランでは、最大キュー待機ジョブ数は同時実行上限の 2,000 倍で、上限は 2,000,000 です。

より高い同時実行上限が必要な場合は、[Enterprise プランについてお問い合わせください](https://firecrawl.dev/enterprise)。

### Extract プラン (旧プラン)

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>プラン</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>同時ブラウザ数</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>最大キュー待機ジョブ数</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Starter</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Explorer</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>200,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Pro</td>
        <td style={{ padding: '8px 12px' }}>200</td>
        <td style={{ padding: '8px 12px' }}>400,000</td>
      </tr>
    </tbody>
  </table>
</div>

<div id="api-rate-limits">
  ## API のレート制限
</div>

レート制限は 1 分あたりのリクエスト数で測定されており、主な目的は悪用を防ぐことです。適切に設定されていれば、実際のボトルネックとなるのは同時ブラウザ数になります。レート制限はチームごとに適用されるため、同じチームに属するすべての APIキー は同じレート制限カウンターを共有します。

<div id="current-plans">
  ### 現在のプラン
</div>

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>プラン</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/scrape</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/map</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/crawl</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/search</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/agent</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/crawl/status</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/agent/status</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>1</td>
        <td style={{ padding: '8px 12px' }}>5</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>500</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>15</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>250</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>5000</td>
        <td style={{ padding: '8px 12px' }}>5000</td>
        <td style={{ padding: '8px 12px' }}>250</td>
        <td style={{ padding: '8px 12px' }}>2500</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>750</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>
    </tbody>
  </table>
</div>

これらのレートリミットは、すべてのユーザーがAPIを公平に利用できるようにし、その可用性を確保するために設けられています。より高い上限が必要な場合は、カスタムプランについてご相談いただくために [help@firecrawl.com](mailto:help@firecrawl.com) までお問い合わせください。

<div id="extract-endpoints">
  ### Extract エンドポイント
</div>

Extract エンドポイントには、対応する `/agent` エンドポイントと同じレート制限が適用されます。

<div id="batch-scrape-endpoints">
  ### バッチスクレイプエンドポイント
</div>

バッチスクレイプエンドポイントには、対応する `/crawl` と同じレート制限が適用されます。

<div id="browser-sandbox">
  ### ブラウザサンドボックス
</div>

ブラウザサンドボックスのエンドポイントには、サブスクリプションに応じて変動するプランごとのレート制限があります。

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>プラン</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/browser</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/browser/\{id}/execute</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>20</td>
        <td style={{ padding: '8px 12px' }}>100</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>500</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>1,000</td>
        <td style={{ padding: '8px 12px' }}>5,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale</td>
        <td style={{ padding: '8px 12px' }}>1,500</td>
        <td style={{ padding: '8px 12px' }}>7,500</td>
      </tr>
    </tbody>
  </table>
</div>

さらに、各チームのプランによって、同時にアクティブにできるブラウザセッション数が決まります (上記の「同時ブラウザ数の上限」を参照) 。この制限を超えると、既存のセッションが破棄されるまで、新しいセッションのリクエストは `429` ステータスコードを返します。

<div id="fire-1-agent">
  ### FIRE-1 エージェント
</div>

FIRE-1 エージェントを利用するリクエストには、各エンドポイントごとに独立してカウントされる専用のレート制限が設定されています。

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>エンドポイント</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>レート制限 (リクエスト/分) </th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>/scrape</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>/extract</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>
    </tbody>
  </table>
</div>

<div id="extract-plans-legacy">
  ### Extract プラン (旧プラン)
</div>

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>プラン</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/extract (リクエスト/分) </th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/extract/status (リクエスト/分) </th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Starter</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Explorer</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Pro</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>
    </tbody>
  </table>
</div>
