Skip to main content

Overview

Firecrawl billing is credit-based. Every API call that you make consumes credits. The number of credits depends on the endpoint and the options that you use. Your plan gives you a monthly credit allotment. Pay-as-you-go adds more credits when the allotment runs out. For current plan pricing, visit the Firecrawl pricing page.
All Firecrawl invoices are billed in US Dollars (USD), regardless of your billing address or payment method.

Credits

Credits are the unit of usage in Firecrawl. Each plan includes a monthly credit allotment that resets at the start of each billing cycle. Different API endpoints consume different amounts of credits.

Credit costs per endpoint

Additional credit costs for scrape options

Certain scrape options add credits on top of the base cost per page: These modifiers stack. For example, scraping a page with both JSON format and Zero Data Retention costs 1 + 4 + 1 = 6 credits per page. These same modifiers apply to the Crawl and Search endpoints since they use scrape internally for each page. Requests to x.com and other X/Twitter URLs use the Grok API and have separate pricing. See X (x.com) billing at the bottom of this page.

When credits are charged

Credits are charged whenever Firecrawl’s infrastructure processes a request, even if the target site returns an HTTP error status code such as 403 Forbidden or 404 Not Found. This is because the scraping infrastructure (browser rendering, proxy, etc.) is fully utilized regardless of the target site’s response. You can check the metadata.statusCode field in the API response to detect these cases and avoid retrying URLs that are consistently blocked. For batch scrape and crawl jobs, credits are billed asynchronously as each page completes processing, not when the job is submitted. This means there can be a delay between submitting a job and seeing the full credit cost reflected on your account. If a batch contains many URLs or pages are queued during high-traffic periods, credits may continue to appear minutes or hours after submission. Polling or checking batch status does not consume credits.
Crawl pre-flight credit check: Before a crawl job starts, Firecrawl verifies that your remaining credit balance can cover the full limit parameter you’ve requested. If your balance is lower than limit, the request returns a 402 even if the crawl would have discovered fewer pages. The default limit is 10,000, so omitting it requires 10,000 credits available up front. To avoid this, pass an explicit limit that matches the number of pages you actually intend to crawl (e.g., limit: 100).

Tracking your usage

You can monitor your credit usage in two ways:
We are actively working on improvements to make credit usage easier to understand. Stay tuned for updates.

Plans

Subscription plans bill monthly or yearly. Paid self-serve plans can also use pay-as-you-go. Pay-as-you-go adds credits when your plan allotment runs out. See Pay-as-you-go.
For needs beyond Scale, Firecrawl offers Enterprise plans with custom credits, dedicated support, SLAs, bulk discounts, zero-data retention, and SSO. Visit the Enterprise page for details.
All paid plans are available with monthly or yearly billing. Yearly billing offers a discount compared to paying month-to-month. For current pricing on each plan, visit the pricing page.

Billing cycle

  • Monthly plans: Credits reset on your monthly renewal date
  • Yearly plans: You are billed annually, but credits still reset each month on your virtual monthly renewal date
  • Unused plan credits do not roll over by default: your monthly allotment resets each month. Annual Scale plans roll unused plan credits over 1 month, and annual Enterprise plans roll them over 2 months.

Concurrent browsers

Concurrent browsers represent how many web pages Firecrawl can process for you simultaneously. Your plan determines this limit. If you exceed it, additional jobs wait in a queue until a slot opens. See Rate Limits for full details on concurrency and API rate limits.

Pay-as-you-go

Pay-as-you-go keeps your requests running when your plan credits run out. It adds credits to your account automatically. You buy credits in increments of 5 USD. When your credit balance reaches zero, we add one increment to your account and charge your card on file. Pay-as-you-go needs a paid self-serve plan. You cannot use pay-as-you-go on the free plan. You can also buy credits yourself at any time. Use Load more credits in your billing settings. Enter a multiple of 5 USD, and pay with your card on file. This works whether pay-as-you-go is on or off.

Credits in an increment

The credits in an increment depend on your plan. Pay-as-you-go and manual purchases use the same rate.

Set the monthly pay-as-you-go limit

Set your Monthly pay-as-you-go limit in either of these two places:

How the limit caps your monthly spend

Your limit is the most that pay-as-you-go can spend in one month. It rounds down to whole 5 USD increments. For example, a limit of 25 USD allows five increments each month. A limit of 22 USD allows four increments, because 22 USD rounds down to 20 USD. Credits that you buy manually do not count toward this limit.

Upgrading and Downgrading

  • Upgrades take effect immediately. You are charged the full new-plan price today (no proration), and your billing cycle resets. Your next renewal is one month or one year from the upgrade date. Any unused credits from your previous plan carry over, and your new credit allotment and concurrency limits apply right away.
  • Downgrades are scheduled to take effect at your next renewal date. You keep your current plan’s credits and limits until then, and unused time on your current plan is not credited or refunded. You can undo a scheduled downgrade from your billing settings any time before the effective date.

Switching between monthly and yearly billing

  • Monthly → Yearly at the same or higher credit tier is treated as an immediate upgrade.
  • Yearly → Monthly is treated as an immediate upgrade only if you move to a strictly higher credit tier.

Running Out of Credits

If your credits run out and pay-as-you-go is off, requests that consume credits return an HTTP 402 (Payment Required) error. If pay-as-you-go is on, we add a new 5 USD increment of credits when your balance reaches zero. Your requests continue. To resume usage after a hard stop, you can:
  1. Set a Monthly pay-as-you-go limit to buy credits automatically. See Pay-as-you-go.
  2. Upgrade to a higher plan manually
  3. Wait for your credits to reset at the next billing cycle

Coupons

Firecrawl supports two types of coupons:
  • Subscription coupons apply a discount to your plan subscription (e.g. a percentage off your monthly or yearly price). These can only be applied during the Stripe checkout flow when you first subscribe to a paid plan or change plans. You cannot apply a subscription coupon after checkout has completed.
  • Credit coupons add bonus credits to your account. These can be redeemed from the Billing section of your dashboard at firecrawl.dev/app/billing. Look for the coupon input field on the billing page to apply your code. Bonus credits from credit coupons are separate from your plan’s monthly allotment and persist even if you upgrade or downgrade your plan.

FAQs

Plan credits do not roll over by default: your monthly allotment resets each month. Annual Scale plans roll unused plan credits over 1 month, and annual Enterprise plans roll them over 2 months.
Credits you buy stay on your account until you use them. They expire if you cancel your subscription, so use them before you leave. The expiry lands at the end of your current billing period, and a renewal does not touch them.
Your limit caps what pay-as-you-go spends each month. It rounds down to whole 5 USD increments. A limit of 25 USD allows five increments each month. Leave your limit blank, and pay-as-you-go has no monthly limit. Set your limit to 0, and pay-as-you-go turns off.
Check the dashboard at firecrawl.dev/app, or call the Credit Usage API endpoint programmatically.
It depends on the coupon type. Apply a credit coupon in the Billing section of your dashboard. You can apply a subscription coupon (a discount on your plan price) only at the Stripe checkout page, when you subscribe or change plans.
Reach out to help@firecrawl.dev, or visit the Enterprise page to learn more about custom plans.
All Firecrawl invoices are billed in US Dollars (USD), regardless of your billing address or payment method.
Go to your billing settings. Team admins can manage everything there. Click Manage Subscription to open the billing portal and update your payment method, billing address, company name, or VAT number.To change plans, click Change Plan and pick a new tier. Upgrades take effect immediately. Downgrades take effect at the end of your current billing period, and you can undo one until then. See Upgrading and Downgrading.To cancel, click Cancel Subscription. Your plan stays active until the end of your current billing period, and you can resume it before then. When your plan ends, the credits you bought expire with it, so use them before you leave.
Go to your billing settings, click Manage Subscriptions, and update your billing address, company name, and VAT number in the Stripe portal. Future invoices will automatically include the updated details.To regenerate a past paid invoice with the new information:
  1. Update your billing details in the Stripe portal first (see above).
  2. Open the Invoice history tab in the Stripe portal and download the PDF for the invoice you want; Stripe re-renders it against your current billing info.
  3. If an invoice doesn’t pick up the updated details, email help@firecrawl.dev with the invoice numbers and we’ll regenerate them for you.

X (x.com) billing

Firecrawl uses the official Grok API from xAI to provide AI-powered summarization, structured extraction, and real-time access to public X content. Requests to x.com, twitter.com, and mobile.twitter.com profile and post URLs are handled through Grok’s authorized internal tools (x_search, thread fetch, and web search restricted to x.com) rather than traditional web scraping.

Credit costs

For example, processing a typical post or thread request costs 30 credits (1 base + 29 Grok X Query) and returns Grok-generated structured data, thread context, and summaries. If JSON format (LLM extraction) is also enabled, the total is 34 credits per request. This method complies with X’s published interfaces via xAI’s partnership and provides higher-quality, reasoned output instead of raw page scraping.
Capabilities differ from standard scraping. Grok returns AI-processed results, which may include summaries, key metrics, thread context, and more. For raw structured data at scale, use the official X Enterprise API.