Skip to main content

Blog category

Engineering

Engineering notes on architecture, performance, benchmarks, releases, and infrastructure tradeoffs behind fastCRW.

Engineering·9 min read

Cloudflare's September 15 AI Crawler Wall: What Agent Builders Need to Know

From September 15, 2026, Cloudflare blocks mixed-use AI crawlers on ad-supported pages by default. What changes for agents, RAG pipelines, and scraping.

Jul 21, 2026
Engineering·10 min read

Streaming Scrape Results in Node.js with SSE

Stream scrape results to the browser in Node.js with Server-Sent Events. Push crawl progress and results live as a job runs, with backpressure handled.

Jul 11, 2026
Engineering·9 min read

Privacy-First Web Scraping API for Regulated Work

A privacy-first web scraping API for regulated teams: keep scraped data on-prem, self-host the engine, and stop third-party data egress.

Jul 11, 2026
Engineering·10 min read

Truth-Recall: The Metric That Caps RAG Recall

Compare fastCRW, Crawl4AI, and Firecrawl on truth-recall and see why ingestion accuracy, not embeddings, caps RAG retrieval recall before you ever index.

Jul 11, 2026
Engineering·16 min read

The Real Cost of Web Scraping at Scale: A TCO Model (2026)

A total-cost-of-ownership model for web scraping at scale in 2026 — credit multipliers, retry tax, proxy spend, engineer-time, and the break-even point where self-hosting an open-core engine wins.

Jul 10, 2026
Engineering·8 min read

Proxy Rotation & Residential IPs: When You Need Them

Proxy rotation and residential IPs help scrapers avoid blocks, but they add cost. Learn how they work, when you actually need them, and cheaper alternatives.

Jul 10, 2026
Engineering·8 min read

Zero Data Egress Scraping for Compliance

Zero data egress scraping keeps scraped content, target URLs, and prompts inside your network. Learn the architecture, compliance wins, and honest trade-offs.

Jul 10, 2026
Engineering·8 min read

Structured Extraction: JSON Schema vs Prompts

Structured data extraction can use a strict JSON schema or freeform prompts. Learn the trade-offs in reliability, cost, and accuracy, with a decision guide.

Jul 9, 2026
Engineering·12 min read

Rust Web Scraper for AI Agents: Feeding Fresh Web Content into Agent Context

A Rust web scraper for AI agents that runs local as a single ~8 MB binary, plugs into an MCP server, and scored highest truth-recall (63.74% of 819 labeled URLs on Firecrawl's own scrape-content-dataset-v1, diagnose_3way.py, 2026-05-08) in a 3-way run. How we feed fresh, clean web content into RAG and agent context.

Jul 7, 2026
Engineering·8 min read

Credit-Based vs Metered Billing: Which Scales

Credit-based and metered billing price web scraping differently. See how credits, multipliers, and rollover affect cost at scale and which stays predictable.

Jul 6, 2026
Engineering·9 min read

Honest Tail Latency: When p90 Matters for Agents

Tail latency (p90/p99) decides whether an AI agent stalls mid-loop. Learn when web scraping tail latency matters and how to design around a slow worst case.

Jul 6, 2026
Engineering·9 min read

LLM Extraction vs Regex Parsing for Modern Sites

LLM extraction vs regex parsing: when a JSON schema beats brittle regex/CSS selectors, what each costs in credits, and a hybrid that keeps your bill low.

Jul 6, 2026
Engineering·16 min read

AGPL-3.0 for SaaS, Explained: What It Actually Obligates (2026)

A practical, non-lawyer guide to AGPL-3.0 for SaaS teams. What the network clause really triggers, why API/Cloud use carries zero copyleft, the modified-and-distributed test, and when you need a commercial license.

Jul 4, 2026
Engineering·9 min read

p50 vs p90 vs p99 Latency in Web Scraping

p50, p90 and p99 latency tell different stories about a web scraper. Learn what each percentile means, why averages mislead, and how to read scraper benchmarks.

Jul 4, 2026
Engineering·14 min read

Scheduled Crawls With Cron and fastCRW (2026): A Reliable Recurring Pipeline

Build a robust scheduled crawl: a Python crawler over CRW, a systemd timer (and cron alternative), lockfiles to prevent overlap, retries, and change detection. Self-host free under AGPL-3.0.

Jul 4, 2026
Engineering·14 min read

Self-Host CRW With Docker Compose (2026): Production Setup in 10 Minutes

A production docker-compose for self-hosting CRW: API key auth, resource limits, healthchecks, a reverse proxy with TLS, and log rotation. Zero per-request cost under AGPL-3.0. Copy-paste configs.

Jul 4, 2026
Engineering·16 min read

Anti-Bot and Proxies in 2026: An Honest Overview for Scraper Builders

How modern anti-bot detection actually works, what proxies do and don't solve, the escalation ladder from plain fetch to residential rotation, and why the proxy line dominates scraping cost at scale.

Jul 3, 2026
Engineering·12 min read

Firecrawl API Compatibility: What 'Drop-in Compatible' Actually Means (2026)

An engineering breakdown of Firecrawl API compatibility — which endpoints overlap, how the request/response shapes line up, where surfaces diverge, and how to write client code that survives a base-URL swap.

Jul 3, 2026
Engineering·9 min read

Convert Website to LLM Data: The Pipeline Pattern

The pipeline pattern to convert a webpage into LLM-ready data: map, crawl, scrape to Markdown, extract JSON. One Firecrawl-compatible API, self-hostable for $0.

Jul 2, 2026
Engineering·14 min read

Using Playwright or Puppeteer as a Scraper vs fastCRW: The Real Cost (2026)

Rolling your own scraper with Playwright or Puppeteer is tempting and free — until you count RAM, anti-bot maintenance, and engineering time. Honest TCO comparison vs fastCRW's open-core API.

Jul 2, 2026
Engineering·9 min read

Concurrent Requests & Rate Limiting: Scaling Scraping

Scale web scraping with concurrent requests and rate limiting: tune parallelism, respect target sites, and choose between the batch endpoint and iterating /v1/scrape.

Jun 30, 2026
Engineering·15 min read

Deploy fastCRW on Kubernetes (2026): Manifests, HPA, and Ingress

Production Kubernetes manifests for CRW: Deployment, Service, secret-backed API key, HorizontalPodAutoscaler, probes, and TLS Ingress. A ~6MB Rust binary scales horizontally with ease. Copy-paste YAML.

Jun 29, 2026
Engineering·11 min read

Does Language Matter for Web Scraping Speed?

Does the language matter for web scraping speed? An honest look at Python vs Node vs Go vs Rust on concurrency, memory and footprint, and what really wins.

Jun 28, 2026
Engineering·9 min read

Stateless vs Stateful Scraping: Session Tradeoffs

Stateless vs stateful scraping: when persistent sessions and cookies help, what they cost in complexity, and how to handle logins without server-side state.

Jun 28, 2026
Engineering·9 min read

LLM Fine-Tuning Data Pipelines From the Web

Build LLM fine-tuning instruction datasets from the web: schema-driven Q/A extraction, prompt/response pair structuring, and a managed formatter on paid plans.

Jun 26, 2026
Engineering·15 min read

Local-First Web Scraping and Data Privacy: Why the URL Leak Matters

Every hosted scraping API sees every URL you scrape. A deep-dive on local-first web scraping, data residency, and the privacy and compliance case for keeping the scrape engine on your own infra.

Jun 26, 2026
Engineering·16 min read

Open Source Web Scraping in 2026: The Open-Core Trap and How to Avoid It

Not all 'open source' scraping tools are equally free. A guide to open source web scraping in 2026 — open-core bait-and-switch, crippled OSS tiers, cloud-only anti-bot engines, and what genuine parity looks like.

Jun 25, 2026
Engineering·9 min read

Web Scraping Benchmark Methodology: Why p50/p90/p99

Our web scraping benchmark methodology: shared public dataset, percentile latency, labeled ground-truth recall, disclosed gaps. Why we never publish averages.

Jun 24, 2026
Engineering·12 min read

Firecrawl Extract Deep Dive: Schemas, Cost, and the Dual-Billing You Need to Plan For

A technical and economic deep dive on Firecrawl's structured extraction — JSON schemas, natural-language extraction, accuracy patterns — and the separate token subscription that makes extract the most underestimated line item.

Jun 24, 2026
Engineering·9 min read

Vector Embeddings vs Keyword Search Explained

Vector embeddings power semantic search; keyword search matches exact terms. Learn the difference, when each one wins, and where live web retrieval fits.

Jun 24, 2026
Engineering·15 min read

Scraping Latency Explained: Where the Milliseconds Actually Go

A from-first-principles breakdown of web scraping latency in 2026 — DNS, TLS, fetch, render decision, extraction, and inter-service hops — and the architectural choices that make a scrape return in under a second.

Jun 23, 2026
Engineering·8 min read

Training Data Collection via Web Scraping

Collect an LLM training corpus by scraping the web responsibly: coverage, provenance, robots.txt, and the legal questions you must settle before you start.

Jun 23, 2026
Engineering·15 min read

LLM-Ready Markdown Extraction: Why Clean Beats Complete

Turning a web page into LLM-ready markdown is not 'dump the HTML.' A deep-dive on boilerplate stripping, structure preservation, token economics, and why extraction quality silently decides RAG answer quality.

Jun 22, 2026
Engineering·12 min read

Firecrawl for RAG Pipelines: What It's Great At, and Where the Bill Bites

An engineering look at using Firecrawl in a RAG ingestion pipeline — markdown quality, crawl-to-chunk patterns, freshness, and the cost dynamics that decide whether a Firecrawl-compatible self-host wins.

Jun 20, 2026
Engineering·9 min read

We Built a Drop-In Firecrawl Research API — and Beat It on ArXivQA (61% vs 53.3%)

fastCRW's Research API mirrors Firecrawl's research endpoints and reaches 61.0% recall on the ArXivQA paper-retrieval benchmark vs Firecrawl's 53.3% — live, with no self-hosted index. Here's exactly how.

Jun 20, 2026
Engineering·8 min read

What Is Local-First Web Scraping?

Local-first web scraping keeps target URLs and scraped data on your own infra. Learn what it means, how it works, and when it beats a cloud scraping API.

Jun 15, 2026
Engineering·11 min read

What Is Agentic Search and Why It Beats Stale Caches

Agentic search queries the live web at reasoning time. Learn how it differs from RAG and traditional search, and when agents need real-time retrieval.

Jun 14, 2026
Engineering·9 min read

Agentic Search vs RAG Retrieval for Agents

Agentic search vs RAG retrieval: which to use for AI agents. Compare freshness, latency, cost, and accuracy, and learn when to combine both in one stack.

Jun 14, 2026
Engineering·12 min read

Best Chunking Strategies for RAG in 2026

Compare 7 chunking strategies for RAG: fixed, recursive, semantic, page-level, late chunking. When to use each, with code, benchmarks, and honest trade-offs.

Jun 14, 2026
Engineering·9 min read

How to Measure Web Scraper Accuracy (Truth-Recall)

Truth-recall measures how much labeled ground-truth content a scraper actually returns. Learn how to measure web scraper accuracy with a real 819-URL method.

Jun 14, 2026
Engineering·11 min read

What Is a Web Index? How It Powers Search & AI Agents

A web index is a pre-built snapshot of the web. Learn the four-stage indexing pipeline, hybrid retrieval, and why index quality caps what your agent answers.

Jun 13, 2026
Engineering·11 min read

LangGraph Web-Aware RAG at Lower Latency

Add a web-aware retrieval node to LangGraph RAG with fastCRW. Cut median scrape latency vs Firecrawl with the highest truth-recall of three tools tested.

Jun 10, 2026
Engineering·9 min read

Managed LLM Search API Costs: The Capped Credit Model

How managed LLM search adds model usage to your bill: metered in credits with an 8,000-credit per-request cap that keeps answer-mode cost predictable.

Jun 8, 2026
Engineering·9 min read

Why a Stateless Request Model Beats Sessions

A stateless web scraping architecture is simpler to scale, retry, and self-host. How fastCRW's per-request model avoids session affinity and sticky routing.

Jun 8, 2026
Engineering·13 min read

Scheduled Web Scraping in GitHub Actions With fastCRW (2026)

Run scrapes on a schedule for free with GitHub Actions: spin up CRW as a service container, scrape with Python, commit results, and open a PR on change. Full workflow YAML — no servers, AGPL-3.0.

Jun 6, 2026
Engineering·9 min read

Search Index vs Live Web: Agents Need Both

A search index is fast but can be stale; the live web is fresh but slower. Learn why AI agents need both layers and how to combine them for speed and freshness.

Jun 5, 2026
Engineering·9 min read

Credit Multiplier Traps in Scraping APIs

Scraping APIs hide cost in multipliers: render multipliers, premium-proxy multipliers, separate extract plans. Learn to spot the traps and price a flat alternative.

Jun 3, 2026
Engineering·8 min read

URL Mapping vs Sitemap Parsing for Discovery

URL mapping vs sitemap.xml parsing for site discovery: coverage, freshness, and cost. When /v1/map beats a stale sitemap and feeds a crawl for 1 credit.

Jun 3, 2026
Engineering·9 min read

Ruby to Go: Rewriting Legacy Scrapers for Speed

Rewrite a legacy Ruby web scraper in Go for concurrency — or skip the rewrite and call a Firecrawl-compatible API from Go. Migration patterns, costs, and limits.

Jun 2, 2026
Engineering·12 min read

Firecrawl /scrape Deep Dive: Formats, JS Rendering, and the Compatible Way to Call It

A deep technical walkthrough of Firecrawl's scrape endpoint — formats, markdown vs HTML vs JSON, JavaScript rendering, metadata, error handling — and how the same calls work against a Firecrawl-compatible engine.

May 31, 2026
Engineering·17 min read

How We Built fastCRW: Rust, 50MB RAM, and the Path to Real-Time Web Scraping for AI Agents (2026)

A build-in-public engineering write-up of fastCRW — why we wrote it in Rust, how the binary stays around 50 MB RAM idle on a $5 VPS, when LightPanda beats Chromium, the Firecrawl-compatible REST surface, the built-in MCP server, the 63.74% truth-recall benchmark (diagnose_3way.py, 2026-05-08), and the things we got wrong along the way.

May 27, 2026
Engineering·16 min read

Rust vs Python Scrapers: An Architecture and Footprint Deep-Dive

Not 'which language is faster' — a systems-level look at why Rust and Python scraper architectures diverge on memory footprint, concurrency model, cold start, and operational surface, and when each wins.

May 25, 2026
Engineering·16 min read

Build an LLM Training-Data Pipeline With fastCRW (2026): Crawl, Clean, Dedupe to JSONL

Turn the web into clean fine-tuning data: crawl with CRW, strip boilerplate, quality-filter, near-dedupe with MinHash, and emit JSONL. Full runnable Python — self-host free under AGPL-3.0.

May 24, 2026
Engineering·12 min read

Firecrawl /crawl Deep Dive: Jobs, Limits, Credit Cost, and Safe Patterns (2026)

Everything about Firecrawl's crawl endpoint — the async job model, depth and page limits, why crawl is the biggest credit sink, polling patterns, and how the same crawl works against a Firecrawl-compatible engine.

May 20, 2026
Engineering·9 min read

fastCRW v0.7.0: LLM Summary and Search Answer (Managed LLM)

v0.7.0 adds AI summaries to /scrape, Perplexity-style answers with citations to /search, and per-result LLM summaries — powered by fastCRW's managed LLM on paid plans.

May 12, 2026
Engineering·7 min read

fastCRW v0.0.10: Rate Limiting, Crawl Cancel, and Machine-Readable Error Codes

CRW v0.0.10 adds configurable rate limiting, a crawl cancel endpoint, machine-readable error codes on every error response, fenced code blocks, and cleaner markdown output for RAG pipelines.

Apr 26, 2026
Engineering·12 min read

The Real Cost of Self-Hosting vs Cloud Scraping APIs

Self-hosted vs cloud scraping API costs — TCO breakdown with real calculations for VPS, engineering time, and CRW's lightweight edge.

Apr 25, 2026
Engineering·8 min read

fastCRW v0.0.2: CSS Selectors, Chunking, BM25 Scoring, and Stealth Mode

CRW v0.0.2 adds CSS/XPath extraction, RAG-ready chunking with BM25 and cosine scoring, stealth mode for bot detection bypass, per-request proxy, and a setup command for JS rendering.

Apr 23, 2026
Engineering·10 min read

fastCRW v0.0.11: Stealth Anti-Bot Bypass, Chrome Failover, and Cloudflare Challenge Retry

CRW v0.0.11 adds automatic stealth JavaScript injection to bypass bot detection, Chrome as a fallback renderer for complex SPAs, Cloudflare challenge auto-retry, and HTTP-to-CDP auto-escalation.

Apr 22, 2026
Engineering·7 min read

Single-Binary Infrastructure: Why It Matters for Developer Tools

The case for single-binary deployment in developer infrastructure — operational simplicity, CI speed, and why CRW ships as one 8 MB file.

Apr 22, 2026
Engineering·9 min read

Rust vs Python Web Scraping (2026): Lower Latency, Tiny Footprint

Rust web scrapers run with lower latency and a far smaller memory footprint than Python. We compare fastCRW (Rust) against Scrapy, BeautifulSoup, and Playwright — latency, memory, throughput, and which to pick for your stack.

Apr 16, 2026
Engineering·10 min read

Why Every AI Agent Needs a Web Context Layer

Why AI agents need a web context layer — live scraping as infrastructure to reduce hallucinations. Build one with MCP, RAG, and CRW.

Apr 16, 2026
Engineering·7 min read

Why Low Memory Usage Matters in Self-Hosted Scraping

How idle RAM affects your hosting costs and concurrent throughput — and why CRW's small single-binary footprint changes the economics.

Apr 13, 2026
Engineering·11 min read

Inside fastCRW: Architecture of a Lightweight Rust Scraping API

A technical deep-dive into CRW's Axum-based API, lol-html parser, LightPanda integration, and how it stays a small single static binary with a tiny idle footprint.

Apr 12, 2026
Engineering·8 min read

Introducing Search: Find, Scrape, and Extract in One API Call

CRW now includes a search endpoint. Search the web, get structured results, and optionally scrape every result page — all in a single API call.

Apr 3, 2026
Engineering·10 min read

fastCRW v0.0.8: Wikipedia Fix, LLM Extraction, and Smarter Noise Detection

CRW v0.0.8 fixes Wikipedia extraction with onlyMainContent, adds per-request LLM extraction config, introduces 3-tier noise matching, and hardens the content cleaning pipeline.

Apr 2, 2026
Engineering·16 min read

What I Learned Benchmarking fastCRW Against Firecrawl and Crawl4AI

How we benchmark CRW against Firecrawl and Crawl4AI — methodology, dataset breakdown, what the metrics mean, and a one-command reproducible script you can run against your own URLs.

Mar 11, 2026
Engineering·18 min read

Why I Built fastCRW: A Lightweight Firecrawl-Compatible Scraper in Rust

The story behind CRW — why Rust, why single-binary, and why Firecrawl-compatible for AI agent and RAG use cases.

Mar 4, 2026

Browse more

Jump back to the full archive

This category contains 68 of 229 total posts in the fastCRW blog archive.

View all blog posts