Langflow Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Add fastCRW to Langflow as a custom component or HTTP node. Firecrawl-compatible scrape and search, small single static binary, local-first, self-host free under AGPL-3.0.
Drop fastCRW into Langflow either through the API Request component or as a tiny custom component for reusable scrape and search nodes.
Why Langflow + fastCRW
Langflow is the visual builder for LangChain-style flows. Teams that prefer flowchart UX over code reach for Langflow when they want to ship a RAG pipeline or a tool-using agent without writing a Python file. The gap is web scraping — Langflow does not ship a robust scraper out of the box. fastCRW slots in as either a custom component or an API Request node, returning clean Markdown that flows naturally into Langflow's text splitters and vector stores. The fastCRW runtime is a small single static binary that is local-first, which makes it cheap to run alongside a self-hosted Langflow instance, and the Firecrawl-compatible API means existing Langflow flows that target Firecrawl can swap in fastCRW with one URL change.
Setup
- Install or update Langflow (
pip install -U langflow). - Provision a fastCRW API key from the dashboard.
- Decide whether to use the built-in API Request component or to add a custom fastCRW component to Langflow's components folder.
- Drag the component onto the canvas and bind the API key.
pip install -U langflow
export FASTCRW_API_KEY="fcrw_..."
langflow run
Code Example
A minimal Langflow custom component for fastCRW scrape. Drop this Python file into your Langflow custom components directory:
import requests
from langflow.custom import Component
from langflow.io import StrInput, SecretStrInput, Output
from langflow.schema import Data
class FastCRWScrapeComponent(Component):
display_name = "fastCRW Scrape"
description = "Scrape a URL via fastCRW and return Markdown."
icon = "globe"
inputs = [
StrInput(name="url", display_name="URL", required=True),
SecretStrInput(name="api_key", display_name="fastCRW API Key", required=True),
StrInput(
name="base_url",
display_name="Base URL",
value="https://api.fastcrw.com",
),
]
outputs = [
Output(display_name="Markdown", name="markdown", method="scrape"),
]
def scrape(self) -> Data:
r = requests.post(
f"{self.base_url}/v1/scrape",
headers={"Authorization": f"Bearer {self.api_key}"},
json={"url": self.url, "formats": ["markdown"]},
timeout=60,
)
r.raise_for_status()
markdown = r.json()["data"]["markdown"]
return Data(data={"markdown": markdown, "source": self.url})
If you do not want a custom component, drag the API Request component onto the canvas and configure:
- Method: POST
- URL:
https://api.fastcrw.com/v1/scrape - Headers:
Authorization: Bearer fcrw_... - Body:
{"url": "{{ input }}", "formats": ["markdown"]}
A canonical Langflow RAG flow then looks like: Chat Input → fastCRW Scrape → Recursive Character Splitter → Embeddings → Vector Store → Retriever → Prompt → Chat Output. The same shape works for fastCRW search by switching the endpoint.
When to Use This
- Visual RAG builds — drag-and-drop ingestion from URLs into a vector store via fastCRW.
- Prototype agents — let non-engineers wire up a fastCRW-powered research agent in Langflow.
- Internal tools — package a Langflow flow with fastCRW into a Langflow Endpoint for chat-style scraping.
- Migrating Firecrawl flows — replace existing Firecrawl components with fastCRW custom components for lower runtime cost.
Limits + Gotchas
- Langflow custom components are picked up at startup. Restart the Langflow process after dropping in the fastCRW component file.
- The
SecretStrInputfield encrypts the key at rest in Langflow but exposes it inside the running flow — treat your fastCRW key like any other production secret. - The API Request component does not auto-parse error JSON. Add a guard in downstream components for non-200 responses.
- Long fastCRW crawls can stall Langflow's UI run. Use scrape per URL inside a Langflow For-Each component instead of a single deep crawl call.
Related
Continue exploring
More from Integrations
Flowise Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Dify Web Scraping Integration — fastCRW [Firecrawl-Compatible]
MCP Web Scraping Integration — fastCRW [Firecrawl-Compatible]
fastCRW ships an official MCP server (crw-mcp) exposing scrape, search, crawl, map, and extract to any MCP-compatible client. Small single static binary, local-first, self-host free under AGPL-3.0.
Google ADK Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Wire fastCRW into Google's Agent Development Kit as a FunctionTool. Firecrawl-compatible scrape and search, small single static binary, local-first, self-host free under AGPL-3.0.
OpenAI Agents SDK Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Give OpenAI Agents SDK agents a fastCRW scrape and search tool with the @function_tool decorator. Small single static binary, local-first, Firecrawl-compatible API, self-host free under AGPL-3.0.
Related hubs
