复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Turn URLs into clean markdown or structured
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Turn URLs into clean markdown or structured JSON with one engine for search, scrape, map, crawl, and extract.
Run it locally as a small Rust binary or use the managed API.
Get 1000 free credits → · Install · Docs
No credit card. Continue with GitHub.
curl -fsSL https://fastcrw.com/install | sh
Runs local and free, no account needed. To use the Cloud, paste your key into the same command and it installs the binary, connects the key, and registers the MCP server with the AI coding tools you already have:
curl -fsSL https://fastcrw.com/install | CRW_API_KEY=crw_live_... sh
crw search "rust tutorials"
Claude Code, Cursor, Codex, Gemini CLI, OpenCode and Windsurf are picked up
automatically when they are already set up; nothing else is touched, and your
key stays in ~/.config/crw/config.toml rather than being copied into each
tool. Add CRW_NO_AGENTS=1 to skip that step, or run crw setup on its own to
choose interactively.
1000 free credits, no credit card. Managed proxies, JS rendering and search, with nothing to run or keep up to date. Get my free key →
macOS and Linux, Intel and ARM. More install options →
| Operation | Outcome |
|---|---|
| Scrape | One URL to markdown, HTML, links, screenshots, or schema JSON |
| Crawl | Follow a bounded site crawl and collect its pages |
| Map | Discover URLs without scraping every page |
| Search | Search the web and optionally scrape selected results |
| Extract | Produce structured fields from one or many URLs |
On Firecrawl's own public 1,000-URL dataset, fastCRW recovered more truth than Crawl4AI and Firecrawl, matched the fastest median latency, and idled at ~14 MB RAM.
Methodology, full numbers, and how to reproduce it
On a different benchmark entirely, answer accuracy rather than scrape recall, fastCRW answers 90.0% of the 600 AA-Omniscience questions correctly. Every product listed on the Artificial Analysis Search Index sits below it.
The full 14-product comparison, the control run, and how to reproduce it
crw https://example.com # scrape, works right after install
crw search "rust async runtime" # search, after `crw setup`
Using Cloud? Get an API key, then export it once:
export CRW_API_KEY="crw_live_..."
pip install crw
from crw import CrwClient
client = CrwClient()
page = client.scrape("https://example.com", formats=["markdown"])
print(page["markdown"])
npm install crw-sdk
import { CrwClient } from "crw-sdk";
const client = new CrwClient();
const page = await client.scrape("https://example.com", {
formats: ["markdown"],
});
console.log(page.markdown);
Local mode and more SDK examples → · REST API →
npx -y crw-mcp@latest install
Installs the CRW skill and MCP server in your detected AI tools. crw setup can
also do this step, so either path is enough.
Manual setup →
| Managed API | Local / self-hosted | |
|---|---|---|
| Best for | Zero infrastructure and managed scaling | Data control, private networks, or custom infrastructure |
| Start | Create an API key, then crw setup | Install and run crw <URL> |
| Operations | Managed proxies, billing, and hosted capabilities | You choose renderers, search, auth, proxies, and capacity |
Capabilities and response shapes can differ by deployment:
/v1/capabilities · response shapes
The workspace requires Rust 1.85 or newer:
git clone https://github.com/us/crw
cd crw
make check-fast
Engine and MCP server: AGPL-3.0. Python and TypeScript SDKs: MIT. Embedding license: hello@fastcrw.com.
Please respect website policies. Crawl and map follow robots.txt by default.
name: crw
description: |
Scrape, crawl, map, search, parse, and extract web data with fastCRW — the
open-source, self-hostable Firecrawl alternative (single Rust binary, ~14 MB
RAM, Firecrawl-compatible /v1 + /v2 API). Use whenever the user needs page
content, site-wide extraction, URL discovery, web search, PDF parsing,
structured JSON from pages, or change tracking. Also use when the user
mentions Firecrawl, Tavily, Crawl4AI, or "scrape/crawl/map/fetch/get the
page/read this site/search the web" — crw is a drop-in for the Firecrawl SDKs.
license: AGPL-3.0
metadata:
author: us
version: "0.3.0"
homepage: https://fastcrw.com
repository: https://github.com/us/crw
allowed-tools: Bash(crw:*) Bash(curl:*) ReadThe open-source alternative to Firecrawl. One static binary, ~14 MB RAM idle,
Firecrawl-compatible REST API on both /v1/* and /v2/*, first-class MCP, and
a bundled search backend — self-host free or use the managed
api.fastcrw.com.
This is the hub skill. It tells you which verb to reach for and in what order. Each verb has its own focused skill — load it when you commit to that step.
crw --version # binary on PATH? (brew install us/crw/crw)
crw_scrape,
crw_search, …) — see crw-self-host for setup, or run zero-install with
npx crw-mcp.curl. Every verb below has a REST
equivalent and needs nothing installed. Set CRW_API_URL, then call
POST $CRW_API_URL/v1/{scrape,crawl,map,search}. Each verb skill shows the
exact request.CRW_API_KEY=crw_live_…
and CRW_API_URL=https://api.fastcrw.com (free tier: 1000 one-time lifetime
credits, never resets).Climb the ladder in order. Stop at the cheapest rung that answers the need. Don't reach for a heavier verb than the task requires.
| Step | Verb | Use when | Surface | Skill |
|---|---|---|---|---|
| 1 | search | You have a question/topic, not a URL. Own search backend, self-hosted, no key. | CLI · MCP · REST | crw-search |
| 2 | scrape | You have one (or a few) known URLs and want clean content. | CLI · MCP · REST | crw-scrape |
| 3 | map | You need to discover which URLs exist on a site (fast, no content). | CLI · MCP · REST | crw-map |
| 4 | crawl | You need content from many pages under a site/section. | CLI · MCP · REST | crw-crawl |
| 5 | parse | The source is a local/remote file (PDF), not a web page. | MCP (crw_parse_file) · REST /v2/parse — no standalone CLI verb | crw-parse |
| 6 | extract | You need a typed JSON object out of a page, against a schema. | crw scrape --extract · REST /v2/extract — no standalone CLI verb | crw-extract |
| 7 | watch | You want to detect what changed between two snapshots. | REST /v1/change-tracking/diff — no CLI verb | crw-watch |
Common chains:
search → pick a URL → scrape it (or pass scrapeOptions to crw_search / REST /v1/search to do both in one call)map a docs site → filter the returned URLs for /docs/api/authentication → scrape that one pagemap → estimate size → crawl a bounded section → save to filescrw-build-*
skills, not the CLI skills.base_url swap.The skills show all three; pick what's available:
crw scrape …) — best when the binary is on PATH. One-shot, scriptable.crw_scrape, crw_search, crw_parse_file, crw_check_crawl_status, …) — best inside an agent harness.
Embedded mode runs the engine in-process (~14 MB); proxy mode forwards to a
REST endpoint via CRW_API_URL. Use crw_parse_file for PDF/file parsing
and crw_check_crawl_status to poll async crawl jobs.curl … /v1/scrape) — best for portability / drop-in Firecrawl SDK use..crw/), never stream a whole crawl
to stdout. Read incrementally with grep/head/jq.crw_map to 100 URLs) and mark
truncated: true. Pass maxLength: 0 / limit: 0 to opt out.& + wait, or multiple MCP calls).renderJs auto-detects; no separate browser step./v1/change-tracking/diff) — a stateless diff primitive
Firecrawl only offers as a managed feature./v1/{scrape,crawl,map,search} + /v2/{scrape,crawl,map,search,batch/scrape,parse,extract}
评论 (0)
暂无评论,成为第一个评论者吧!