Skip to content

SDKs Overview

Updated Feb 2026

Firecrawl 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.

SDKPackageInstallAPI VersionsDocs
Pythonfirecrawl-pypip install firecrawl-pyv1, v2Python SDK
Node.js@mendable/firecrawl-jsnpm install @mendable/firecrawl-jsv1, v2Node.js SDK
CLIfirecrawl-clinpm install -g firecrawl-cliv1, v2CLI Reference

Community SDKs

Community SDKs are built and maintained by the open-source community. They currently target v1 of the API.

SDKPackageInstallAPI VersionsDocs
Gogithub.com/mendableai/firecrawl-gogo get github.com/mendableai/firecrawl-gov1Go SDK
RustfirecrawlAdd firecrawl = "^1.0" to Cargo.tomlv1Rust SDK

Feature Matrix

The table below shows which features each SDK supports. Official SDKs receive new features first; community SDKs may lag behind.

FeaturePythonNode.jsCLIGoRust
Scrape
Crawl
Map
Search
Batch Scrape
Extract
Agent
Browser Sessions
Async / Non-blockingN/A
WebSocket WatcherN/A
Auto-PaginationN/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.com
go
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-KEY

When 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.
  • Scrape -- Single-page content extraction
  • Crawl -- Multi-page website crawling
  • Map -- URL discovery and site mapping
  • Search -- Web search with optional scraping
  • Extract -- Structured data extraction
  • Agent -- Autonomous web data gathering