Skip to main content

Billing

How Firecrawl billing, credits, and plans work
11 min read

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.

Note

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#

EndpointCredit CostNotes
Scrape1 credit / pageConvert a single URL into clean markdown, HTML, or structured data. Additional credits apply when using scrape options (see below).
Crawl1 credit / pageScrape an entire website by following links from a starting URL. The same per-page scrape option costs apply to each page crawled.
Map1 credit / callDiscover all URLs on a website without scraping their content.
Search2 credits / 10 resultsSearch the web and optionally scrape the results. Rounded up per 10 results (e.g., 11 results = 4 credits). Additional per-page scrape costs apply to each result that is scraped. See here for enterprise ZDR search pricing.
Interact2–7 credits / browser minuteInteractive browser sandbox session, billed per browser minute with a one-minute minimum. Sessions that use a prompt bill at 7 credits / browser minute; sessions without a prompt (Playwright code only) bill at 2 credits / browser minute.
AgentDynamicAutonomous web research agent. 5 daily runs free; usage-based pricing beyond that.

Additional credit costs for scrape options#

Certain scrape options add credits on top of the base cost per page:

OptionAdditional CostDescription
PDF parsing+1 credit / PDF pageExtract content from PDF documents
JSON format (LLM extraction)+4 credits / pageUse an LLM to extract structured JSON data from the page
Prompt injection check+4 credits / pageOpt-in checkPromptInjection guard for JSON format (see Prompt injection detection). If the scrape fails after the check has run, 5 credits are billed instead of the usual 0 for a failed scrape. That includes a scrape blocked with a 403 because an injection was detected.
Zero Data Retention (ZDR)+1 credit / pageEnsures no data is persisted beyond the request (see Scrape ZDR)

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.

Note

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:

Note

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.

PlanMonthly CreditsConcurrent Browsers
Hobby5,000 / 6,500 / 8,0005
Standard100,000 / 130,000 / 160,00025
Growth500,000 / 650,00050
Scale1,000,000100
Note

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.

PlanCredits per 5 USD
Hobby1,000
Standard2,000
Growth2,500
Scale5,000

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#

Do unused credits roll over to the next month?

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.

Do pay-as-you-go credits expire?

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.

How does the monthly pay-as-you-go limit work?

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.

How do I know how many credits I have left?

Check the dashboard at firecrawl.dev/app, or call the Credit Usage API endpoint programmatically.

Where do I apply a coupon code?

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.

I need more concurrency or a custom plan. Who do I contact?

Reach out to help@firecrawl.dev, or visit the Enterprise page to learn more about custom plans.

What currency are invoices billed in?

All Firecrawl invoices are billed in US Dollars (USD), regardless of your billing address or payment method.

How do I manage my subscription, change plans, or cancel?

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.

How do I add a VAT number, company name, or billing address to my invoices?

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#

ComponentCredit CostDescription
Base cost1 credit / requestStandard scrape request processing
Grok X Query+29 credits / requestGrok API usage (tokens + tool calls) for X content

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.

Note

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.