Appearance
SDKs Overview
Updated Feb 2026Firecrawl provides official and community SDKs so you can integrate web scraping, crawling, and data extraction into your application using the language you already work in. This page summarizes every available SDK, its installation command, version support, and feature coverage.
Official SDKs
Official SDKs are maintained by the Firecrawl team and support both v1 and v2 of the API.
| SDK | Package | Install | API Versions | Docs |
|---|---|---|---|---|
| Python | firecrawl-py | pip install firecrawl-py | v1, v2 | Python SDK |
| Node.js | @mendable/firecrawl-js | npm install @mendable/firecrawl-js | v1, v2 | Node.js SDK |
| CLI | firecrawl-cli | npm install -g firecrawl-cli | v1, v2 | CLI Reference |
Community SDKs
Community SDKs are built and maintained by the open-source community. They currently target v1 of the API.
| SDK | Package | Install | API Versions | Docs |
|---|---|---|---|---|
| Go | github.com/mendableai/firecrawl-go | go get github.com/mendableai/firecrawl-go | v1 | Go SDK |
| Rust | firecrawl | Add firecrawl = "^1.0" to Cargo.toml | v1 | Rust SDK |
Feature Matrix
The table below shows which features each SDK supports. Official SDKs receive new features first; community SDKs may lag behind.
| Feature | Python | Node.js | CLI | Go | Rust |
|---|---|---|---|---|---|
| Scrape | ✅ | ✅ | ✅ | ✅ | ✅ |
| Crawl | ✅ | ✅ | ✅ | ✅ | ✅ |
| Map | ✅ | ✅ | ✅ | ✅ | ✅ |
| Search | ✅ | ✅ | ✅ | ❌ | ❌ |
| Batch Scrape | ✅ | ✅ | ❌ | ❌ | ❌ |
| Extract | ✅ | ✅ | ❌ | ❌ | ❌ |
| Agent | ✅ | ✅ | ✅ | ❌ | ❌ |
| Browser Sessions | ✅ | ✅ | ✅ | ❌ | ❌ |
| Async / Non-blocking | ✅ | ✅ | N/A | ❌ | ✅ |
| WebSocket Watcher | ✅ | ✅ | N/A | ❌ | ❌ |
| Auto-Pagination | ✅ | ✅ | N/A | ❌ | ❌ |
Quick Start
Every SDK follows the same pattern: create a client with your API key, then call the method you need.
python
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")
result = firecrawl.scrape("https://example.com", formats=["markdown"])
print(result["markdown"])javascript
import Firecrawl from '@mendable/firecrawl-js';
const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });
const result = await firecrawl.scrape("https://example.com", {
formats: ["markdown"]
});
console.log(result.markdown);bash
firecrawl login --api-key fc-YOUR-API-KEY
firecrawl scrape https://example.comgo
import "github.com/mendableai/firecrawl-go"
app, _ := firecrawl.NewFirecrawlApp("fc-YOUR-API-KEY", "")
data, _ := app.ScrapeUrl("https://example.com", nil)rust
use firecrawl::FirecrawlApp;
let app = FirecrawlApp::new("fc-YOUR-API-KEY").unwrap();
let result = app.scrape_url("https://example.com", None).await.unwrap();
println!("{}", result.markdown.unwrap());Authentication
All SDKs authenticate with an API key. You can obtain one from the Firecrawl dashboard. The key can be passed directly to the client constructor or set as an environment variable:
bash
export FIRECRAWL_API_KEY=fc-YOUR-API-KEYWhen the environment variable is set, most SDKs will pick it up automatically without requiring the api_key parameter.
Choosing an SDK
- Python -- Best for data science, AI/ML pipelines, and backend automation. Full async support via
AsyncFirecrawl. See Python SDK. - Node.js / TypeScript -- Best for web applications, serverless functions, and JavaScript toolchains. See Node.js SDK.
- CLI -- Best for shell scripts, CI/CD pipelines, and quick one-off operations. Supports browser-based auth for AI agents. See CLI Reference.
- Go -- Best for high-performance backend services. Community-maintained, v1 only. See Go SDK.
- Rust -- Best for systems programming and performance-critical applications. Community-maintained, v1 only. See Rust SDK.