Start with Firecrawl
If the job is docs ingestion, site-to-markdown, or preparing public web pages for LLM context.
Start with workflow fit, not a generic “best scraping API” claim.
If the job is docs ingestion, site-to-markdown, or preparing public web pages for LLM context.
If the job is a managed scraping API and you may later test rendering, screenshots, or extraction rules.
If JavaScript-heavy public pages are central, but treat the matched rendering run as one small test, not a benchmark.
If API-focused scraping and commercial terms clarity matter, while accepting raw HTML/text output in the first small test.
Firecrawl currently has the strongest observed fit for docs/site-to-markdown workflows in this project. ScrapingBee has one successful small public-docs fetch using markdown/text output and remains a candidate for managed public page extraction. ZenRows and Scrape.do now each have one successful basic API fetch, but both returned raw/full HTML-like text rather than cleaned markdown.
| Dimension | Firecrawl | ScrapingBee | ZenRows | Scrape.do |
|---|---|---|---|---|
| Primary fit | inferred Docs/site crawling for LLM-ready data | inferred Managed public page extraction and scraping API workflows | inferred JS-heavy public page scraping workflows | inferred API-focused scraping comparison with partner terms clarity |
| Evidence level | observed Official facts + 2 small internal tests | observed Official facts + 1 small internal test | observed Official facts + 1 small internal test | observed Official facts + 1 small internal test |
| Observed status | FC-1 docs markdown passed; FC-3 pricing-page text signal passed | SB-1 public docs markdown/text passed | ZR-1 public docs basic API request passed with raw/full HTML-text response | SD-1 public docs basic API request passed with raw/full HTML-text response |
| Cost signal | observed Dashboard showed score/credit signal 1 | observed SB-1 showed about 1 / 1,000 credits | unverified Unknown | unverified Unknown |
| Markdown / text | Usable in small docs and pricing-page tests | Usable in small docs-page test | Basic fetch passed; clean markdown not observed | Basic fetch passed; clean markdown not observed |
| Pricing structure | Pricing terms captured; markdown table not preserved | Not tested | Unverified | Unverified |
| JS rendering | Not tested in this project | Target content appeared in one matched public AJAX demo test | Target content appeared in the same matched public AJAX demo test | Unverified |
| Public affiliate link readiness | not ready | not ready | not ready | not ready |
| Claim type | Status | How this page may use it |
|---|---|---|
| Workflow-fit recommendation | allowed | Use "start with" or "consider" language tied to a specific use case. |
| Small internal test result | allowed with caveat | Describe as observed evidence, not as a benchmark or broad performance claim. |
| Best overall vendor | prohibited | Do not use absolute ranking language. |
| JS rendering performance | unverified | Do not claim until a specific rendering test is run and labeled. |
| Affiliate monetization readiness | not ready | Do not publish referral links until vendor-specific blockers are cleared. |
Your first job is turning docs, sites, or public pages into LLM-readable content.
Review Firecrawl evidenceYou want a managed scraping API and may later test rendering, screenshots, or extraction rules.
Review ScrapingBee evidenceJavaScript rendering is the decision point and you need output-shape caveats before testing your own targets.
Review the rendering comparisonJavaScript-heavy public pages are likely central, with careful editorial framing.
Review ZenRows caveatsPartner terms clarity matters, while promo-rule gaps remain unresolved.
Review Scrape.do caveatsThese local outbound paths help measure aggregate vendor interest without cookies or personal data. They currently point to official vendor websites, not affiliate links.
Do not publish this comparison if affiliate terms prohibit review/comparison content, if source pages cannot be freshly verified, or if the page reads like an absolute ranking instead of a workflow-fit guide.
| Vendor | Current blocker | Required before public affiliate use |
|---|---|---|
| Firecrawl | vendor reply waiting | Resolve commission framing conflict and confirm attribution, payout, disclosure, coupon, social, and trademark rules. |
| ScrapingBee | approval pending | Wait for approval and confirm attribution, coupon, disclosure, social, and brand rules. |
| ZenRows | high caution | Decide basic-fetch-only vs ZR-2; confirm backend terms; avoid bypass framing. |
| Scrape.do | vendor reply waiting | Confirm 7-day attribution, PPC, brand, coupon, disclosure, and social rules. |