Appearance
AI Models
Updated Feb 2026Firecrawl offers multiple AI models for extraction and research tasks. Choose the right model based on your accuracy requirements, budget, and task complexity.
Model Overview
| Model | Type | Cost | Accuracy | Speed | Best For |
|---|---|---|---|---|---|
| Spark-1 Mini | Agent (research) | 60% cheaper | Standard | Fast | Most tasks, high-volume jobs |
| Spark-1 Pro | Agent (research) | Standard | Higher | Fast | Complex research, critical accuracy |
| Spark-1 Fast | Agent (parallel) | 10 credits/cell | Predictable | Fast | CSV batch processing |
| FIRE-1 | Agent (browser) | Variable | High | Slower | Complex page interactions |
Spark-1 Mini (Default)
The cost-efficient default for the Agent API. Handles straightforward extraction and research tasks at 60% lower cost than Pro.
Strengths
- Simple data extraction (contacts, prices, metadata)
- Well-structured websites
- High-volume batch operations
- Cost-sensitive workflows
- Standard research queries
Configuration
python
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR-API-KEY")
result = app.agent(
prompt="Find the pricing plans for Notion",
model="spark-1-mini", # This is the default
maxCredits=100
)javascript
const result = await app.agent({
prompt: "Find the pricing plans for Notion",
model: "spark-1-mini",
maxCredits: 100,
});bash
curl -X POST https://api.firecrawl.dev/v2/agent \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR-API-KEY' \
-d '{
"prompt": "Find the pricing plans for Notion",
"model": "spark-1-mini",
"maxCredits": 100
}'Spark-1 Pro
The premium model offering higher accuracy for complex analysis, deep reasoning, and multi-domain research.
Strengths
- Competitive analysis across multiple domains
- Tasks requiring advanced reasoning and inference
- Critical accuracy requirements (financial data, legal info)
- Ambiguous or hard-to-find information
- Nuanced extraction from unstructured content
Configuration
python
result = app.agent(
prompt="Compare pricing, features, and target audience across Notion, Coda, and Slite",
model="spark-1-pro",
maxCredits=500
)javascript
const result = await app.agent({
prompt: "Compare pricing, features, and target audience across Notion, Coda, and Slite",
model: "spark-1-pro",
maxCredits: 500,
});bash
curl -X POST https://api.firecrawl.dev/v2/agent \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR-API-KEY' \
-d '{
"prompt": "Compare pricing, features, and target audience across Notion, Coda, and Slite",
"model": "spark-1-pro",
"maxCredits": 500
}'Spark-1 Fast (CSV Batch)
A parallel processing mode available in the Agent Playground for CSV batch jobs. Each cell in the CSV is processed independently at a predictable 10 credits per cell.
Use Cases
- Lead enrichment from a list of company names
- Bulk data collection from known entities
- Structured batch research
How It Works
- Upload a CSV to the Agent Playground
- Spark-1 Fast processes each row in parallel
- Results are returned as structured data matching your schema
Playground Only
Spark-1 Fast parallel agents are currently available through the Agent Playground at firecrawl.dev/app/agent, not via the API directly.
FIRE-1
A browser automation agent that interacts with complex page elements. Unlike Spark-1 models which perform web research, FIRE-1 controls the browser to click buttons, navigate pagination, fill forms, and extract data from dynamic elements.
When to Use
- Paginated tables and listings
- Content behind "Load More" buttons or tabs
- Data requiring form interaction to access
- Multi-step navigation workflows
Configuration
python
result = app.extract(
urls=["https://example.com/products"],
prompt="Extract all products from all pagination pages",
schema={...},
agent={"model": "FIRE-1"}
)See FIRE-1 Agent Model for full documentation.
Choosing the Right Model
Decision Matrix
| Scenario | Recommended Model | Why |
|---|---|---|
| "Find pricing for Company X" | Spark-1 Mini | Simple, well-defined query |
| "Compare 5 competitors across features, pricing, and reviews" | Spark-1 Pro | Multi-domain, complex reasoning |
| "Extract all products from paginated listing" | FIRE-1 | Requires browser interaction |
| "Get contact info from a specific page" | Scrape + JSON | Known URL, no research needed |
| "Enrich 500 company records" | Spark-1 Fast (CSV) | Predictable batch processing |
| "Find market trends in AI infrastructure" | Spark-1 Pro | Deep research, synthesis required |
| "Extract article content from blog" | Scrape (markdown) | Simple extraction, no AI needed |
Performance Comparison
| Metric | Spark-1 Mini | Spark-1 Pro | FIRE-1 |
|---|---|---|---|
| Cost efficiency | Best | Standard | Variable |
| Simple extraction | Excellent | Excellent | Overkill |
| Complex reasoning | Good | Excellent | N/A |
| Multi-site research | Good | Excellent | N/A |
| Browser interaction | None | None | Excellent |
| Speed | Fast | Fast | Slower |
| Predictability | Dynamic credits | Dynamic credits | Variable |
Cost Comparison
| Model | Pricing | Typical Range |
|---|---|---|
| Spark-1 Mini | Dynamic, ~60% cheaper than Pro | ~100-300 credits per run |
| Spark-1 Pro | Dynamic | ~200-500 credits per run |
| Spark-1 Fast | 10 credits per cell | Predictable |
| FIRE-1 | Variable per request complexity | Depends on interactions |
Cost Control
Always set maxCredits on Agent API calls to prevent unexpected costs. If the credit limit is hit, the job fails -- but credits used up to that point are still charged.
Free Tier
All users get 5 free daily Agent runs (Spark-1 Mini or Pro, via playground or API).
Model Parameter Reference
Agent API (/v2/agent)
python
result = app.agent(
prompt="Your research query",
model="spark-1-mini", # or "spark-1-pro"
urls=["https://..."], # optional focus URLs
schema=YourSchema, # optional structured output
maxCredits=100 # credit cap
)Extract API (/v1/extract)
python
result = app.extract(
urls=["https://..."],
prompt="Your extraction task",
schema={...},
agent={"model": "FIRE-1"} # FIRE-1 only
)Scrape API (/v2/scrape) -- JSON Mode
No model parameter needed. JSON extraction uses the built-in extraction engine:
python
result = firecrawl.scrape(
"https://example.com",
formats=[{"type": "json", "schema": {...}}]
)Related Pages
- Agent API -- Spark-1 Mini/Pro autonomous research
- FIRE-1 -- Browser automation agent
- Extract API -- Multi-URL extraction
- LLM Extract -- JSON mode on scrape
- Pricing -- Full credit cost breakdown
Next: Proxies -->