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.