Ffetch v5 – TypeScript-first fetch client
Adds circuit breakers and request deduplication to native fetch via a plugin system.
High-performance web crawler and scraper for TypeScript, powered by Bun and Playwright
Accessibility tree snapshots cut payload 10x for LLMs when Firecrawl exists.
Developers building LLM pipelines or needing structured web data
Firecrawl · Crawl4AI · JinaAI Reader
The part I want feedback on is the CLI. It's built for LLMs, not humans. JSON output when piped, feedstock schema crawl dumps every parameter at runtime, and --fields url,markdown lets you pull just what you need so a crawl result doesn't eat your whole context window. Other bits worth a look:
Fetch-first engine. Tries plain HTTP before booting a browser, escalates only if the page needs JS.
Deep crawl with BFS, DFS, a UCB1 bandit, and a Q-learning focused crawler. The learning ones seem to help on big docs sites but I haven't measured it carefully yet.
Accessibility tree snapshots instead of HTML. 3 to 10x smaller, easier to feed a model.
Cache uses bun:sqlite with ETag, Last-Modified, and content hashing.
v0.5.0, Apache 2.0, 325 tests. Just pushed it so the star count is what it is.
Adds circuit breakers and request deduplication to native fetch via a plugin system.
Shell history manipulation for script iteration is genuinely clever DX.
Drops Gherkin files for TypeScript decorators, but still feels like extra boilerplate.
TypeScript-native raw CDP driver fills a gap nodriver left for JS agents.
JSON recovery fixes malformed LLM output when Firecrawl and JinaAI fail on nested schemas.
Auto-generates an MCP server from your API actions without extra config.