Firecrawl vs raw fetch
A side-by-side in the Firecrawl problem space: the same URL pulled two ways, a bare edge fetch versus Firecrawl clean markdown, then the grounded answer each one produces. Clean input, better answer.
Live demo
Clean input is the whole game
Same URL, two extractors. A bare edge fetch keeps all the nav, footer, and boilerplate; Firecrawl returns just the main content as clean markdown. Then ask a question against each and watch the answer quality follow the input quality.
Native always runs at the edge. The Firecrawl side needs a FIRECRAWL_API_KEY; without one it shows the gap you would close by using the real product.
How it works
One URL, two extractors, then a grounded answer from each. The page is fetched two ways in parallel, both outputs are measured, and Workers AI answers the same question against each — so you can watch input quality drive output quality.
Key decisions
Reference
Why I built it
The hard part of any "chat with a website" feature is the boring part: getting clean, structured content out of an arbitrary page. So I run both extractors on the same URL and put them side by side. The bare edge fetch keeps every nav link, footer, and cookie banner; Firecrawl returns just the main content. Ask a question against each and the answer quality tracks the input quality, which is the case for paying for Firecrawl. Both extractors are SSRF-guarded and size and time capped.