
I use Firecrawl as a tool inside an agent pipeline rather than as a manual scraper, and that's where it earns its place. The API surface is small /scrape, /search, /map, /extract, /crawl, so wiring it into a workflow takes minutes and I don't have to write per-site parsers or babysit a headless browser.
What stands out: the markdown output is genuinely clean, with headings, tables and code blocks intact, which matters when the text gets fed into a model rather than read by a human. /map gives me a usable URL inventory of an unfamiliar site in one call, and search-plus-scrape removes a whole round of plumbing I used to build myself. Failure modes are legible too, when a page returns nothing I can usually tell whether it was JS rendering, a block, or a genuinely empty page, which is rarer in this category than it should be. Review collected by and hosted on G2.com.
Credit accounting is the weakest part for me. It isn't obvious up front what a crawl of N pages will actually consume, so I stay conservative with page limits and check the dashboard rather than trusting an estimate, that caution costs me coverage on large sites.
Second, per-page control is thinner than I'd like: fewer knobs for pagination, per-page timeouts and retry behaviour on slow or flaky domains. On a site that times out intermittently I end up re-running the whole crawl instead of the pages that failed. Neither is a blocker, but both are the friction points I hit most often. Review collected by and hosted on G2.com.

