Skip to content

Cost & Pricing

Updated Feb 2026

Credit costs for all Firecrawl operations.

Credit Usage

OperationCreditsNotes
Scrape (single URL)1Per page
Batch Scrape1Per page
Search2Per 10 results
Search + Scrape2 + scrape costsPer 10 results + per page scraped
Map1Per call (any number of URLs)
Crawl1Per page crawled
Browser Sandbox2Per minute of session time
Agent (Spark-1 Mini)Dynamic~60% cheaper than Pro
Agent (Spark-1 Pro)DynamicMost runs = a few hundred credits
Agent (Spark-1 Fast/CSV)10Per cell (parallel batch)

Add-On Costs

Add-OnCreditsWhen Used
JSON Mode (scrape)+4Extracting structured data via schema
Enhanced Proxy+4Complex websites / anti-bot protection
PDF Parsing+1 per PDF pageProcessing PDF documents
Change Tracking (basic + git-diff)FreeNo extra cost over normal scrape
Change Tracking (JSON mode)+5Field-level comparison with schema
ScreenshotFreeIncluded with scrape
Branding extractionFreeIncluded with scrape

Free Tier

FeatureFree Allowance
Agent runs5 free daily runs (all users)
Browser usage5 hours of free usage
API credits1,000 credits (Starter plan)

Cost Examples

Basic Website Scrape

  • 1 page = 1 credit

JSON Extraction

  • 1 page with schema = 5 credits (1 + 4)

Website Crawl (100 pages)

  • 100 pages = 100 credits

Search & Scrape (10 results)

  • Search + scrape 10 pages = 12 credits (2 + 10)

Browser Session (5 minutes)

  • 5 minutes = 10 credits

Agent Research

  • Simple query (Spark-1 Mini) = ~100-300 credits
  • Complex analysis (Spark-1 Pro) = ~200-500 credits

Change Monitoring (50 pages daily)

  • 50 scrapes/day with changeTracking = 50 credits/day
  • With JSON diff mode = 300 credits/day (50 x 6)

Cost Optimization

DO

  • Use caching (maxAge) — up to 5x faster, reuses recent results
  • Set crawl limits — always set limit to control page count
  • Use basic proxy — don't use enhanced unless needed
  • Batch operations — batch scrape for efficiency
  • Use spark-1-mini — 60% cheaper, good enough for most Agent tasks
  • Set maxCredits on Agent — caps runaway costs
  • Use change tracking tags — avoid redundant tracking histories

DON'T

  • Crawl without setting limit (default is 10,000 pages!)
  • Use enhanced proxy for simple sites
  • Re-scrape recently scraped content (maxAge covers this)
  • Extract JSON when markdown is sufficient
  • Set maxAge=0 unnecessarily (slower, more likely to fail)
  • Leave browser sessions open (credits tick per minute)

Monitoring Usage

Dashboard

  • Login: firecrawl.dev/app
  • Navigate: Logs > Activity
  • View: Credits used, remaining balance

API

bash
# Current credit usage
curl -X GET 'https://api.firecrawl.dev/v2/account/credit-usage' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY'

# Historical usage
curl -X GET 'https://api.firecrawl.dev/v2/account/credit-usage/historical' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY'

MCP Credit Alerts

Set thresholds in your MCP config:

bash
FIRECRAWL_CREDIT_WARNING_THRESHOLD=1000   # Warning at 1000 credits
FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=100   # Critical at 100 credits

Full Pricing