Skip to main content
Comparison

Exa vs fastCRW: Neural Search or Full Web Data

Exa vs fastCRW compared: neural embeddings search versus a Firecrawl-compatible scrape, crawl, map and search engine you can self-host free under AGPL-3.0.

fastcrw
By RecepJuly 2, 20269 min readLast updated: June 2, 2026

By the fastCRW team · Benchmarks and features verified 2026-05-18 · fastCRW launch pricing expires 2026-06-01 · Verify independently before buying.

Disclosure: We build fastCRW. This is a vendor-authored comparison, so weight it accordingly — but we have kept the section on where Exa genuinely wins explicit, because a comparison that pretends the competitor has none is useless to you.

Exa vs fastCRW at a glance

The short version of exa vs fastCRW: these two tools do different jobs, and the honest answer to "which should I use" usually starts with "what are you actually trying to get back." Exa is a neural search engine — you give it a query and it returns links to pages that are semantically relevant, ranked by an embeddings index it built over the web. fastCRW is a Firecrawl-compatible scrape, crawl, map, and search engine — you give it a URL or a query and it returns the full, clean page content as markdown or structured JSON. Exa finds pages; fastCRW reads them.

That distinction is the whole comparison. If your bottleneck is discovery — "find me pages conceptually like this one" — Exa is built for exactly that and we do not pretend fastCRW competes there. If your bottleneck is extraction — "give me the actual text, structured, from these pages so my model can use it" — that is the job fastCRW is built for.

DimensionExafastCRW
Core jobNeural / embeddings web search (discovery)Scrape, crawl, map, search (full-page extraction)
What you get backRanked links + snippets (full content optional)Full clean markdown or JSON-schema extraction
Semantic discoveryNative, embeddings-firstKeyword search via SearXNG sidecar
Whole-site crawl / mapNot the product/v1/crawl, /v1/map endpoints
Self-hostCloud-onlyAGPL-3.0 single ~8 MB binary, one container
API styleProprietaryFirecrawl-compatible REST (drop-in)

Neural search vs live retrieval + scrape

Exa's model is index-first. It runs crawlers ahead of time, embeds the pages it finds, and answers your query by nearest-neighbour search over that embeddings index. The win is conceptual matching: a query like "startups doing on-device speech models" can surface pages that never contain those exact words but mean the same thing. That is genuinely hard to do with keyword search, and it is Exa's reason to exist.

fastCRW's model is retrieval-first. Its /v1/search endpoint runs a live web search (via a SearXNG sidecar) and can optionally scrape the content of each result in the same call, returning full clean markdown rather than just a link and a snippet. Where Exa hands you a ranked list of URLs to go fetch, fastCRW can hand you the pages already read and cleaned. For a RAG pipeline that needs the body text — not just the address — that removes the second hop entirely.

Semantic discovery beats raw extraction when you do not yet know which pages you want and exact keywords will not find them. Raw extraction beats discovery when you already have the URLs (or a site to crawl) and you need the contents in an LLM-ready shape. Many production stacks want both: discover with one tool, extract with the other.

Where Exa genuinely wins

We are not going to hand-wave this. Exa owns the semantic-discovery job, and fastCRW does not do neural search:

  • Embeddings-native discovery. Exa's index is built around vector similarity, so it finds conceptually related pages that keyword search misses. fastCRW's /v1/search is keyword/web search, not an embeddings index — it is honest live retrieval, not neural ranking.
  • "Find me more like this." Exa's similarity search (give it a URL, get back pages like it) is a first-class primitive. fastCRW has no equivalent — it reads pages you point it at; it does not rank the web by resemblance.
  • Curated freshness for research. A maintained embeddings index can surface recent, on-topic pages without you assembling a query strategy. That is real value for discovery-heavy research agents.

If your hard problem is "I do not know which 50 pages on the web are relevant," Exa is the right tool and we would tell you to use it. For more on the discovery landscape, see the Exa Search API guide and what is Exa AI.

Where fastCRW wins

Once you have the URLs — or a whole site to traverse — the job flips from discovery to extraction, and that is fastCRW's lane:

  • Highest truth-recall in a 3-way scrape benchmark. On Firecrawl's own public scrape dataset, fastCRW recovered correct content for 63.74% of 819 labeled URLs — the highest of the three tools tested, ahead of Crawl4AI (59.95%) and Firecrawl (56.04%) (diagnose_3way.py, single run of 3,000 requests, 2026-05-08). fastCRW returned 91.8% scrape success of reachable URLs with 0 thrown errors. When the job is "actually get the right content back," that recall number is the one that matters.
  • Whole-site crawl and map. /v1/crawl runs an async BFS crawl (caps: maxDepth 10, maxPages 1000) and /v1/map discovers every URL on a site. Exa is not a site crawler; if you need the whole documentation tree or product catalog, fastCRW does that natively.
  • Structured JSON extraction. Pass formats: ["json"] with a jsonSchema and fastCRW returns the exact shape you asked for (5 credits per extract). Exa returns search results, not arbitrary schema-shaped data.
  • Self-host the engine free under AGPL-3.0. fastCRW is a single static Rust binary (~8 MB image, one container). Self-hosting it costs $0 per 1,000 scrapes — you pay only for your server. Exa is cloud-only; there is no box you can run yourself.

Search latency: the numbers

fastCRW publishes a separate search benchmark distinct from the scrape numbers above. Over 100 queries across 10 categories, run concurrently against three providers, fastCRW search averaged 880 ms with a 785 ms median, and won 73 of 100 latency races against Firecrawl and Tavily (benchmarks/triple-bench.ts, single point-in-time run). Success rate was 100%.

Two notes so you read these correctly. First, this is the search benchmark; it does not measure Exa, which was not in that run — treat it as evidence fastCRW's search latency is competitive, not as a head-to-head against Exa's neural index. Second, on the scrape side: p50 is 1914 ms (beating Firecrawl's 2305 ms), and in fast mode fastCRW's p90 is 4348 ms — the lowest of the three tested (Crawl4AI 4754 ms, Firecrawl 6937 ms). fastCRW also recovers 34 URLs that neither Crawl4AI nor Firecrawl reach — 70% more exclusive recoveries than the other two combined. We publish the full split rather than a single average; you can see it on /benchmarks.

Pricing and self-host economics

fastCRW bills on a single credit model across scrape, crawl, map, and search — one credit per scrape (HTTP or lightpanda renderer), one per search query, one per crawled page, five for a JSON extraction. The fastCRW pricing is 500 one-time lifetime credits (not a monthly meter), and paid tiers run from a Hobby plan upward. Rather than reprint a table that can drift, see the live /pricing page for current numbers — launch pricing is in effect and reverts on 2026-06-01.

The economics argument that has no Exa equivalent is self-hosting. Because the engine is AGPL-3.0 and ships as one small binary, you can run it on your own infrastructure at $0 per 1,000 scrapes — your only cost is the server. For high-volume retrieval where per-request cloud pricing compounds, that is a different cost class. Exa's pricing is per-request cloud only; verify Exa's current rates directly, as we do not cite competitor prices we have not locked.

Which one should you pick?

  • Pick Exa when discovery is the hard part — you need to find conceptually relevant pages you could not name in advance, or surface "more like this" from a seed URL. That is neural search, and fastCRW does not do it.
  • Pick fastCRW when extraction is the hard part — you have URLs or a site, and you need full clean markdown or schema-shaped JSON, whole-site crawl, or a self-hostable engine with a hard cost floor.
  • Use both together for the common production shape: let Exa discover the relevant URLs, then hand them to fastCRW to read and structure for your RAG index. Discovery and extraction are complementary, not competing — and pairing them is often the right architecture rather than forcing one tool to do both.

If you are specifically weighing Exa replacements, our Exa alternative guide and best Exa alternatives roundup go deeper on the discovery side of the trade-off.

Sources

  • fastCRW scrape benchmark (3-way, 819 labeled URLs): diagnose_3way.py, 2026-05-08 — see /benchmarks
  • fastCRW search benchmark (100 queries): benchmarks/triple-bench.ts — see /benchmarks
  • fastCRW repo, API, and pricing: github.com/us/crw · fastcrw.com · /pricing
  • Exa docs and pricing: exa.ai (verify current rates and capabilities directly)

Related: Exa alternative · What is Exa AI · Best Exa alternatives · Exa Search API guide

FAQ

Frequently asked questions

What is the difference between Exa and fastCRW?
Exa is a neural search engine: it uses an embeddings index to find pages that are semantically relevant to a query and returns ranked links. fastCRW is a Firecrawl-compatible scrape, crawl, map, and search engine: it returns the full, clean page content as markdown or JSON-schema-shaped data. Exa finds pages; fastCRW reads them. Many stacks use Exa to discover URLs and fastCRW to extract their contents.
Does fastCRW do neural or semantic search like Exa?
No. fastCRW's /v1/search is keyword/web search backed by a SearXNG sidecar, not an embeddings-based neural index. It does not rank the web by vector similarity and has no 'find more like this' primitive. For embeddings-native semantic discovery, Exa is the right tool; fastCRW is built for full-page extraction, crawl, and structured output instead.
Can fastCRW return full page content that Exa cannot?
Yes. fastCRW's core job is returning full clean markdown or JSON-schema extraction from pages, and its /v1/search can scrape the content of each result in the same call rather than just returning a link and snippet. On Firecrawl's public scrape dataset it had the highest truth-recall of three tools tested — 63.74% of 819 labeled URLs (diagnose_3way.py, 2026-05-08). Exa is built for discovery; full-content extraction is fastCRW's lane.
Is fastCRW cheaper than Exa for high-volume retrieval?
It can be, because fastCRW is self-hostable. The AGPL-3.0 engine runs as a single ~8 MB binary on your own server at $0 per 1,000 scrapes — you pay only for the box. Exa is cloud-only and billed per request, so at high volume the cost models diverge sharply. Verify Exa's current rates directly; we do not cite competitor prices we have not independently locked.
Can I self-host fastCRW instead of using Exa's cloud?
Yes. fastCRW is open-core under AGPL-3.0 and ships as a single static Rust binary in one container, so you can run the whole engine on your own infrastructure with no per-request cloud bill. Exa has no self-host option — it is a cloud service only. Self-hosting fastCRW also keeps scraped content and target URLs on your infrastructure, which matters for privacy-constrained workloads.

Get Started

Try CRW Free

Self-host for free (AGPL) or use fastCRW cloud with 500 free credits — no credit card required.

Continue exploring

More comparison posts

View category archive