Skip to content

Web Scraping APIs Arena

Crawl4AI vs ScrapingBee

Crawl4AI wins · 3123 (36 drawn)

Agenticness — how well agents can access and operate the productAgenticness

How well agents can access and operate the product

Agent access

  1. ai-native userPoint an agent at llms.txt or agent-oriented docs

    weight 2 · round to ScrapingBee
    Crawl4AInone0/10

    A direct probe of the docs site found no llms.txt (404), and there is no evidence of any agent-oriented docs format for AI agents to consume; the evidence pack shows only standard human-readable documentation and CLI/MCP references that don't satisfy this story.

    • [probe] PROBE llms.txt: HTTP 404 at https://docs.crawl4ai.com/llms.txt
    ScrapingBeefullprobed8/10

    ScrapingBee has a confirmed live llms.txt at the documented URL (HTTP 200) serving an index of its documentation, directly satisfying the story of pointing an agent at agent-oriented docs; it also has an official MCP server further supporting agentic access. Missing for 10: a per-page markdown/docs.md mirror (probe shows 404) and an OpenAPI spec discoverable at standard paths, which would round out machine-readable doc coverage.

    • [probe] PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…
    • [probe] PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md
    • [probe] official MCP server documented at https://mcp.scrapingbee.com/
  2. ai-native userRun the product headlessly / in CI for automation

    weight 2 · round to Crawl4AI
    Crawl4AIfullprobed8/10

    Crawl4AI ships a CLI (crwl), a Python async API usable in scripts, and a Dockerized FastAPI server setup explicitly for deployment/automation, all consistent with headless CI use; community evidence confirms production/Docker/n8n integrations. Missing for 10: no explicit CI pipeline example (e.g., GitHub Actions) or headless-mode flag documentation in the pack.

    • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
    • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
    • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
    • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
    • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
    ScrapingBeefullprobed7/10

    ScrapingBee is a pure API service (API key + HTTP calls) designed for programmatic use, and it ships an official CLI (scrapingbee-cli) enabling scripted/headless invocation suitable for CI pipelines. Missing for 10: explicit CI/CD pipeline examples (e.g., GitHub Actions), and no independent hands-on confirmation of CLI use in automation contexts.

    • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
    • [probe] official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli
  3. ai-native userConnect an agent via an official MCP server

    weight 3 · round to ScrapingBee
    Crawl4AIpartialprobed7/10

    Official docs explicitly document an MCP (Model Context Protocol) server for self-hosting, confirming Crawl4AI ships a first-party MCP integration point for agents. However, community evidence notes developers commonly struggle with configuring MCP servers for tools like Cursor, indicating real-world friction rather than a seamless plug-and-play experience. Missing for 10: detailed first-party MCP server docs/spec excerpt, independent hands-on confirmation of successful agent connection, and evidence the setup struggles are resolved.

    • [probe] official MCP server documented at https://docs.crawl4ai.com/core/self-hosting/#mcp-model-context-protocol-support
    • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
    • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
    ScrapingBeefullprobed6/10

    ScrapingBee is a scraping API/service (not itself an agent), so publishing an official MCP server is a valid axis; a probe confirms an official MCP server is documented at mcp.scrapingbee.com. However, there is no first-party documentation detail on the MCP server's tool set, setup, or independent/community corroboration of it working. Missing for 10: detailed official docs on MCP server capabilities/setup, independent hands-on confirmation.

    • [probe] official MCP server documented at https://mcp.scrapingbee.com/
  4. ai-native userUse an official CLI

    weight 2 · round to Crawl4AI
    Crawl4AIfullprobed8/10

    There is a documented official CLI (`crwl`) with deep-crawl and other flags shown in GitHub examples, plus a dedicated docs page confirming it as an official feature. missing for 10: independent/hands-on third-party verification of the CLI's usage and a fuller list of supported CLI commands/flags beyond the single example.

    • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
    • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
    ScrapingBeefullprobed6/10

    Evidence shows an official CLI repo published by ScrapingBee (scrapingbee-cli on GitHub), directly satisfying the story. However, there's no documentation excerpt describing CLI features, installation, or usage details, nor independent community corroboration of its use. Missing for 10: detailed CLI documentation/usage examples, independent/hands-on validation, and confirmation of active maintenance.

    • [probe] official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli
  5. ai-native userDrive the product through a documented public API

    weight 3 · round to ScrapingBee
    Crawl4AIpartialprobed6/10

    Crawl4AI ships a documented Python async API (AsyncWebCrawler.arun), a CLI, and a Dockerized FastAPI server plus an official MCP endpoint, giving AI agents multiple programmatic ways to drive it. However, probes show no discoverable OpenAPI spec or llms.txt for the hosted API, meaning the REST/API surface isn't formally machine-documented in a standard way. Missing for 10: a published OpenAPI/swagger schema, llms.txt, and independent confirmation of API stability/versioning.

    • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
    • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
    • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
    • [probe] official MCP server documented at https://docs.crawl4ai.com/core/self-hosting/#mcp-model-context-protocol-support
    • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
    • [probe] PROBE llms.txt: HTTP 404 at https://docs.crawl4ai.com/llms.txt
    • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
    ScrapingBeefullprobed8/10

    ScrapingBee's entire product is a documented public REST API with extensive parameter documentation (docs-1 to docs-15) and an llms.txt index for AI discoverability (probe-1), plus official CLI and MCP server (probe-4, probe-5) enabling agentic access. Missing for 10: a machine-readable OpenAPI/Swagger spec (probe-2 and probe-3 both 404) and independent hands-on confirmation of API integration ease.

    • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
    • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
    • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
    • [probe] PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…
    • [probe] official MCP server documented at https://mcp.scrapingbee.com/
    • [probe] official CLI documented at https://github.com/ScrapingBee/scrapingbee-cli
    • [probe] PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…
  6. ai-native userIssue scoped/least-privilege API credentials for an agent

    weight 2 · round drawn
    Crawl4AInone0/10

    Crawl4AI is an open-source library/self-hosted tool that explicitly avoids API keys ('No forced API keys'), and there is no evidence of any credential issuance system, scoped tokens, or least-privilege access controls for agents; auth-related evidence only covers browser profile cookies/session state, not API credential scoping.

    • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
    • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
    ScrapingBeenone0/10

    Evidence only shows a single API key model for authentication with no mention of scoped, restricted-permission, or per-agent credential issuance; the community note about using two API keys does not indicate least-privilege scoping. Missing for 10: any documentation of scoped/restricted API keys, role-based permissions, or credential issuance mechanisms for agents.

    • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
    • [community] cool idea, but I don't like how I need to use two separate API keys to connect to this API (which relies on ScrapingBee for scraping) - can …
  7. ai-native userBuild against official SDKs

    weight 2 · round to Crawl4AI
    Crawl4AIfullprobed7/10

    Crawl4AI ships a first-party Python SDK (AsyncWebCrawler API, extraction strategies, CLI) that is well documented and used directly by developers per docs and GitHub. missing for 10: no official SDKs beyond Python (e.g., JS/TS), no OpenAPI spec (404s found), and no independent benchmarking of SDK stability/versioning.

    • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
    • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
    • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
    • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
    • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
    • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
    ScrapingBeenone0/10

    The evidence pack documents ScrapingBee's REST API parameters, an official CLI, and an MCP server, but contains no mention of official SDKs (e.g., Python, Node.js, PHP client libraries) that AI-native developers could build against. Absence of evidence for this applicable capability warrants a 'none' verdict.

    • ai-native userSubscribe to events via webhooks

      weight 2 · round drawn
      Crawl4AInone0/10

      No evidence of webhook subscription or event-push capability anywhere in the docs, GitHub features, or community discussion; the product is a crawling library/service with Docker/FastAPI/MCP interfaces but nothing about webhooks.

        ScrapingBeenone0/10

        No evidence of any webhook subscription or event notification system in ScrapingBee's documentation; all evidence covers synchronous scraping API parameters, proxies, and rendering options with no mention of webhooks or event-driven callbacks.

        Agentic features

        1. ai-native userGet AI-generated insights and suggestions from my data inside the product

          weight 2 · round to Crawl4AI
          Crawl4AIpartialclaimed4/10

          Crawl4AI offers LLM-driven structured extraction and adaptive crawling that determines when 'sufficient information' has been gathered, which could generate insight-like structured data from crawled content, but there is no evidence of a dashboard or interface that generates proactive 'insights and suggestions' about a user's own data corpus in the way the story implies. missing for 10: evidence of an insights/suggestions UI or report generation feature, evidence of proactive recommendations rather than raw extraction, independent confirmation of this use case.

          • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
          • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
          • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
          ScrapingBeepartialclaimed3/10

          ScrapingBee's `ai_query` parameter lets users ask AI to extract specific information from scraped pages, which is a limited AI capability applied to data the product handles, but it's user-directed extraction rather than proactive AI-generated insights or suggestions surfaced inside the product. Missing for 10: evidence of automated insight generation, trend/anomaly detection, or suggestion features beyond on-demand query-based extraction.

          • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
        2. ai-native userSet up automations that run autonomously in the background

          weight 2 · round to Crawl4AI
          Crawl4AIpartialcommunity4/10

          Crawl4AI provides Docker/FastAPI deployment, resume checkpoints, and community mentions of bridging to automation tools like n8n and MCP servers, suggesting it can be embedded into autonomous background pipelines, but there is no first-party evidence of a native scheduler, trigger system, or persistent autonomous agent loop within Crawl4AI itself. missing for 10: native scheduling/trigger mechanism, documented autonomous background-run feature, first-party (non-community) evidence of persistent unattended operation, integration guide owned by Crawl4AI rather than third-party community sites.

          • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
          • [github] resume_state parameter to continue from a saved checkpoint
          • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
          • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
          • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
          ScrapingBeenone0/10

          ScrapingBee is an on-demand scraping API/CLI/MCP server; evidence shows only synchronous request-response scraping calls, with no scheduling, triggers, or background job/automation orchestration features documented.

          • ai-native userDelegate tasks to a built-in AI assistant inside the product

            weight 3 · round drawn
            Crawl4AInone0/10

            The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

              ScrapingBeenone0/10

              The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

              • ai-native userOperate the product with natural-language commands

                weight 2 · round to ScrapingBee
                Crawl4AIpartialclaimed5/10

                Crawl4AI supports LLM-based extraction where users can specify extraction goals in natural language, and its adaptive crawling engine stops based on a natural-language 'query' describing what information is needed. However, the core interface (CLI, Python API) is still command/flag-based, not a general natural-language command layer for controlling the crawler itself. missing for 10: evidence of a chat-style or NL command interface for the tool's core operations, independent confirmation of how well NL-driven extraction/query works in practice.

                • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                ScrapingBeepartialprobed6/10

                ScrapingBee's `ai_query` parameter lets users specify what to extract from a page using natural language, and there is a documented official MCP server (mcp.scrapingbee.com) that would let AI agents invoke ScrapingBee via natural-language tool calls. However, the core product interface remains a structured REST API with many typed parameters, not a natural-language command interface itself. Missing for 10: evidence of a chat/NL interface for configuring scrapes beyond ai_query, and independent confirmation the MCP server supports full natural-language operation.

                • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                • [probe] official MCP server documented at https://mcp.scrapingbee.com/
              • ai-native userApply a preset configuration tuned for research agents that returns structured, citable output

                weight 2 · round to Crawl4AI
                Crawl4AIpartialclaimed5/10

                Crawl4AI supports markdown/structured output and LLM-based structured extraction, and its 'adaptive crawling' feature explicitly determines when 'sufficient information has been gathered to answer your query,' which aligns with a research-agent workflow. However, there is no evidence of an actual named preset/config specifically tuned for research agents nor of output formatted with citations/sources for verifiability. Missing for 10: a documented 'research agent' preset profile, explicit citation/source-tracking in output, and independent confirmation that adaptive crawling output is citable.

                • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                ScrapingBeepartialprobed4/10

                ScrapingBee offers markdown output (return_page_markdown), AI-driven extraction (ai_query), and structured extraction (extract_rules) which can produce citable, structured output usable by research agents, plus an MCP server for agentic integration. However, there is no evidence of a dedicated 'preset configuration tuned for research agents' — no named research-agent mode, no citation metadata, and no documentation bundling these features into a single agent-oriented preset. missing for 10: a documented research-agent preset/mode, citation/source-attribution output, and evidence of agent-specific tuning beyond generic AI extraction params.

                • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format
                • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                • [probe] official MCP server documented at https://mcp.scrapingbee.com/

              Api quality

              1. ai-native userExplore an interactive API reference with runnable examples

                weight 2 · round drawn
                Crawl4AInone0/10

                Docs show static code snippets (e.g., crawl4ai-docs-1) but there is no evidence of an interactive API reference (like Swagger/OpenAPI UI) or runnable in-browser examples; probes explicitly confirm openapi.json/swagger.json and llms.txt endpoints return 404, indicating no such interactive reference exists.

                • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                • [probe] PROBE llms.txt: HTTP 404 at https://docs.crawl4ai.com/llms.txt
                • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                ScrapingBeenone0/10

                The evidence pack shows only static parameter documentation and no mention of an interactive API reference, live 'try it' console, or runnable code examples; probes even show no OpenAPI/swagger spec and a 404 on a machine-readable docs endpoint, suggesting no interactive explorer exists.

                • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                • [probe] PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md
                • [probe] PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…
              2. ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)

                weight 2 · round drawn
                Crawl4AInone0/10

                Crawl4AI ships a Dockerized FastAPI server (crawl4ai-gh-5), so a machine-readable OpenAPI spec would be a plausible artifact, but direct probes for openapi.json/swagger.json/llms.txt all returned 404 with no alternative spec location documented.

                • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                • [probe] PROBE llms.txt: HTTP 404 at https://docs.crawl4ai.com/llms.txt
                • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                ScrapingBeenone0/10

                Direct probes for an OpenAPI/Swagger spec at all standard locations returned 404, and no evidence pack item shows a downloadable machine-readable API spec being offered elsewhere; only an llms.txt index and human-readable docs exist.

                • [probe] PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md
                • [probe] PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…
              3. ai-native userTest against a sandbox environment without touching production data

                weight 1 · round drawn
                Crawl4AInone0/10

                The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                  ScrapingBeenone0/10

                  The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                  • ai-native userRely on versioned APIs with a documented deprecation policy

                    weight 2 · round drawn
                    Crawl4AInone0/10

                    No evidence of versioned APIs or a documented deprecation policy; probes show no OpenAPI spec, no llms.txt, and no mention of versioning/deprecation practices anywhere in docs or community discussion.

                    • [probe] PROBE llms.txt: HTTP 404 at https://docs.crawl4ai.com/llms.txt
                    • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                    ScrapingBeenone0/10

                    No evidence of API versioning scheme or a documented deprecation policy; OpenAPI spec probes 404 and docs don't mention versioning/deprecation terms at all.

                    • [probe] PROBE openapi: all candidate paths 404 (https://www.scrapingbee.com/openapi.json, https://www.scrapingbee.com/swagger.json, https://www.scra…
                    • [probe] PROBE docs-md: HTTP 404 at https://www.scrapingbee.com/documentation.md
                  • data-engineerThe documented rate limit (requests per second or minute) enforced on my API key before throttling kicks in

                    weight 3 · round drawn
                    Crawl4AInone0/10

                    The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                      ScrapingBeenone0/10

                      No evidence pack item mentions a documented rate limit (requests per second/minute) or throttling behavior for API keys; documentation excerpts cover scraping parameters and features but not concurrency/rate-limit thresholds.

                      Anti bot — getting past bot defenses — CAPTCHAs, fingerprinting, blocksAnti bot

                      Getting past bot defenses — CAPTCHAs, fingerprinting, blocks

                      Block evasion

                      1. ai-native userHave an agent automatically get past a CAPTCHA, login, or form wall without my manual intervention

                        weight 2 · round to ScrapingBee
                        Crawl4AIpartialcommunity4/10

                        Crawl4AI offers persistent browser profiles with saved authentication/cookies and 'undetected browser' support to evade bot detection, plus proxy/retry chains, which partially help with login walls and basic anti-bot evasion. However, there is no evidence of automatic CAPTCHA-solving, and community feedback explicitly calls out login/session handling and bot mitigation as things the user must configure and own themselves rather than fully automatic agent behavior. missing for 10: CAPTCHA-solving capability, evidence of fully hands-off login/session bootstrap, independent confirmation that undetected-browser mode reliably bypasses modern bot walls without manual setup.

                        • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                        ScrapingBeepartialclaimed5/10

                        ScrapingBee provides premium proxies to bypass hard-to-scrape sites and JS 'scenario' scripting to interact with pages (e.g., click/fill forms), which could support login flows, but there is no explicit claim or evidence of automatic CAPTCHA solving or a documented login-automation workflow that removes manual intervention entirely. missing for 10: explicit CAPTCHA-solving mechanism, documented login/form-wall bypass workflow, and independent evidence of successful autonomous bypass.

                        • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address
                      2. data-engineerAutomatically retry through a chain of different proxies when anti-bot detection blocks a request

                        weight 2 · round to Crawl4AI
                        Crawl4AIpartialclaimed6/10

                        GitHub feature list explicitly documents 'Automatic retry with proxy chain and fallback fetch function' plus undetected browser support for bot detection bypass, directly matching the story. However, this is a single line-item mention with no detailed docs, configuration examples, or independent/hands-on validation showing it working against real anti-bot systems. Missing for 10: dedicated documentation/tutorial on configuring proxy chains, code examples showing retry-on-block logic, and independent confirmation it succeeds against modern anti-bot defenses.

                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        ScrapingBeepartialclaimed5/10

                        ScrapingBee offers premium_proxy and country_code parameters and an 'auto' mode that picks the cheapest configuration that succeeds, implying some automatic fallback/retry logic, but there's no explicit documentation of a chained multi-proxy retry mechanism specifically triggered by anti-bot detection. missing for 10: explicit documentation of automatic retry chains across multiple proxies upon anti-bot block detection, and independent verification of this retry behavior.

                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] country_code [string] ("") Premium proxy geolocation
                        • [claimed-docs] mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto
                      3. developerUse an undetected browser mode to bypass sophisticated bot detection systems

                        weight 3 · round to Crawl4AI
                        Crawl4AIpartialcommunity6/10

                        GitHub feature list explicitly claims 'Undetected Browser Support: Bypass sophisticated bot detection systems,' directly matching the story, and this is corroborated by related anti-detection features like persistent browser profiles and proxy chain retries. However, there is no independent/hands-on evidence confirming its effectiveness, and community commentary notes bot mitigation is still something users must handle themselves ('own the policy layer', 'boring production bits: ... bot mitigation'), suggesting real-world limitations. Missing for 10: independent verification of undetected-mode effectiveness, technical documentation on how it works, and resolution of community caveats about needing to handle bot mitigation manually.

                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                        ScrapingBeepartialclaimed5/10

                        ScrapingBee's docs mention `premium_proxy` explicitly for bypassing 'difficult to scrape websites' and headless browser rendering with JS scenarios, which implies anti-bot capability, but the evidence never uses 'undetected browser' or 'stealth mode' terminology or details specific bot-detection bypass techniques (fingerprint spoofing, TLS/JA3 evasion, etc.). Missing for 10: explicit stealth/undetected-mode documentation, technical detail on fingerprint evasion, and independent verification that it defeats sophisticated bot detection.

                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                        • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.

                      Proxy rotation

                      1. developerRequest a proxy from a specific country to get geolocation-appropriate content

                        weight 2 · round to ScrapingBee
                        Crawl4AInone0/10

                        Evidence mentions proxy chain retry/fallback for reliability but nothing about selecting or requesting a proxy from a specific country/geolocation. Missing for 10: documentation of country-specific proxy selection, geolocation targeting API/config, and any example of requesting geo-located content.

                        • [github] Automatic retry with proxy chain and fallback fetch function
                        ScrapingBeefullclaimed8/10

                        ScrapingBee's docs explicitly document a `country_code` parameter for premium proxy geolocation, directly enabling country-specific proxy requests, alongside `premium_proxy` to enable this feature. missing for 10: independent/hands-on confirmation of geolocation accuracy and no list of supported countries in the evidence.

                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] country_code [string] ("") Premium proxy geolocation
                      2. developerUse premium residential or datacenter proxies to bypass sites that are hard to scrape

                        weight 3 · round to ScrapingBee
                        Crawl4AIpartialclaimed4/10

                        Crawl4AI supports proxy chains with automatic retry/fallback and undetected browser mode to bypass bot detection, but there is no evidence of built-in support for premium residential/datacenter proxy providers or proxy rotation services—users must bring and configure their own proxies. missing for 10: no documented integration with residential/datacenter proxy providers, no proxy rotation/pool management features, no independent evidence of successful bypass on hard-to-scrape sites using proxies.

                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        ScrapingBeefullclaimed8/10

                        Docs explicitly document `premium_proxy` for bypassing hard-to-scrape sites, plus `country_code` for geolocation and `session_id` for sticky IP sessions, directly matching the story. Missing for 10: explicit distinction/documentation of residential vs datacenter proxy types and independent third-party validation of bypass success rates.

                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] country_code [string] ("") Premium proxy geolocation
                        • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address
                      3. developerRoute requests through a rotating pool of proxy IPs to avoid blocks

                        weight 3 · round to ScrapingBee
                        Crawl4AIpartialclaimed5/10

                        There is evidence of proxy chain retry/fallback logic (automatic retry with proxy chain and fallback fetch function) and undetected browser support for bot detection bypass, indicating some proxy-rotation and anti-bot capability exists. However, no documentation details how to configure a pool of rotating proxy IPs, proxy list management, or rotation strategy specifics. missing for 10: explicit proxy pool configuration docs, rotation strategy details, independent confirmation of proxy rotation working in practice.

                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        ScrapingBeefullclaimed8/10

                        Docs confirm premium/rotating proxy usage (premium_proxy, country_code) to bypass blocks, plus session_id to pin a single IP when needed, indicating an underlying rotating proxy pool by default with control options. Missing for 10: no independent/hands-on evidence confirming rotation effectiveness against real anti-bot defenses, and no explicit documentation describing pool size or rotation algorithm.

                        • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                        • [claimed-docs] country_code [string] ("") Premium proxy geolocation
                        • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address
                      4. developerRoute multiple requests through the same proxy IP using a session identifier to maintain a consistent identity

                        weight 2 · round to ScrapingBee
                        Crawl4AInone0/10

                        Evidence mentions proxy chains for retry/fallback and undetected browser support, but there is no mention of a session identifier mechanism to route multiple requests through the same proxy IP for persistent identity. Missing for 10: sticky-session/proxy-session-ID feature documentation, any example binding a session to a specific proxy IP, and independent confirmation of this capability.

                        • [github] Automatic retry with proxy chain and fallback fetch function
                        • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                        ScrapingBeefullclaimed9/10

                        Official docs explicitly document a `session_id` parameter to route multiple API requests through the same proxy IP, directly matching the story. Missing for 10: independent/hands-on corroboration of session persistence behavior beyond first-party docs.

                        • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address

                      Automation depth — how much of the product can run unattendedAutomation depth

                      How much of the product can run unattended

                      1. ai-native userPerform bulk operations across many items at once

                        weight 2 · round to Crawl4AI
                        Crawl4AIfullclaimed8/10

                        Crawl4AI supports batch/bulk crawling via deep-crawl BFS with max-pages, multi-URL configuration with per-pattern strategies, checkpoint/resume for large jobs, and dockerized/API deployment for scaling bulk crawls. Missing for 10: independent benchmarks of large-scale bulk runs and clearer documentation of concurrency/throughput limits at scale.

                        • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                        • [github] Multi-URL Configuration: Different strategies for different URL patterns in one batch
                        • [github] resume_state parameter to continue from a saved checkpoint
                        • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                        • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                        ScrapingBeenone0/10

                        The evidence pack documents single-page scraping parameters (JS scenarios, extraction rules, proxies, screenshots) but never mentions a batch/bulk API endpoint, concurrent job submission, or a mechanism to process many URLs/items in one call.

                        • ai-native userDefine rules that trigger actions automatically on events

                          weight 3 · round drawn
                          Crawl4AInone0/10

                          Crawl4AI is a crawling/extraction library with adaptive crawling, retries, and checkpointing, but there is no evidence of a rules/trigger engine that lets users define conditional event-based automations (e.g., 'if X happens, do Y'). Community notes even highlight that users must build their own automation/policy layer via external tools like n8n rather than Crawl4AI natively supporting this.

                          • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                          • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                          • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                          ScrapingBeenone0/10

                          The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                          • ai-native userSchedule recurring jobs or workflows

                            weight 2 · round drawn
                            Crawl4AInone0/10

                            Crawl4AI provides crawling, extraction, checkpointing, and Docker/API deployment, but no evidence of built-in scheduling or recurring job/workflow orchestration; community notes mention bridging to external tools like n8n for automation, implying no native scheduler exists.

                            • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                            • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                            • [github] resume_state parameter to continue from a saved checkpoint
                            ScrapingBeenone0/10

                            ScrapingBee's evidence pack covers API scraping parameters, JS rendering, proxies, and extraction, but contains no mention of scheduling, recurring jobs, cron-like triggers, or workflow orchestration features.

                            Dev experience — day-to-day developer experience — setup friction, docs, debugging, iteration speedDev experience

                            Day-to-day developer experience — setup friction, docs, debugging, iteration speed

                            Collaboration

                            1. developerShare scrapers with teammates and manage organizations and role-based permissions

                              weight 2 · round drawn
                              Crawl4AInone0/10

                              The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                ScrapingBeenone0/10

                                No evidence in the pack addresses team/organization management, sharing scrapers, or role-based permissions; the documentation excerpts focus entirely on API scraping parameters (JS rendering, proxies, extraction rules), not collaboration or account administration features.

                                Deployment flexibility

                                1. developerBuild and deploy custom serverless scraping scripts on the platform without managing my own infrastructure

                                  weight 2 · round to ScrapingBee
                                  Crawl4AInone0/10

                                  Crawl4AI is an open-source library/framework requiring self-hosting via Docker or local Python install; there is no evidence of a managed serverless platform for deploying custom scraping scripts without infrastructure management. Evidence instead shows users must set up Docker containers, browser pools, and monitoring dashboards themselves.

                                  • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                  • [github] Real-time Monitoring Dashboard with live system metrics and browser pool visibility
                                  • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                  • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                                  ScrapingBeepartialclaimed4/10

                                  ScrapingBee is a managed scraping API (no infrastructure to manage) and supports JS 'scenarios' for custom page interaction plus extraction rules, which is a lightweight form of custom scraping logic. However, there is no evidence of a true serverless scripting/deployment platform (e.g., custom code upload, scheduled jobs, or a scripting runtime) — the story's 'build and deploy custom scripts' aspect is only partially matched by parameterized API calls. Missing for 10: evidence of a script/job deployment mechanism, scheduling, or custom code execution beyond JS scenario snippets, and independent developer confirmation of this workflow.

                                  • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                  • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                  • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                2. developerDeploy the scraping service via a Docker container for production use

                                  weight 2 · round to Crawl4AI
                                  Crawl4AIpartialprobed7/10

                                  GitHub docs explicitly advertise a 'Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment' and community mentions of one-click Docker setups for production use corroborate this. However, there's no independent hands-on production deployment report, no details on scaling/orchestration guidance, and no OpenAPI spec confirmed (probe found 404s), leaving some production-readiness details unverified. Missing for 10: independent hands-on verification of the Docker deployment in production, confirmed API schema/OpenAPI docs, and details on scaling/orchestration best practices.

                                  • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                  • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                  • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                                  ScrapingBeenone0/10

                                  The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                  • developerSelf-host an open-source version of the scraper instead of relying on a hosted cloud service

                                    weight 2 · round to Crawl4AI
                                    Crawl4AIfullprobed9/10

                                    Crawl4AI is explicitly open source with no forced API keys/paywalls, distributed via GitHub, and supports Dockerized self-hosting with a FastAPI server, plus community-documented self-hosting guides (Docker, n8n, MCP for Cursor/Claude) corroborating real-world self-hosted deployments. missing for 10: independent benchmark/uptime evidence of large-scale self-hosted production use.

                                    • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                    • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                    • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                    • [probe] official MCP server documented at https://docs.crawl4ai.com/core/self-hosting/#mcp-model-context-protocol-support
                                    ScrapingBeenone0/10

                                    ScrapingBee is a hosted cloud scraping API with no evidence of an open-source, self-hostable version; community comments explicitly ask about open-sourcing the stack, confirming none exists.

                                    • [community] Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?
                                    • [community] Have you looked at running something locally instead of paying for ScrapingBee? I'm using Laravel and considering Dusk to retrieve page cont…

                                  Integrations

                                  1. developerConnect the scraping API to no-code automation platforms like n8n or Zapier through a prebuilt connector

                                    weight 2 · round drawn
                                    Crawl4AInone0/10

                                    No evidence of a prebuilt n8n/Zapier connector; the only related evidence is community commentary noting developers struggle to bridge Crawl4AI with n8n and a third-party community doc hub with Docker setup guides, not an official connector from Crawl4AI itself.

                                    • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                                    • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                    • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                    ScrapingBeenone0/10

                                    No evidence of a prebuilt n8n or Zapier connector; the docs cover API parameters, an MCP server, and a CLI, but nothing about no-code automation platform integrations.

                                    Library compatibility

                                    1. developerBuild scrapers using popular open-source automation libraries like Playwright, Puppeteer, Selenium, or Scrapy

                                      weight 2 · round drawn
                                      Crawl4AInone0/10

                                      Crawl4AI ships its own AsyncWebCrawler API (built on Playwright internally) rather than exposing compatibility layers for Playwright, Puppeteer, Selenium, or Scrapy code; none of the evidence mentions using these other libraries to build scrapers within Crawl4AI.

                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                      • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                      ScrapingBeenone0/10

                                      The evidence pack describes ScrapingBee's own API parameters (JS scenario, screenshots, extraction rules, proxies) but contains no mention of official integrations, SDKs, or middleware for Playwright, Puppeteer, Selenium, or Scrapy. No documentation, probe, or community evidence shows developers can plug ScrapingBee into these specific open-source automation libraries.

                                      Migration lock in

                                      1. developerExport my scraped data and job configurations in a portable format to migrate to another provider without lock-in

                                        weight 3 · round to Crawl4AI
                                        Crawl4AIpartialclaimed4/10

                                        Crawl4AI outputs scraped data in portable formats like Markdown and structured JSON/CSS-XPath extraction, and being open-source with no forced API keys supports a no-lock-in narrative, but there is no documented feature for exporting or migrating job configurations, crawl profiles, or schemas to another provider. missing for 10: explicit config/job export or import tooling, documented migration path to another scraping provider, independent confirmation of format portability.

                                        • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                        • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                        • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                        ScrapingBeenone0/10

                                        No evidence of any export/migration tooling for scraped data or job configs in a portable format; the docs cover API parameters and scraping features but nothing about data portability or provider migration. missing for 10: export format documentation, job/config export mechanism, migration guides or tooling, any mention of avoiding vendor lock-in.

                                        Quickstart

                                        1. developerPublish my custom scraper to a public marketplace and earn revenue when others use it

                                          weight 1 · round drawn
                                          Crawl4AInone0/10

                                          The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                            ScrapingBeenone0/10

                                            The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                            • developerRun a ready-made scraper from a marketplace instead of building one from scratch

                                              weight 2 · round drawn
                                              Crawl4AInone0/10

                                              No evidence of a marketplace or gallery of ready-made scrapers/templates that a developer could run out of the box; the evidence only covers building crawlers via code/CLI configuration yourself, not a pre-built scraper marketplace.

                                                ScrapingBeenone0/10

                                                Evidence shows only API parameters/docs for building custom scraping requests; there is no marketplace of pre-built, ready-made scrapers a developer could pick and run instead of building their own.

                                                • developerStart building immediately using a library of ready-made project templates

                                                  weight 1 · round drawn
                                                  Crawl4AInone0/10

                                                  The evidence shows basic usage snippets, CLI/Docker deployment instructions, and a third-party community docs hub with one-click setups, but no official library of ready-made project templates or starter kits is documented by the vendor.

                                                  • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                  • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                  • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                                  ScrapingBeenone0/10

                                                  No evidence of ready-made project templates or scaffolding to jumpstart development; documentation only covers API parameters and usage, not starter templates or boilerplate projects.

                                                  Extraction quality — how faithfully content is extracted — structure, fidelity, edge casesExtraction quality

                                                  How faithfully content is extracted — structure, fidelity, edge cases

                                                  Ai extraction

                                                  1. developerExtract structured data from a page using natural language instructions instead of writing selectors

                                                    weight 3 · round to ScrapingBee
                                                    Crawl4AIpartialclaimed6/10

                                                    Crawl4AI documents LLM-based extraction as an alternative to CSS/XPath selectors, letting developers describe desired structured data rather than write selectors, and this is corroborated by GitHub feature docs (LLM-Driven Extraction, LLMTableExtraction). However, the evidence doesn't show natural-language instruction schemas in detail (e.g., prompt examples), nor independent hands-on validation of extraction quality/accuracy. missing for 10: concrete example of natural-language extraction prompt/schema, independent quality benchmarks or hands-on confirmation of NL-instruction extraction accuracy.

                                                    • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                    • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                    • [github] LLMTableExtraction: Revolutionary table extraction with intelligent chunking for massive tables
                                                    ScrapingBeefullclaimed7/10

                                                    ScrapingBee's ai_query parameter lets developers specify in natural language the information they want extracted from a webpage, avoiding manual CSS/XPath selectors, as an alternative to the selector-based extract_rules feature. missing for 10: independent/hands-on validation of AI extraction accuracy, and details on structured output schema/reliability beyond the docs blurb.

                                                    • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                    • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                  2. developerPass a JSON schema so the API returns structured data matching that schema

                                                    weight 2 · round drawn
                                                    Crawl4AIpartialclaimed5/10

                                                    Docs mention structured extraction via CSS/XPath/LLM-based extraction and LLM-driven extraction supporting schema-like structured output, implying JSON-schema-guided extraction, but no evidence pack item explicitly shows passing a JSON schema and receiving matching structured JSON output. missing for 10: explicit documented JSON schema parameter/example, sample output matching schema, independent verification of schema conformance.

                                                    • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                    • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                    ScrapingBeepartialclaimed5/10

                                                    ScrapingBee offers extract_rules (CSS-selector based structured extraction) and ai_query (AI-driven extraction), which let developers get structured data, but there is no evidence of accepting a formal JSON Schema definition that the API validates/conforms output to — extract_rules is a custom stringified JSON of selectors, not a schema spec. missing for 10: explicit JSON Schema input support, schema validation/conformance guarantee, examples of schema-driven structured output.

                                                    • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                    • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                  3. ai-native userHave an LLM read a page and decide what structured fields to pull out without pre-written selectors

                                                    weight 2 · round drawn
                                                    Crawl4AIpartialclaimed6/10

                                                    Docs and GitHub confirm LLM-based structured extraction supporting arbitrary LLMs (open-source and proprietary), which enables schema-free, LLM-decided field extraction rather than fixed CSS/XPath selectors. However, evidence is thin on how the LLM decides fields (e.g., whether a schema/prompt is still required or if it's fully autonomous field discovery), and there's no hands-on example or independent validation of the LLM extraction path's accuracy. missing for 10: concrete example/walkthrough of LLM freely deciding fields without any schema, independent quality benchmarks on this specific extraction mode.

                                                    • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                    • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                    ScrapingBeepartialclaimed6/10

                                                    ScrapingBee has an ai_query parameter that lets an LLM extract requested information from a page without pre-written CSS/XPath selectors, directly matching the story's intent, but this is described only in a single doc line rather than deeply documented with examples of dynamic field discovery. missing for 10: no documentation showing the AI deciding on its own what structured fields/schema to output (vs. a user-specified query), no independent/hands-on evidence of extraction quality or reliability, and no example of full structured JSON field inference without any query guidance.

                                                    • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                    • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                  4. developerPlug in a local or self-hosted LLM as the extraction backend instead of a cloud-only model

                                                    weight 2 · round to Crawl4AI
                                                    Crawl4AIfullclaimed8/10

                                                    Docs and GitHub explicitly state LLM-based extraction supports all LLMs, both open-source and proprietary, and the project is fully open source with no forced API keys, implying local/self-hosted LLM backends can be plugged in for extraction. Missing for 10: explicit step-by-step docs/config example showing pointing extraction at a local model (e.g., Ollama endpoint) and independent hands-on confirmation of this specific workflow.

                                                    • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                    • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                    • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                    ScrapingBeenone0/10

                                                    ScrapingBee's AI extraction (ai_query) uses its own cloud-based AI backend with no documented option to plug in a local or self-hosted LLM; evidence shows only a fixed AI extraction parameter, not a configurable backend.

                                                    • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI

                                                  Basic scraping

                                                  1. developerScrape a web page with a single API call and get its raw HTML back

                                                    weight 3 · round to ScrapingBee
                                                    Crawl4AIpartialprobed6/10

                                                    The docs show a single async call (crawler.arun(url=...)) returning a result object, and result.html/cleaned_html is a documented attribute of Crawl4AI's result, though the sample shown emphasizes result.markdown rather than raw HTML explicitly. This confirms single-call scraping works, but the evidence pack doesn't explicitly show raw HTML retrieval or an OpenAPI-documented single-endpoint HTTP API (openapi probes 404). missing for 10: explicit example of raw HTML field usage, independent confirmation of HTML fidelity/extraction quality.

                                                    • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                    • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                    • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                                                    ScrapingBeefullclaimed9/10

                                                    Docs confirm a single API call with just an API key and target URL returns the page's HTML, with straightforward defaults (docs-1) and no complex setup required. Additional options (JS rendering, wait selectors, markdown/extract_rules) show this basic case is well-supported and flexible, though there's no independent hands-on confirmation of raw HTML fidelity. Missing for 10: independent/community verification of raw HTML output quality.

                                                    • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                    • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                    • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.

                                                  Data safety

                                                  1. data-engineerAutomatically detect and filter personally identifiable information out of scraped content before it reaches storage

                                                    weight 2 · round drawn
                                                    Crawl4AInone0/10

                                                    No evidence anywhere in the pack of built-in PII detection or filtering; extraction features focus on structured/LLM-based data extraction, not privacy compliance. Community commentary explicitly flags PII handling as something the user must own ('not accidentally hoovering up PII' as a 'boring production bit'), reinforcing that this is not a shipped capability.

                                                    • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                    ScrapingBeenone0/10

                                                    No evidence of any PII detection, redaction, or filtering feature in ScrapingBee's documentation or capabilities; the product offers extraction rules and AI query tools but nothing about identifying or stripping personal data before storage.

                                                    Document extraction

                                                    1. data-engineerExtract text content from PDFs, Word, Excel, and PowerPoint files without hosting them myself

                                                      weight 2 · round drawn
                                                      Crawl4AInone0/10

                                                      No evidence in the pack mentions extraction of PDF, Word, Excel, or PowerPoint file content; all documented capabilities relate to web page crawling, structured/LLM extraction from HTML, and table extraction, not office document formats.

                                                        ScrapingBeenone0/10

                                                        The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                                        Multimodal extraction

                                                        1. ai-native userGet automatic captions for images on a page so a text-only model can reason about visual content

                                                          weight 2 · round drawn
                                                          Crawl4AInone0/10

                                                          No evidence pack item mentions image captioning or alt-text generation for images; the extraction features described (LLM-based structured extraction, table extraction) are unrelated to describing visual content for a text-only model. Missing for 10: any mention of image-to-text captioning, vision-model integration, or alt-text generation feature.

                                                            ScrapingBeenone0/10

                                                            No evidence of an image-captioning or alt-text generation feature; ScrapingBee's AI features (ai_query) extract structured data from page text/HTML, not image captions for visual content, and by default it blocks images entirely. Missing for 10: any documented image captioning/vision-to-text capability, alt-text generation, or multimodal image description output.

                                                            • [claimed-docs] By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…
                                                            • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI

                                                          Search integration

                                                          1. developerSearch the web and get full page content from results in a single call instead of just links and snippets

                                                            weight 3 · round drawn
                                                            Crawl4AInone0/10

                                                            Crawl4AI's evidence describes crawling/scraping given URLs, deep-crawl (BFS) from a seed URL, and structured/LLM extraction, but no evidence of a web-search capability that returns full content for search-engine results in one call. Since comparable scraping tools do offer this, the axis applies but no supporting evidence exists here.

                                                            • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                            • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                            • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                                                            ScrapingBeenone0/10

                                                            Evidence shows ScrapingBee scrapes a given URL (with JS rendering, markdown output, extract_rules, ai_query) but nothing indicates a single API call that performs a web search and returns full page content for each result — the llms.txt probe mentions 'search' only in passing with no supporting detail. Missing for 10: any documented search endpoint, example combining query+results with full page bodies, or independent confirmation of this workflow.

                                                            • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                            • [probe] PROBE llms.txt: HTTP 200 at https://www.scrapingbee.com/llms.txt # ScrapingBee Documentation > Official documentation index for ScrapingBee…

                                                          Selector extraction

                                                          1. developerExtract specific fields from a page using CSS or XPath selector rules

                                                            weight 3 · round to ScrapingBee
                                                            Crawl4AIpartialclaimed6/10

                                                            Docs explicitly mention structured extraction supporting CSS and XPath selectors alongside LLM-based extraction, confirming the capability exists. However, evidence lacks concrete code examples, schema syntax details, or independent hands-on confirmation of CSS/XPath extraction specifically (most community and GitHub evidence focuses on LLM extraction, crawling, and deployment features instead). Missing for 10: detailed CSS/XPath schema examples, independent verification of selector-based extraction working in practice, documentation depth comparable to LLM extraction features.

                                                            • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                            ScrapingBeefullclaimed8/10

                                                            Docs explicitly document extract_rules for CSS-based field extraction and confirm the headless browser waits on CSS/XPath selectors, directly supporting structured field extraction. missing for 10: no independent/hands-on corroboration of extraction accuracy or XPath-specific examples.

                                                            • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                            • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.

                                                          Structured data handling

                                                          1. data-engineerExtract data from very large tables using intelligent chunking so it fits within processing limits

                                                            weight 1 · round to Crawl4AI
                                                            Crawl4AIfullclaimed7/10

                                                            GitHub docs explicitly cite 'LLMTableExtraction: Revolutionary table extraction with intelligent chunking for massive tables,' directly matching the story of extracting data from very large tables via chunking. However, missing for 10: independent hands-on validation of chunking behavior on real large tables, and detailed documentation on configuring chunk size/limits or performance benchmarks.

                                                            • [github] LLMTableExtraction: Revolutionary table extraction with intelligent chunking for massive tables
                                                            ScrapingBeenone0/10

                                                            ScrapingBee's evidence covers web scraping features (JS rendering, proxies, extraction rules, AI queries) but nothing addresses handling very large tables, chunking data to fit processing/token limits, or pagination strategies for oversized datasets. Missing for 10: any mention of table extraction, chunking mechanism, size-limit handling, or pagination/splitting of large data outputs.

                                                            Js rendering — handling JavaScript-heavy pages — rendering, waiting, dynamic contentJs rendering

                                                            Handling JavaScript-heavy pages — rendering, waiting, dynamic content

                                                            Headless rendering

                                                            1. developerRender JavaScript-heavy single-page applications and get the fully rendered HTML

                                                              weight 3 · round to ScrapingBee
                                                              Crawl4AIpartialclaimed5/10

                                                              Crawl4AI is built on a real browser (AsyncWebCrawler with undetected browser support, browser profiles, etc.), which implies it can render JS-heavy SPAs and return rendered HTML/markdown, but the evidence pack never explicitly documents JS execution/wait-for-selector behavior or confirms fully-rendered HTML output for SPAs. Missing for 10: explicit documentation of JS rendering/execution settings (e.g., wait_for, js_code, page load strategies), and independent/hands-on confirmation that dynamic SPA content is captured correctly.

                                                              • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                              • [github] Undetected Browser Support: Bypass sophisticated bot detection systems
                                                              • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                                                              • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                              ScrapingBeefullclaimed8/10

                                                              ScrapingBee's docs explicitly describe headless-browser rendering of JS-heavy SPAs built with React/Angular/Vue/JQuery, with support for waiting on selectors and running JS scenarios before returning fully rendered HTML. This directly matches the story's core capability, though evidence lacks independent hands-on corroboration of rendering fidelity. Missing for 10: independent/hands-on verification of rendered output quality, benchmarks against specific SPA frameworks.

                                                              • [claimed-docs] This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.
                                                              • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                              • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                              • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                            2. developerHave the API wait for a specific selector to appear before returning the rendered page

                                                              weight 2 · round to ScrapingBee
                                                              Crawl4AInone0/10

                                                              No evidence in the pack mentions a wait_for/selector-based config option or any mechanism to delay page return until a specific CSS/XPath selector appears; the docs snippets shown only cover basic arun usage, extraction, and CLI/MCP features. missing for 10: documentation or example of a wait_for_selector or similar parameter, confirmation it blocks return until element renders, any community/hands-on validation of this feature.

                                                              • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                              • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                              ScrapingBeefullclaimed8/10

                                                              ScrapingBee's docs explicitly state headless browsers wait for a CSS/XPath selector before returning HTML, directly matching the story. Missing for 10: independent/hands-on confirmation of this specific wait-for-selector behavior beyond vendor docs, and example code showing the parameter in use.

                                                              • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                              • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.

                                                            Interactive automation

                                                            1. developerAccess a managed remote browser sandbox for interactive, manual browsing workflows

                                                              weight 2 · round drawn
                                                              Crawl4AInone0/10

                                                              The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                                                ScrapingBeenone0/10

                                                                ScrapingBee's documentation describes a headless browser API for automated scraping (JS scenarios, screenshots, extraction rules) but no evidence of an interactive, manual remote-browser sandbox session a developer could drive by hand.

                                                                • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                                • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                                • [claimed-docs] If you need to change the dimension of the browser's viewport (window) when scraping the target page you can use the `window_width` and `win…
                                                              • developerKeep interacting with an already-scraped page, clicking and filling forms to reach content behind a login wall

                                                                weight 2 · round to ScrapingBee
                                                                Crawl4AIpartialcommunity4/10

                                                                The Browser Profiler feature (crawl4ai-gh-3) supports persistent authentication states and cookies, which can help reach content behind a login wall, but there is no direct evidence of interactive session APIs for clicking or filling forms mid-crawl. Community commentary (crawl4ai-comm-3) even flags login/session handling as one of the 'boring production bits' users must handle themselves, suggesting it's not a polished, first-class capability. missing for 10: explicit documentation of click/fill/form-interaction APIs, session-persistence across multiple interactive steps, and independent confirmation of successful login-wall traversal.

                                                                • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                                                                • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                ScrapingBeepartialclaimed6/10

                                                                ScrapingBee's JS 'scenario' feature lets you script click/fill actions before the page HTML is returned, and session_id lets you reuse the same IP across multiple API calls to preserve login state — enabling a login-wall workflow. However, evidence shows only a stateless-per-request model (scenario executed once, then HTML returned) rather than a persistent, continuously interactive browser session across multiple later calls. Missing for 10: documentation of a true persistent/interactive session object you can repeatedly command, and any hands-on confirmation this pattern reliably defeats login walls.

                                                                • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                                • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                                • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address
                                                              • developerScript page interactions like clicking, filling inputs, and scrolling before content is returned

                                                                weight 3 · round to ScrapingBee
                                                                Crawl4AInone0/10

                                                                The evidence pack describes many Crawl4AI features (extraction, deep-crawl, browser profiles, proxy retry, docker/MCP/CLI) but never mentions scripting page interactions such as clicking, filling inputs, or scrolling before extraction. This is a fair capability to expect from a browser-based crawler, but no evidence in the pack documents it.

                                                                  ScrapingBeefullclaimed8/10

                                                                  ScrapingBee's docs explicitly describe a 'JavaScript scenario' feature to interact with pages (click, fill, scroll, etc.) before HTML is returned, plus wait-for-selector support to ensure content loads after interactions. This directly matches the story of scripting interactions before content is returned, though evidence lacks a full list of supported actions or independent hands-on confirmation. Missing for 10: detailed enumeration of supported interaction commands (click/fill/scroll) beyond generic 'JavaScript scenario' mention, and independent/community validation of this specific feature.

                                                                  • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                                  • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                                  • [claimed-docs] This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.

                                                                Render configuration

                                                                1. developerControl the browser viewport width and height when rendering a page

                                                                  weight 1 · round to ScrapingBee
                                                                  Crawl4AInone0/10

                                                                  Crawl4AI is a browser-based crawler and viewport control (headless=True/False, viewport_width/height config) is a real feature category, but no evidence pack item mentions viewport, browser window size, or rendering dimensions configuration.

                                                                    ScrapingBeefullclaimed9/10

                                                                    Official docs explicitly state window_width and window_height parameters let developers change the browser viewport dimensions when rendering the target page. missing for 10: no independent/hands-on corroboration beyond first-party docs.

                                                                    • [claimed-docs] If you need to change the dimension of the browser's viewport (window) when scraping the target page you can use the `window_width` and `win…

                                                                  Session persistence

                                                                  1. developerPass my own session cookies so the API fetches pages requiring authentication

                                                                    weight 2 · round to Crawl4AI
                                                                    Crawl4AIpartialclaimed6/10

                                                                    GitHub docs mention a Browser Profiler that creates and manages persistent profiles with saved authentication states and cookies, indicating support for passing session/auth state into crawls. However, there's no explicit first-party documentation snippet showing how to directly inject custom session cookies into the arun() API call, and no independent hands-on confirmation of this specific workflow. Missing for 10: direct API-level example of passing cookies, independent verification of authenticated-page fetching working reliably.

                                                                    • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                                                                    ScrapingBeenone0/10

                                                                    No evidence pack item mentions passing custom cookies or headers for authenticated sessions; docs cover JS rendering, proxies, extraction, screenshots, but nothing about supplying session cookies for authenticated page fetches.

                                                                    • developerReuse a persistent browser profile with saved cookies and login state across multiple requests

                                                                      weight 2 · round to Crawl4AI
                                                                      Crawl4AIfullclaimed7/10

                                                                      GitHub docs explicitly describe a 'Browser Profiler' feature for creating and managing persistent profiles with saved authentication states, cookies, and settings, directly matching the story. Missing for 10: no independent/hands-on corroboration of profile reuse across multiple requests, and no first-party code sample demonstrating loading a saved profile in arun/AsyncWebCrawler calls.

                                                                      • [github] Browser Profiler: Create and manage persistent profiles with saved authentication states, cookies, and settings.
                                                                      ScrapingBeenone0/10

                                                                      ScrapingBee's docs mention session_id only for routing requests through the same IP address, not for persisting cookies or login state across requests; no evidence of a saved browser profile or session state reuse mechanism.

                                                                      • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address

                                                                    Openness — open source, data portability, and self-hosting storiesOpenness

                                                                    Open source, data portability, and self-hosting stories

                                                                    1. ai-native userDo everything through the API that I can do in the UI

                                                                      weight 2 · round drawn
                                                                      Crawl4AIpartialprobed5/10

                                                                      Crawl4AI is API/library-first (Python API, CLI, Docker/FastAPI server) and the only 'UI' surface mentioned is a monitoring dashboard for the Docker deployment, so most functionality is inherently API-native; however probes found no OpenAPI spec (404s) to confirm full parity/documentation of the API surface, and there's no explicit claim that dashboard-only features (e.g., live monitoring) are also exposed via API. missing for 10: explicit API/OpenAPI documentation confirming parity, evidence that dashboard-specific features (metrics, browser pool visibility) are also API-accessible.

                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                      • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                                      • [github] Real-time Monitoring Dashboard with live system metrics and browser pool visibility
                                                                      • [probe] PROBE openapi: all candidate paths 404 (https://docs.crawl4ai.com/openapi.json, https://docs.crawl4ai.com/swagger.json, https://docs.crawl4a…
                                                                      • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
                                                                      ScrapingBeepartialclaimed5/10

                                                                      ScrapingBee is API-first, and the docs show an extensive, feature-rich API surface (JS rendering, screenshots, extraction rules, AI query, proxies, session control) covering essentially all scraping functionality (scrapingbee-docs-1 through 15). However, there is no explicit statement comparing the API's capabilities to what's available in ScrapingBee's dashboard/UI, so full parity can't be confirmed from evidence. Missing for 10: explicit UI-vs-API feature parity documentation, confirmation that dashboard-only tools (e.g. request builder, account settings) have no capabilities absent from the API.

                                                                      • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                                      • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                                      • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                      • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                      • [claimed-docs] screenshot_selector [string] ("") Return a screenshot of a particular area of the page, targeted by a CSS selector
                                                                    2. ai-native userExport all of my data in open formats and leave

                                                                      weight 3 · round to Crawl4AI
                                                                      Crawl4AIfullclaimed7/10

                                                                      Crawl4AI is fully open-source and self-hosted, and its core output is markdown/JSON (open, non-proprietary formats) with no forced API keys or paywalls, meaning there is no vendor silo to 'leave' in the first place. Structured extraction (CSS/XPath/LLM) further lets users get data out in standard formats. Missing for 10: no explicit bulk 'export all my data' feature, no documented data-portability/migration tooling, and no independent hands-on confirmation of full data portability beyond architecture inference.

                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                                      • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                      • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                                      ScrapingBeepartialclaimed4/10

                                                                      ScrapingBee returns scraped content in open formats such as raw HTML, JSON (extract_rules) and Markdown (return_page_markdown), so output data is not locked into a proprietary format. However, there is no evidence of account-level data export, no mention of stored user data portability, and no explicit 'leave anytime with your data' commitment—since it's a stateless scraping API, the 'export and leave' framing only partially applies. Missing for 10: account/usage data export tooling, explicit data-portability statement, independent confirmation of format openness beyond docs.

                                                                      • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format
                                                                      • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                    3. ai-native userRead the product's source under an open license

                                                                      weight 2 · round to Crawl4AI
                                                                      Crawl4AIpartialcommunity6/10

                                                                      The project is explicitly described as open source (GitHub repo, docs stating 'Open Source: No forced API keys, no paywalls'), and community posts confirm it as an 'amazing open-source library', supporting readable source code. However, no specific license name (e.g., Apache-2.0, MIT) is cited in the evidence pack, so the exact open-license terms are unconfirmed. Missing for 10: explicit license identification/text, independent confirmation of license permissiveness.

                                                                      • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                      • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                                      • [community] Crawl4AI is an amazing open-source library that solves many LLM-scraping headaches.
                                                                      ScrapingBeenone0/10

                                                                      No evidence ScrapingBee's core product source is available under an open license; it is a closed, paid SaaS API. A community comment even asks whether the vendor plans to open source any part of their stack, implying it currently is not.

                                                                      • [community] Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?
                                                                    4. ai-native userSelf-host the core product

                                                                      weight 3 · round to Crawl4AI
                                                                      Crawl4AIfullprobed8/10

                                                                      Crawl4AI is open-source with a Dockerized FastAPI setup for deployment, explicit self-hosting docs (including MCP support), and community confirmation of running it themselves via Docker/n8n setups. Missing for 10: independent hands-on verification of a full self-hosted production deployment at scale, and more detail on resource/infra requirements.

                                                                      • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                                      • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                      • [probe] official MCP server documented at https://docs.crawl4ai.com/core/self-hosting/#mcp-model-context-protocol-support
                                                                      • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                                                      ScrapingBeenone0/10

                                                                      ScrapingBee is a hosted SaaS API; no evidence of any self-hostable core product, on-premise deployment option, or open-source release. Community comment explicitly asks whether ScrapingBee plans to open-source its stack, with no vendor response indicating such an offering exists.

                                                                      • [community] Any plans on open sourcing any part of your stack instead of relying on paid services like ScrapingBee? What does your SaaS setup look like?
                                                                      • [community] Have you looked at running something locally instead of paying for ScrapingBee? I'm using Laravel and considering Dusk to retrieve page cont…

                                                                    Output formats — stories about output formats in this arenaOutput formats

                                                                    Stories about output formats in this arena

                                                                    Content formats

                                                                    1. developerReceive scraped content as clean markdown instead of raw HTML

                                                                      weight 3 · round drawn
                                                                      Crawl4AIfullcommunity8/10

                                                                      First-party docs show result.markdown as the direct output from crawler.arun(), and community sentiment corroborates it as a core value proposition for LLM-scraping. Missing for 10: independent hands-on verification of markdown quality/cleanliness and details on markdown customization options (e.g., filters).

                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      • [community] Crawl4AI is an amazing open-source library that solves many LLM-scraping headaches.
                                                                      ScrapingBeefullclaimed8/10

                                                                      ScrapingBee's docs explicitly offer a `return_page_markdown` parameter to return page content as markdown instead of raw HTML, directly matching the story. Missing for 10: independent/hands-on confirmation of markdown output quality and any community corroboration of this specific feature.

                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format
                                                                    2. developerChoose exactly which output format is returned, such as markdown, HTML, text, or frontmatter

                                                                      weight 2 · round to ScrapingBee
                                                                      Crawl4AIpartialclaimed4/10

                                                                      Evidence confirms markdown output (result.markdown) and structured/CSS/XPath/LLM extraction, but the pack contains no explicit mention of selectable HTML, text, or frontmatter output formats. Missing for 10: documented options for raw/cleaned HTML output, plain text output, and frontmatter format selection.

                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                                      ScrapingBeepartialclaimed6/10

                                                                      Docs confirm HTML is the default output and a dedicated `return_page_markdown` parameter lets developers get markdown instead, but there's no documented option for a plain-text-only extraction or a frontmatter output format, and extract_rules/ai_query only allow custom JSON-style extraction, not those specific formats. Missing for 10: explicit plain-text output mode, frontmatter output support, independent confirmation of format switching.

                                                                      • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format
                                                                      • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                    3. developerReceive scraped content as structured JSON

                                                                      weight 3 · round drawn
                                                                      Crawl4AIpartialclaimed6/10

                                                                      Docs confirm structured extraction via CSS/XPath/LLM strategies producing structured data (JSON-like) and LLM-driven structured data extraction, plus table extraction into structured form, supporting the core capability. However, the evidence never explicitly shows a JSON output example or schema, and there's no first-party confirmation of a dedicated JSON output mode/field beyond the markdown example shown. missing for 10: an explicit documented JSON output example/schema, independent hands-on confirmation of JSON structure quality.

                                                                      • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                                      • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                                      • [github] LLMTableExtraction: Revolutionary table extraction with intelligent chunking for massive tables
                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      ScrapingBeepartialclaimed6/10

                                                                      ScrapingBee offers extract_rules for CSS-selector-based structured data extraction and ai_query for AI-driven extraction, plus return_page_markdown for markdown output, indicating structured output beyond raw HTML. However, there's no explicit documented 'return as JSON' toggle or example showing a full JSON schema response, and no independent/community confirmation of structured JSON output quality. Missing for 10: explicit JSON output examples/schema, independent verification of structured JSON extraction reliability.

                                                                      • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                      • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format

                                                                    Llm ready output

                                                                    1. ai-native userGet clean LLM-ready text directly instead of dealing with blocking, rendering, and messy HTML myself

                                                                      weight 3 · round to Crawl4AI
                                                                      Crawl4AIfullcommunity8/10

                                                                      Core value proposition is documented directly: result.markdown provides clean LLM-ready markdown output from arun(), avoiding manual HTML parsing, plus structured/LLM-based extraction options and community confirmation it 'solves many LLM-scraping headaches.' Missing for 10: independent benchmarking of markdown output quality across diverse sites, and more detail on how blocking/anti-bot handling integrates seamlessly with the output pipeline.

                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                                      • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                                      • [community] Crawl4AI is an amazing open-source library that solves many LLM-scraping headaches.
                                                                      ScrapingBeepartialclaimed6/10

                                                                      ScrapingBee offers return_page_markdown to get markdown output plus ai_query for AI-driven extraction and premium proxies/JS rendering to avoid blocking, directly addressing the LLM-ready text need. However, evidence doesn't show a dedicated 'clean text extraction' mode beyond markdown/extract_rules, and no independent benchmarks confirm output quality for LLM consumption. missing for 10: independent validation of markdown/text cleanliness, dedicated boilerplate-removal/reader-mode feature, hands-on confirmation from users of LLM-ready output.

                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format
                                                                      • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                      • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                                                                      • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                                    2. ai-native userRequest semantically chunked output instead of one large content blob, so it feeds cleanly into a retrieval pipeline

                                                                      weight 2 · round to Crawl4AI
                                                                      Crawl4AIpartialclaimed4/10

                                                                      Evidence only shows 'intelligent chunking' applied specifically to massive table extraction (LLMTableExtraction), not a general semantic chunking mode for arbitrary page content feeding a RAG pipeline. Structured/LLM extraction exists but nothing documents configurable chunk sizes, overlap, or semantic-boundary chunking of markdown output. Missing for 10: documented general-purpose content chunking strategy (e.g. semantic/topic-based chunking of markdown), configurable chunk size/overlap, and independent confirmation it integrates cleanly into retrieval pipelines.

                                                                      • [github] LLMTableExtraction: Revolutionary table extraction with intelligent chunking for massive tables
                                                                      • [claimed-docs] Structured Extraction: Parse repeated patterns with CSS, XPath, or LLM-based extraction.
                                                                      • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                      ScrapingBeenone0/10

                                                                      ScrapingBee offers markdown conversion, CSS-based extraction rules, and AI query extraction, but no evidence of semantic/chunked output splitting content into retrieval-ready segments. The docs list output options (HTML, markdown, screenshots, extract_rules) but never mention chunking or segmenting content for RAG pipelines.

                                                                      • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                      • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                      • [claimed-docs] return_page_markdown [boolean] (false) Return the page content in markdown format

                                                                    Visual capture

                                                                    1. developerCapture a screenshot of a full page or a specific selected area

                                                                      weight 2 · round to ScrapingBee
                                                                      Crawl4AInone0/10

                                                                      No evidence in the pack mentions screenshot capture, full-page or selector-based screenshots, or any image output capability of Crawl4AI.

                                                                        ScrapingBeepartialclaimed5/10

                                                                        Docs confirm a `screenshot_selector` parameter for capturing a specific CSS-selected area of a page, directly supporting selected-area screenshots. However, no evidence explicitly documents a full-page screenshot parameter or option, so only half the story is substantiated. Missing for 10: explicit full-page screenshot parameter/documentation, independent/hands-on confirmation of screenshot output quality.

                                                                        • [claimed-docs] screenshot_selector [string] ("") Return a screenshot of a particular area of the page, targeted by a CSS selector

                                                                      Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits

                                                                      Free-tier ceilings, usage caps, and rate limits before you have to pay

                                                                      Cost optimization

                                                                      1. developerLet the API automatically pick the cheapest configuration that still succeeds

                                                                        weight 2 · round to ScrapingBee
                                                                        Crawl4AInone0/10

                                                                        No evidence of any auto-selection of cheapest model/config that still meets quality requirements; there's no cost-based routing, budget optimizer, or fallback-on-price logic described anywhere in the docs or community reports. Adaptive crawling stops when enough info is gathered, but that's about crawl coverage, not cost-based configuration selection.

                                                                          ScrapingBeefullclaimed8/10

                                                                          ScrapingBee's docs explicitly describe a `mode=auto` parameter that lets the API pick the cheapest configuration that still succeeds, directly matching the story. This is first-party documented evidence, though there's no independent/hands-on corroboration of its effectiveness. Missing for 10: independent verification that auto mode reliably picks the cheapest successful config in practice.

                                                                          • [claimed-docs] mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto
                                                                        • developerBlock ads on the target page to speed up scraping requests

                                                                          weight 1 · round to ScrapingBee
                                                                          Crawl4AInone0/10

                                                                          No evidence in the pack mentions ad-blocking or resource-blocking features to speed up crawling; while Crawl4AI has various performance and crawling features, none reference blocking ads specifically.

                                                                            ScrapingBeefullclaimed8/10

                                                                            Official docs explicitly document the `block_ads=true` parameter to prevent ad loading and speed up scraping requests, directly matching the story. Missing for 10: independent/hands-on corroboration of the speed benefit and no third-party benchmark confirming the claim.

                                                                            • [claimed-docs] By default, ScrapingBee does not block ads. To avoid scraping them (e.g.,to speed up your request), use `block_ads=true`
                                                                          • developerBlock images and CSS resources by default to reduce bandwidth and speed up requests

                                                                            weight 1 · round to ScrapingBee
                                                                            Crawl4AInone0/10

                                                                            No evidence in the pack mentions blocking images/CSS resources or any bandwidth-saving resource-filtering feature; none of the docs, GitHub, or community citations reference this capability.

                                                                              ScrapingBeefullclaimed9/10

                                                                              Official docs explicitly state ScrapingBee blocks all images and CSS by default to speed up requests, with an opt-out via block_resources=false, directly matching the story. Missing for 10: independent/hands-on corroboration beyond vendor docs.

                                                                              • [claimed-docs] By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…
                                                                            • ai-native userSet how much reasoning effort an autonomous agent spends on a data-gathering task (low, medium, high)

                                                                              weight 2 · round drawn
                                                                              Crawl4AInone0/10

                                                                              Crawl4AI has adaptive crawling that stops when 'enough' info is gathered, but there is no evidence of a configurable reasoning-effort dial (low/medium/high) for agent tasks.

                                                                                ScrapingBeenone0/10

                                                                                The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                                                                Cost transparency

                                                                                1. developerWhether failed, blocked, or empty-result requests still consume my billing quota

                                                                                  weight 2 · round drawn
                                                                                  Crawl4AInone0/10

                                                                                  The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                                                                                    ScrapingBeenone0/10

                                                                                    The evidence pack contains no documentation or discussion of billing behavior for failed, blocked, or empty-result requests—no mention of credit refunds, only-charge-on-success policies, or how failed/blocked scrapes affect quota consumption. Community comments discuss cost/pricing generally but not this specific billing mechanic.

                                                                                    • developerSet a spending cap or usage alert so proxy/credit consumption doesn't silently blow past my budget

                                                                                      weight 3 · round drawn
                                                                                      Crawl4AInone0/10

                                                                                      Crawl4AI is an open-source self-hosted crawler with no billing/credit system mentioned anywhere in the evidence; there is no spending cap, usage alert, or budget-tracking feature documented for proxy/LLM credit consumption.

                                                                                        ScrapingBeenone0/10

                                                                                        No evidence of any spending cap, usage alert, or budget notification feature in ScrapingBee's docs or community reports; community comments even highlight cost as a pain point without mentioning any budget-control tooling.

                                                                                        • [community] Using ScrapingBee is expensive; I've brought the cost of a CRM creation down to about 1.5 cents (+3 cents for a custom cover image) by looki…

                                                                                      Performance tuning

                                                                                      1. developerTrade off latency against completeness by controlling exactly when content is returned

                                                                                        weight 1 · round drawn
                                                                                        Crawl4AIpartialclaimed6/10

                                                                                        Crawl4AI offers explicit levers to trade latency for completeness: adaptive crawling that stops once 'sufficient information' is gathered, deep-crawl with max-pages limits, and resume_state checkpointing to control scope of a crawl before returning results. However, evidence is first-party docs/GitHub only, with no independent benchmarks or hands-on confirmation of how well the adaptive stopping heuristic tunes latency-vs-completeness in practice. Missing for 10: independent verification of adaptive-crawl accuracy/latency tradeoffs, and explicit developer-facing controls (e.g., a 'depth' or 'confidence threshold' parameter) documented with examples.

                                                                                        • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                                                                                        • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                        • [github] resume_state parameter to continue from a saved checkpoint
                                                                                        ScrapingBeepartialclaimed6/10

                                                                                        ScrapingBee lets developers control timing/completeness tradeoffs via wait-for-selector, JS scenarios, block_ads/block_resources flags, and an 'auto' mode that picks the cheapest successful configuration, giving direct levers over latency vs. completeness. However, this is all documented capability with no independent benchmarking or hands-on confirmation of actual latency impact. Missing for 10: independent/hands-on verification of latency-completeness tradeoffs, explicit 'wait' or timeout parameter documentation, and real-world performance data beyond vendor docs.

                                                                                        • [claimed-docs] If you want to interact with pages you want to scrape before we return your the HTML you can add JavaScript scenario to your API call.
                                                                                        • [claimed-docs] Our headless browsers will wait for the CSS / Xpath selector passed in the parameter before returning the HTML.
                                                                                        • [claimed-docs] By default, ScrapingBee does not block ads. To avoid scraping them (e.g.,to speed up your request), use `block_ads=true`
                                                                                        • [claimed-docs] By default, and to speed up requests, ScrapingBee blocks all images and CSS in the scraped page, but to scrape them, use `block_resources=fa…
                                                                                        • [claimed-docs] mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto

                                                                                      Privacy posture — data-handling and privacy storiesPrivacy posture

                                                                                      Data-handling and privacy stories

                                                                                      1. ai-native userChoose where my data is stored (region/residency)

                                                                                        weight 2 · round to Crawl4AI
                                                                                        Crawl4AIpartialclaimed3/10

                                                                                        Crawl4AI is open-source and self-hosted (Dockerized Setup), which implicitly lets users control where data is processed/stored by choosing their own deployment infrastructure, but there is no explicit documentation, configuration option, or claim about region/data-residency selection. missing for 10: explicit data residency/region configuration options, documentation addressing compliance/residency requirements, any mention of storage location control beyond generic self-hosting.

                                                                                        • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                                                        • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                                        ScrapingBeenone0/10

                                                                                        Evidence covers proxy geolocation for scraping targets (country_code) but no mention of data residency or storage region controls for ScrapingBee's own data handling/storage; no privacy/compliance documentation is present. Missing for 10: any documentation of data storage regions, residency options, or compliance certifications (e.g., EU data hosting).

                                                                                        • [claimed-docs] country_code [string] ("") Premium proxy geolocation
                                                                                      2. ai-native userControl data retention and deletion

                                                                                        weight 2 · round drawn
                                                                                        Crawl4AInone0/10

                                                                                        No evidence describes explicit data retention/deletion controls (e.g., cache TTLs, purge commands, GDPR-style export/delete APIs); the only related item is a vague self-hosted/open-source claim about accessing your own data, which does not address retention or deletion policy.

                                                                                        • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                                        ScrapingBeenone0/10

                                                                                        No evidence in the pack addresses data retention policies, deletion controls, or privacy/data lifecycle management for ScrapingBee; documentation excerpts focus solely on scraping features and API parameters. Missing for 10: any mention of data retention windows, deletion APIs/requests, privacy policy details, or compliance certifications.

                                                                                        • ai-native userOpt out of telemetry and usage tracking

                                                                                          weight 2 · round drawn
                                                                                          Crawl4AInone0/10

                                                                                          Crawl4AI is an open-source, self-hosted library (no forced API keys/paywalls), which suggests limited built-in telemetry, but no evidence pack item mentions a telemetry system, opt-out flag, or privacy/usage-tracking policy at all.

                                                                                            ScrapingBeenone0/10

                                                                                            No evidence pack mentions telemetry, usage tracking, or an opt-out mechanism for ScrapingBee's own product usage; documentation excerpts focus solely on scraping API parameters.

                                                                                            Scale reliability — behavior under load — scaling limits, uptime, failure handlingScale reliability

                                                                                            Behavior under load — scaling limits, uptime, failure handling

                                                                                            Ai driven crawling

                                                                                            1. ai-native userRely on adaptive crawling that automatically stops once enough information has been gathered to answer my query

                                                                                              weight 2 · round to Crawl4AI
                                                                                              Crawl4AIpartialclaimed6/10

                                                                                              First-party docs explicitly describe an adaptive crawling feature using 'information foraging algorithms' that stops once sufficient information is gathered to answer a query, directly matching the story. However, there is no independent/hands-on corroboration of this specific feature's effectiveness, and no benchmark or user report validating its stopping accuracy. missing for 10: independent verification of adaptive-stop behavior, quantitative accuracy/efficiency data, community confirmation of real-world use.

                                                                                              • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                                                                                              ScrapingBeenone0/10

                                                                                              ScrapingBee's docs describe single-page scraping, AI-based extraction (ai_query), and cost-optimizing 'auto' mode, but there is no evidence of adaptive multi-step crawling that dynamically decides when enough information has been gathered to stop. No crawling/agentic loop or stopping-criteria feature is documented.

                                                                                              • [claimed-docs] ai_query [string] ("") The information you want to extract from the webpage using AI
                                                                                              • [claimed-docs] mode [string] ("") Let ScrapingBee pick the cheapest configuration that succeeds. Only value is auto

                                                                                            Batch processing

                                                                                            1. data-engineerBatch scrape thousands of URLs asynchronously

                                                                                              weight 3 · round to Crawl4AI
                                                                                              Crawl4AIpartialcommunity6/10

                                                                                              Crawl4AI supports async crawling (AsyncWebCrawler/arun), multi-URL batch configuration with per-pattern strategies, deep-crawl CLI options, retry/proxy fallback, and resume-from-checkpoint for long jobs, all pointing toward large-scale async scraping. However, there's no explicit documentation of a dedicated 'arun_many' or thousands-of-URLs batch API, concurrency/throughput benchmarks, or first-party evidence of tested scale at 'thousands of URLs'; community comments note buyers must build their own policy/quality/rate-limiting layer for production scale. Missing for 10: documented high-concurrency batch API (e.g., arun_many) with concurrency controls, published benchmarks/case studies at thousands-of-URL scale, and independent confirmation of reliability at that scale.

                                                                                              • [claimed-docs] async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://crawl4ai.com") print(result.markdown)
                                                                                              • [github] Multi-URL Configuration: Different strategies for different URL patterns in one batch
                                                                                              • [github] Automatic retry with proxy chain and fallback fetch function
                                                                                              • [github] resume_state parameter to continue from a saved checkpoint
                                                                                              • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                              • [community] Promising foundation if you're willing to own the policy layer + quality gates.
                                                                                              • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                                              ScrapingBeenone0/10

                                                                                              The evidence pack only documents single-URL synchronous scraping API parameters (JS rendering, extraction rules, proxies, screenshots) with no mention of batch job submission, async processing, concurrency limits, or a queue/webhook system for handling thousands of URLs at scale.

                                                                                              • developerApply different crawl configurations to different URL patterns within a single batch job

                                                                                                weight 1 · round to Crawl4AI
                                                                                                Crawl4AIfullclaimed7/10

                                                                                                GitHub docs explicitly advertise 'Multi-URL Configuration: Different strategies for different URL patterns in one batch,' directly matching the story. However, this is only a single-line feature mention with no first-party documentation example, API detail, or independent hands-on confirmation. missing for 10: detailed docs/tutorial showing per-pattern config syntax, independent/community validation of this specific feature in practice.

                                                                                                • [github] Multi-URL Configuration: Different strategies for different URL patterns in one batch
                                                                                                ScrapingBeenone0/10

                                                                                                ScrapingBee's API is per-URL request based with configuration parameters set per call; there is no evidence of a 'batch job' concept or a way to define per-URL-pattern rules within a single job. The docs describe single-page scraping options (JS scenario, extract_rules, proxies, etc.) but nothing about batch jobs with pattern-based configuration.

                                                                                                Concurrency

                                                                                                1. data-engineerSpin up many concurrent scraping sessions to gather data at scale

                                                                                                  weight 3 · round to Crawl4AI
                                                                                                  Crawl4AIpartialcommunity6/10

                                                                                                  Crawl4AI supports batch/multi-URL crawling, deep crawl with max-pages, checkpoint resume, Docker/FastAPI deployment with a monitoring dashboard showing browser pool visibility, and retry/proxy chains—together implying support for concurrent, at-scale scraping. However, there's no explicit documentation of concurrency limits, session pooling configuration, or benchmarks proving many-simultaneous-session throughput, and community commentary notes users must build their own rate-limiting/production policy layer. Missing for 10: explicit concurrency/session-pool configuration docs, load/scale benchmarks, and independent verification of large-scale concurrent runs.

                                                                                                  • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                                  • [github] Automatic retry with proxy chain and fallback fetch function
                                                                                                  • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                                                                  • [github] Real-time Monitoring Dashboard with live system metrics and browser pool visibility
                                                                                                  • [github] resume_state parameter to continue from a saved checkpoint
                                                                                                  • [github] Multi-URL Configuration: Different strategies for different URL patterns in one batch
                                                                                                  • [community] Promising foundation if you're willing to own the policy layer + quality gates.
                                                                                                  • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                                                  ScrapingBeepartialclaimed4/10

                                                                                                  ScrapingBee is inherently an API you can call many times, and docs mention session_id for routing multiple requests through the same IP, but the evidence pack contains no explicit documentation of concurrency limits, parallel-request quotas, or scaling architecture for high-volume data-engineering workloads. Missing for 10: explicit concurrency/rate-limit specs, documented plan-based concurrent request caps, and independent evidence of successful large-scale concurrent scraping.

                                                                                                  • [claimed-docs] session_id [integer] ("") Route multiple API requests through the same IP address
                                                                                                  • [claimed-docs] premium_proxy [boolean] (false) Use premium proxies to bypass difficult to scrape websites
                                                                                                  • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape

                                                                                                Crawl compliance

                                                                                                1. data-engineerConfigure the crawler to respect robots.txt rules and target-site rate limits automatically

                                                                                                  weight 2 · round drawn
                                                                                                  Crawl4AInone0/10

                                                                                                  No documentation or feature evidence shows Crawl4AI automatically respects robots.txt or enforces target-site rate limits; the only relevant community evidence explicitly notes that 'robots/ToS, rate limiting' are things the operator must own themselves, i.e., not built-in automation.

                                                                                                  • [community] Promising foundation if you're willing to own the policy layer + quality gates.
                                                                                                  • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                                                  ScrapingBeenone0/10

                                                                                                  No evidence that ScrapingBee offers robots.txt compliance settings or automatic rate-limit throttling per target site; docs cover proxies, JS rendering, extraction, and viewport settings but nothing about robots.txt or rate-limiting configuration.

                                                                                                  Fault tolerance

                                                                                                  1. data-engineerResume a crashed deep crawl from a saved checkpoint instead of restarting from scratch

                                                                                                    weight 2 · round to Crawl4AI
                                                                                                    Crawl4AIpartialclaimed6/10

                                                                                                    GitHub evidence confirms a resume_state parameter to continue a deep crawl from a saved checkpoint, directly matching the story. However, there's no documentation detail on how checkpoints are saved automatically during a crash, how frequently state is persisted, or independent hands-on confirmation of this working in practice. missing for 10: first-party docs walkthrough of checkpoint save/resume workflow, independent/community verification of crash-recovery behavior.

                                                                                                    • [github] resume_state parameter to continue from a saved checkpoint
                                                                                                    ScrapingBeenone0/10

                                                                                                    No evidence of any crawl checkpoint/resume feature; ScrapingBee's docs describe single-page API requests, sessions, and proxy parameters but nothing about deep crawl state persistence or resuming crashed crawls.

                                                                                                    Scheduling monitoring

                                                                                                    1. data-engineerMonitor target pages for content changes, such as price or listing updates, and get notified as they happen

                                                                                                      weight 2 · round drawn
                                                                                                      Crawl4AInone0/10

                                                                                                      Crawl4AI is a crawling/extraction library with deep-crawl, retry, and dashboard monitoring features, but nothing in the evidence describes scheduled re-crawling, diff/change-detection, or alerting/notification mechanisms for tracking content changes like price or listing updates over time.

                                                                                                        ScrapingBeenone0/10

                                                                                                        ScrapingBee is an on-demand scraping API (fetch a page, extract data, render JS) with no evidence of scheduled monitoring, change-detection, diffing, or notification/webhook features for tracking content changes over time. The evidence pack only covers single-request scraping parameters, proxies, and rendering options, not continuous monitoring or alerting.

                                                                                                        • data-engineerMonitor job performance, validate data quality, and receive alerts when something fails

                                                                                                          weight 2 · round to Crawl4AI
                                                                                                          Crawl4AIpartialcommunity3/10

                                                                                                          There is a documented real-time monitoring dashboard with live system metrics and browser pool visibility, which covers basic job performance monitoring, and automatic retry with proxy/fallback chains aids reliability. However, there is no evidence of data quality validation features or an alerting/notification system for failures, and community feedback explicitly notes users must 'own the policy layer + quality gates' themselves. Missing for 10: data quality validation tooling, failure alerting/notification integration, and independent confirmation of the monitoring dashboard's depth.

                                                                                                          • [github] Real-time Monitoring Dashboard with live system metrics and browser pool visibility
                                                                                                          • [github] Automatic retry with proxy chain and fallback fetch function
                                                                                                          • [community] Promising foundation if you're willing to own the policy layer + quality gates.
                                                                                                          • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                                                          ScrapingBeenone0/10

                                                                                                          Evidence covers scraping features (JS rendering, extraction, proxies) but nothing about job monitoring dashboards, data quality validation, or failure alerting mechanisms; community comments focus on cost/alternatives, not reliability tooling.

                                                                                                          • developerMonitor live system metrics and worker/browser pool status through a real-time dashboard

                                                                                                            weight 1 · round to Crawl4AI
                                                                                                            Crawl4AIpartialclaimed6/10

                                                                                                            GitHub evidence explicitly claims a 'Real-time Monitoring Dashboard with live system metrics and browser pool visibility,' directly matching the story, but this is a single first-party mention with no independent hands-on corroboration, screenshots, or docs detail on what metrics/UI it exposes. missing for 10: independent/community confirmation of the dashboard working, detailed docs on metrics tracked, screenshots or setup instructions.

                                                                                                            • [github] Real-time Monitoring Dashboard with live system metrics and browser pool visibility
                                                                                                            ScrapingBeenone0/10

                                                                                                            The evidence pack covers API parameters, docs, and community discussion but contains no mention of a real-time dashboard for monitoring system metrics or worker/browser pool status; ScrapingBee's dashboard (if any) is not documented here.

                                                                                                            • developerSchedule scraping jobs to run automatically at specific times

                                                                                                              weight 2 · round drawn
                                                                                                              Crawl4AInone0/10

                                                                                                              No evidence of built-in scheduling functionality (cron-like triggers or job scheduler) — Crawl4AI is a crawling/extraction library and CLI/Docker deployment, with community notes suggesting users must bridge to external automation tools like n8n for production workflows including scheduling. Missing for 10: any native scheduler, cron integration, or documented recurring-job API.

                                                                                                              • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                                                                                                              • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                                                                                              • [github] Dockerized Setup: Optimized Docker image with FastAPI server for easy deployment.
                                                                                                              ScrapingBeenone0/10

                                                                                                              ScrapingBee's evidence describes only on-demand API scraping (parameters, JS rendering, proxies, extraction) with no mention of a scheduling feature, cron-like triggers, or job scheduler UI. No evidence supports automated, time-based recurring scraping jobs.

                                                                                                              Site crawling

                                                                                                              1. data-engineerRun a deep crawl using a breadth-first strategy with a configurable maximum page limit

                                                                                                                weight 2 · round to Crawl4AI
                                                                                                                Crawl4AIfullprobed8/10

                                                                                                                CLI evidence explicitly shows `--deep-crawl bfs --max-pages 10`, directly matching the requested breadth-first strategy with configurable page limit, and the official CLI docs corroborate this exists as a documented feature. Missing for 10: no independent hands-on report validating large-scale BFS crawl behavior/performance at scale, and no Python API example (only CLI) confirming programmatic configurability.

                                                                                                                • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                                                • [probe] official CLI documented at https://docs.crawl4ai.com/core/cli/
                                                                                                                ScrapingBeenone0/10

                                                                                                                ScrapingBee's documented API is per-page scraping (single URL requests with rendering, extraction, proxy options) with no evidence of a crawl orchestration feature supporting breadth-first traversal or a configurable max-page limit for multi-page crawls.

                                                                                                                • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                                                                                • [claimed-docs] extract_rules [stringified JSON] ("") Data extraction from CSS selectors
                                                                                                              2. developerCrawl an entire website and get content from all its pages with one request

                                                                                                                weight 3 · round to Crawl4AI
                                                                                                                Crawl4AIfullcommunity8/10

                                                                                                                Crawl4AI supports deep/BFS crawling with a max-pages parameter via CLI (--deep-crawl bfs --max-pages 10), plus adaptive crawling that decides when enough pages have been gathered, and resume_state for continuing large crawls — directly enabling whole-site crawling in one request/command. Community feedback confirms it's used for scraping at scale, though notes production concerns like rate limiting and bot mitigation as caveats. Missing for 10: independent benchmark of full-site crawl completeness/performance and clearer documentation of concurrency limits at scale.

                                                                                                                • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                                                • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                                                                                                                • [github] resume_state parameter to continue from a saved checkpoint
                                                                                                                • [community] Promising foundation if you're willing to own the policy layer + quality gates.
                                                                                                                • [community] Worth calling out the boring production bits: robots/ToS, rate limiting, bot mitigation, login/session handling, and not accidentally hoover…
                                                                                                                ScrapingBeenone0/10

                                                                                                                ScrapingBee's API is designed for single-page scraping requests (one URL per call); the evidence shows no crawler feature that follows links across a domain or aggregates content from multiple pages in one request. No mention of a 'crawl' endpoint, sitemap traversal, or multi-page job in a single API call.

                                                                                                                • [claimed-docs] To scrape a web page, you only need two things: Your API key... The encoded web page URL you want to scrape
                                                                                                                • [claimed-docs] This can be useful for scraping a Single Page Application built with frameworks such as React.js, Angular.js, JQuery or Vue.
                                                                                                              3. developerInstantly discover all URLs on a website without fully crawling it

                                                                                                                weight 2 · round drawn
                                                                                                                Crawl4AInone0/10

                                                                                                                Evidence shows deep-crawl (BFS) and adaptive crawling features that limit or stop crawling, but these still involve fetching and parsing pages rather than instantly enumerating a site's URL list (e.g., via sitemap parsing) without crawling. No probe or doc confirms a dedicated 'discover URLs only' mode. Missing for 10: sitemap.xml/URL-discovery feature, evidence of URL enumeration without page fetches, independent confirmation of instant discovery.

                                                                                                                • [github] crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10
                                                                                                                • [claimed-docs] Crawl4AI now features intelligent adaptive crawling that knows when to stop! Using advanced information foraging algorithms, it determines w…
                                                                                                                ScrapingBeenone0/10

                                                                                                                ScrapingBee's evidence covers page scraping, JS rendering, extraction rules, proxies, and AI queries, but nothing describes a sitemap/URL-discovery feature that lists all URLs on a site without crawling each page. No sitemap parsing, URL enumeration, or site-mapping endpoint is documented.

                                                                                                                Not comparable on these axes

                                                                                                                1. ai-native userPlug MCP servers into this product so it can use their tools

                                                                                                                  weight 3 · not comparable
                                                                                                                  Crawl4AIn/a

                                                                                                                  Crawl4AI is a web-crawling library/service, not an agent that consumes external tools; the evidence shows it exposes an official MCP *server* (crawl4ai-probe-3) so that agents like Cursor/Claude can plug into it, which is the reverse relationship from the story's 'plug MCP servers into this product' framing. There is no evidence of Crawl4AI acting as an MCP client consuming other servers' tools, and this role doesn't fit its product category.

                                                                                                                  • [probe] official MCP server documented at https://docs.crawl4ai.com/core/self-hosting/#mcp-model-context-protocol-support
                                                                                                                  • [community] New developers often struggle with production configurations—specifically how to use Crawl4AI with MCP servers for Cursor, or how to bridge …
                                                                                                                  • [community] Built crawl4ai.dev as a community-driven documentation hub with one-click Docker setups for n8n/FastAPI and production-ready MCP server guid…
                                                                                                                  ScrapingBeen/a

                                                                                                                  ScrapingBee is a web-scraping API/SaaS product, not an agent or orchestration platform that would itself consume other MCP servers' tools; evidence only shows it exposes its own MCP server (mcp.scrapingbee.com), i.e., it is the tool provider, not a tool consumer. Plugging external MCP servers into ScrapingBee to gain their tools is a category error for this kind of product.

                                                                                                                  • [probe] official MCP server documented at https://mcp.scrapingbee.com/
                                                                                                                2. ai-native userVersion, review, and roll back my automations

                                                                                                                  weight 1 · not comparable
                                                                                                                  Crawl4AIn/a

                                                                                                                  Crawl4AI is a web-crawling/extraction library, not an automation/workflow builder with versioned pipelines; version control, review, and rollback of automations is a category error for this product type. No evidence pack item addresses versioning or rollback of crawl configurations/workflows.

                                                                                                                    ScrapingBeen/a

                                                                                                                    ScrapingBee is a web scraping API/proxy service, not an automation-building platform with workflows to version or roll back; versioning/review/rollback of automations is a category error for this product type.

                                                                                                                    • developerWhether exceeding my plan's monthly credit or request quota triggers overage charges or a hard cutoff

                                                                                                                      weight 3 · not comparable
                                                                                                                      Crawl4AIn/a

                                                                                                                      Crawl4AI is an open-source, self-hosted crawling library/tool with no paywalls or paid plans (crawl4ai-docs-4), so there is no metered plan with credits, quotas, or overage billing for this question to apply to.

                                                                                                                      • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                                                                      ScrapingBeenone0/10

                                                                                                                      No evidence in the pack addresses billing behavior when exceeding plan credits/requests—no mention of overage charges, hard cutoffs, or quota enforcement policy.

                                                                                                                      • data-engineerThe maximum concurrent sessions or requests allowed on my pricing tier and the cost to raise that cap

                                                                                                                        weight 2 · not comparable
                                                                                                                        Crawl4AIn/a

                                                                                                                        Crawl4AI is an open-source, self-hosted library/Docker deployment with no vendor-imposed pricing tiers or session caps (crawl4ai-docs-4 emphasizes no forced API keys or paywalls); concurrency is governed by the user's own infrastructure, not a purchasable tier, so the pricing-limits axis doesn't apply to this product category.

                                                                                                                        • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                                                                        ScrapingBeenone0/10

                                                                                                                        No evidence in the pack specifies concurrent session/request limits per pricing tier or the cost to increase that cap; documentation snippets cover feature parameters (JS scenario, proxies, extraction) but not concurrency caps or upgrade pricing.

                                                                                                                        • ai-native userPrevent my data from being used to train AI models

                                                                                                                          weight 3 · not comparable
                                                                                                                          Crawl4AIn/a

                                                                                                                          Crawl4AI is a self-hosted, open-source crawling library that runs on the user's own infrastructure; there is no vendor-hosted service that ingests user data for model training, so a 'prevent training on my data' opt-out is a category mismatch rather than a missing feature. Any LLM training concerns would pertain to whichever third-party LLM the user chooses to plug in, not to Crawl4AI itself.

                                                                                                                          • [claimed-docs] Open Source: No forced API keys, no paywalls—everyone can access their data.
                                                                                                                          • [github] LLM-Driven Extraction: Supports all LLMs (open-source and proprietary) for structured data extraction.
                                                                                                                          ScrapingBeenone0/10

                                                                                                                          No evidence in the pack addresses data-use, training-data opt-out, or AI-training privacy policies for ScrapingBee's service; nothing documents a mechanism to prevent scraped/customer data from being used to train AI models.

                                                                                                                          • data-engineerCheck a public status page showing uptime history and past incident postmortems before committing to the service

                                                                                                                            weight 2 · not comparable
                                                                                                                            Crawl4AIn/a

                                                                                                                            Crawl4AI is an open-source self-hosted crawling library/tool, not a hosted SaaS with an uptime/SLA obligation; a public status page with incident postmortems is not a fair expectation for this product category.

                                                                                                                              ScrapingBeenone0/10

                                                                                                                              No evidence of a public status page, uptime history, or incident postmortems anywhere in the evidence pack; docs focus on API features and community items discuss cost/alternatives, not reliability transparency.