Framework Integrations

CRW integrates with popular AI agent frameworks and workflow tools. Since CRW exposes a Firecrawl-compatible REST API, it also works as a drop-in replacement anywhere Firecrawl is used.

CrewAI

Published PyPI package: crewai-crw

pip install crewai crewai-crw

Four ready-to-use tools — no custom BaseTool subclasses needed:

from crewai import Agent, Task, Crew
from crewai_crw import (
    CrwScrapeWebsiteTool,
    CrwCrawlWebsiteTool,
    CrwMapWebsiteTool,
    CrwSearchWebTool,
)

# Self-hosted (default: localhost:3000)
scrape_tool = CrwScrapeWebsiteTool()

# Or use fastCRW cloud
scrape_tool = CrwScrapeWebsiteTool(
    api_url="https://fastcrw.com/api",
    api_key="your-api-key",
)

# Or set env vars
# export CRW_API_URL=https://fastcrw.com/api
# export CRW_API_KEY=your-api-key

researcher = Agent(
    role="Web Researcher",
    goal="Research and summarize information from websites",
    tools=[scrape_tool],
)

task = Task(
    description="Scrape https://example.com and summarize the content",
    expected_output="A summary of the page content",
    agent=researcher,
)

crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()

Source: github.com/us/crewai-crw

LangChain

Published PyPI package: langchain-crw

pip install langchain-crw
from langchain_crw import CrwLoader

# Self-hosted (default: localhost:3000)
loader = CrwLoader(url="https://example.com", mode="scrape")
docs = loader.load()

# Cloud (fastcrw.com)
loader = CrwLoader(
    url="https://example.com",
    api_url="https://fastcrw.com/api",
    api_key="crw_live_...",
    mode="crawl",
    params={"max_depth": 3, "max_pages": 50},
)
docs = loader.load()

# Search the web (cloud only)
loader = CrwLoader(
    mode="search",
    query="web scraping tools",
    api_url="https://fastcrw.com/api",
    api_key="crw_live_...",
)
docs = loader.load()

Source: github.com/us/langchain-crw

Flowise (PR pending)

CRW node submitted: PR #6066

Provides Scrape, Crawl, and Map nodes that connect to your CRW instance. Configure the CRW API URL in the node settings.

Agno (PR pending)

CRW toolkit submitted: PR #7183

Once merged, usage will be:

from agno.agent import Agent
from agno.tools.crw import CrwTools

agent = Agent(tools=[CrwTools()])
agent.print_response("Scrape https://example.com and summarize it")

OpenClaw

Published npm package: openclaw-plugin-crw

openclaw plugins install openclaw-plugin-crw
{
  "plugins": {
    "crw": {
      "apiKey": "crw_live_..."
    }
  }
}

Cloud is the default. For self-hosted, add "apiUrl": "http://localhost:3000".

Source: github.com/us/openclaw-plugin-crw

n8n

Published npm package: n8n-nodes-crw

Install via n8n UI: Settings > Community Nodes > Install > n8n-nodes-crw

Or via Docker:

docker run -e EXTRA_COMMUNITY_PACKAGES=n8n-nodes-crw n8nio/n8n

Source: github.com/us/n8n-nodes-crw

MCP (10+ Platforms)

CRW includes a built-in MCP server that works with any MCP-compatible platform. See the MCP documentation for setup instructions for:

  • Claude Code, Claude Desktop
  • Cursor, Windsurf
  • Cline, Continue.dev
  • OpenAI Codex CLI
  • Gemini CLI
  • VS Code GitHub Copilot Agent
  • Roo Code

Automation Tools

Tool Integration path Notes
n8n Community node n8n-nodes-crw
Make (Integromat) HTTP module Standard REST API integration
Zapier Webhooks Use webhook triggers with the API
GitHub Actions curl in workflow Useful for scheduled scraping jobs

Firecrawl Drop-in Replacement

CRW is API-compatible with Firecrawl. Any project that uses FIRECRAWL_BASE_URL or similar config can switch to CRW with zero code changes:

# Point Firecrawl SDK at your CRW instance
export FIRECRAWL_API_URL=http://localhost:3000
from firecrawl import FirecrawlApp

# This talks to CRW, not Firecrawl
app = FirecrawlApp(api_url="http://localhost:3000")
result = app.scrape_url("https://example.com")

Note: The Firecrawl Python SDK has changed its API across versions. The above works with firecrawl-py v1.x. Check the Firecrawl docs for the latest SDK usage.

Python (Direct HTTP)

import requests

response = requests.post("https://fastcrw.com/api/v1/scrape", json={
    "url": "https://example.com",
    "formats": ["markdown", "links"]
})
data = response.json()["data"]
print(data["markdown"])

Node.js (Direct HTTP)

const response = await fetch("https://fastcrw.com/api/v1/scrape", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    url: "https://example.com",
    formats: ["markdown", "links"]
  })
});
const { data } = await response.json();
console.log(data.markdown);

Building Custom Integrations

The API is straightforward enough that most integrations are a thin wrapper:

  1. Set the Authorization header with your API key.
  2. POST JSON to the endpoint you need (/v1/scrape, /v1/crawl, /v1/map, /v1/search).
  3. Parse the JSON response.

No SDK is required — the consistent API design means any HTTP client works.

Choosing Between Cloud and Self-Hosted

Factor Cloud Self-hosted
Setup time Instant 5-10 minutes
Maintenance Managed You handle updates
Data residency Managed infrastructure. Available on fastcrw.com (cloud) Your infrastructure
Cost model Credit-based Your server costs only
Rate limits Per plan Unlimited

Both options expose the same API, so your integration code works with either.

Endpoint Support Matrix

Not every integration supports every endpoint. Search is a cloud-only feature that requires the fastcrw.com API backend.

Integration Scrape Crawl Map Search Extract
CrewAI Yes Yes Yes Yes (cloud) --
LangChain Yes Yes Yes Yes (cloud) --
OpenClaw Yes Yes Yes Yes (cloud) --
n8n Yes Yes Yes Yes (cloud) --
Dify Yes Yes Yes Yes (cloud) --
MCP Server Yes Yes Yes -- --
Firecrawl SDK (drop-in) Yes Yes Yes -- Yes
Direct HTTP Yes Yes Yes Yes (cloud) Yes

:::note The MCP server is designed for self-hosted use and does not expose the search endpoint. Use the Python SDK, a framework integration, or direct HTTP calls for search. :::

All Integrations

Framework Type Status Package / PR
CrewAI PyPI package Published crewai-crw
LangChain PyPI package Published langchain-crw
OpenClaw npm plugin Published openclaw-plugin-crw
n8n npm node Published n8n-nodes-crw
Flowise Node PR pending #6066
Agno Toolkit PR pending #7183
Dify Plugin Ready GitHub
MCP (10+ platforms) Built-in Shipped MCP docs
Firecrawl SDK Drop-in Works now API compatible