From firecrawl-pack
Install and configure Firecrawl SDK authentication for web scraping. 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".
npx claudepluginhub flight505/skill-forge --plugin firecrawl-packThis skill is limited to using the following tools:
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.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
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 -euo pipefail
# Node.js (official npm package)
npm install @mendable/firecrawl-js
# Python
pip install firecrawl-py
# 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 firecrawl.dev/app.
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);
}
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")
// 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
});
@mendable/firecrawl-js installed in node_modules/FIRECRAWL_API_KEY environment variable configured| 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 |
import "dotenv/config";
import FirecrawlApp from "@mendable/firecrawl-js";
const firecrawl = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY!,
});
import os
from firecrawl import FirecrawlApp
firecrawl = FirecrawlApp(api_key=os.environ["FIRECRAWL_API_KEY"])
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
After successful auth, proceed to firecrawl-hello-world for your first real scrape.