Install and configure FireCrawl SDK/CLI authentication.
Use when setting up a new FireCrawl integration, configuring API keys,
or initializing FireCrawl in your project.
Trigger with phrases like "install firecrawl", "setup firecrawl",
"firecrawl auth", "configure firecrawl API key".
Install the Firecrawl SDK and configure API key authentication. Firecrawl turns any website into LLM-ready markdown or structured data. The SDK is published as @mendable/firecrawl-js on npm and firecrawl-py on PyPI.
# Set the environment variable (SDK reads FIRECRAWL_API_KEY automatically)
export FIRECRAWL_API_KEY="fc-YOUR_API_KEY"
# Or add to .env file (use dotenv in your app)
echo 'FIRECRAWL_API_KEY=fc-YOUR_API_KEY' >> .env
All Firecrawl API keys start with fc-. Get yours at .
import FirecrawlApp from "@mendable/firecrawl-js";
const firecrawl = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY!,
});
// Quick connection test: scrape a simple page
const result = await firecrawl.scrapeUrl("https://example.com", {
formats: ["markdown"],
});
if (result.success) {
console.log("Firecrawl connected. Page title:", result.metadata?.title);
console.log("Content length:", result.markdown?.length, "chars");
} else {
console.error("Firecrawl error:", result.error);
}
Step 4: Verify Connection — Python
from firecrawl import FirecrawlApp
firecrawl = FirecrawlApp(api_key="fc-YOUR_API_KEY")
# Quick connection test
result = firecrawl.scrape_url("https://example.com", params={
"formats": ["markdown"]
})
print(f"Title: {result.get('metadata', {}).get('title')}")
print(f"Content: {len(result.get('markdown', ''))} chars")
Step 5: Self-Hosted Setup (Optional)
// Point to your own Firecrawl instance instead of api.firecrawl.dev
const firecrawl = new FirecrawlApp({
apiKey: "any-key", // required even for self-hosted
apiUrl: "http://localhost:3002", // self-hosted Firecrawl URL
});
Output
@mendable/firecrawl-js installed in node_modules/
FIRECRAWL_API_KEY environment variable configured
Successful scrape confirming API connectivity
Error Handling
Error
Cause
Solution
401 Unauthorized
Invalid or missing API key
Verify key starts with fc- and is set in env
402 Payment Required
Credits exhausted
Check balance at firecrawl.dev/app
MODULE_NOT_FOUND
Wrong package name
Use @mendable/firecrawl-js not firecrawl-js
ECONNREFUSED
Wrong API URL for self-hosted
Verify apiUrl and Docker container is running
429 Too Many Requests
Rate limit exceeded
Wait for Retry-After header duration
Examples
TypeScript with dotenv
import "dotenv/config";
import FirecrawlApp from "@mendable/firecrawl-js";
const firecrawl = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY!,
});
Python with Environment Variable
import os
from firecrawl import FirecrawlApp
firecrawl = FirecrawlApp(api_key=os.environ["FIRECRAWL_API_KEY"])
Verify .gitignore Protects Secrets
set -euo pipefail
# Ensure .env files are gitignored
grep -q "^\.env" .gitignore 2>/dev/null || echo -e "\n.env\n.env.local\n.env.*.local" >> .gitignore