{
  "data": {
    "a": {
      "slug": "scrapfly",
      "name": "Scrapfly",
      "vendor": "Scrapfly (Joam Intelligence, LLC)",
      "vendorUrl": "https://scrapfly.io",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scrape API with datacenter or residential proxies, JS rendering and an anti-bot Unblocker, plus screenshot, LLM extraction, crawler and hosted Cloud Browser APIs on one credit balance.",
      "url": "https://www.anchorterminal.com/tools/scrapfly",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapfly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapfly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapfly.json",
      "repo": "https://github.com/scrapfly/scrapfly-mcp",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.scrapfly.io/scrape",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapfly-sdk"
        },
        {
          "registry": "npm",
          "name": "scrapfly-sdk"
        },
        {
          "registry": "npm",
          "name": "scrapfly-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the `key` query parameter (their canonical form) or the `X-Scrapfly-Api-Key` header. Keys are per project, `scp-live-` for live and `scp-test-` for sandbox. The hosted MCP accepts OAuth 2.0, a Bearer key or `?key=` in the URL.",
      "pricing": "freemium",
      "pricingNotes": "1,000 free credits on signup, no card. Discovery $30 a month (200,000 credits), Pro $100 (1 million), Startup $250 (2.5 million), Enterprise $500 (5.5 million), custom from $1,200. Annual billing gives 2 months free. A datacenter request costs 1 credit, residential 25, browser rendering adds 5, and the Unblocker can add target-specific fees that aren't published. Extra credits run $5 per 10,000 on Discovery down to $1.20 on Enterprise, and Discovery and Free stop at quota (https://scrapfly.io/pricing).",
      "priceSummary": "$30 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in llms.txt, the docs index or pricing.md (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 61,
      "popularity": {
        "githubStars": 14,
        "npmWeekly": 21337,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://scrapfly.io/docs",
      "llmsTxt": "https://scrapfly.io/docs/llms.txt",
      "registryName": "io.scrapfly.mcp/mcp",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "web.extract",
        "web.crawl",
        "browser.hosted",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "mcp",
        "llms-txt",
        "proxies",
        "python",
        "typescript",
        "openapi",
        "closed-source"
      ],
      "lastRelease": "2026-09-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.8,
        "grade": "B",
        "agentReady": false,
        "rank": 107,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes. The MCP server loads 61 tools at once.",
        "strengths": [
          "Error catalogue of 100+ ERR:: codes, each with HTTP status, retryable and billed flags and a doc link",
          "Hosted MCP with OAuth open to all plans, and API keys restrictable to products since 15 April 2026",
          "MCP tools carry readOnlyHint, destructiveHint and idempotentHint, and mutating vault and alert tools need confirm=true",
          "SOC 2 Type II and ISO 27001 claims, a public SOC 3 report and a published DPA",
          "1,000 free credits with no card, and official SDKs in Python, TypeScript, Go and Rust"
        ],
        "weaknesses": [
          "The open-source MCP server registers 61 tools at once, a heavy tools/list",
          "The canonical API auth form and one MCP option put the key in the URL query string",
          "Status page shows an overall state only, with no components or incident history, and status.scrapfly.io doesn't resolve",
          "Residential requests cost 25 credits and per-target Unblocker surcharges aren't published",
          "No SLA, and the terms disclaim uptime"
        ],
        "agentNotes": [
          "Send `X-Scrapfly-Api-Key` as a header rather than `key=` so the key stays out of logs",
          "Pass `unblocker=false` to the MCP web_scrape tool for plain pages, since it's on when omitted. `asp` is the deprecated alias",
          "Set `cost_budget` on each scrape so an Unblocker upgrade can't blow through credits",
          "Check `retryable` in the error body before retrying, and stop on `ERR::THROTTLE::MAX_API_CREDIT_BUDGET_EXCEEDED`",
          "Use web_get_page for a simple fetch and save cloud_browser_open for pages that need clicks"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.8
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 58
        },
        "provenanceScore": 96
      },
      "connect": {
        "http": "curl -G \"https://api.scrapfly.io/scrape\" -H \"X-Scrapfly-Api-Key: $SCRAPFLY_API_KEY\" \\\n  --data-urlencode \"url=https://example.com\" -d \"format=markdown\"",
        "claudeCode": "claude mcp add --transport http scrapfly https://mcp.scrapfly.io/mcp",
        "config": {
          "mcpServers": {
            "scrapfly": {
              "args": [
                "mcp-remote",
                "https://mcp.scrapfly.io/mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapfly"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Discovery plan",
          "unit": "month",
          "usd": 30,
          "note": "200,000 credits, hard cap at quota"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 100,
          "note": "1,000,000 credits, extra at $3.50 per 10,000"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 250,
          "note": "2,500,000 credits, extra at $2 per 10,000"
        },
        {
          "item": "Enterprise plan",
          "unit": "month",
          "usd": 500,
          "note": "5,500,000 credits, extra at $1.20 per 10,000"
        },
        {
          "item": "Datacenter request on Discovery",
          "unit": "1k-requests",
          "usd": 0.15,
          "note": "1 credit a request, no rendering"
        },
        {
          "item": "Residential request on Discovery",
          "unit": "1k-requests",
          "usd": 3.75,
          "note": "25 credits a request"
        },
        {
          "item": "Extra credit on Discovery",
          "unit": "credit",
          "usd": 0.0005,
          "note": "$5 per 10,000"
        }
      ],
      "provenance": {
        "legalEntity": "Joam Intelligence, LLC",
        "domain": "scrapfly.io",
        "domainRegistered": "2018-09-12",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapfly.io/terms-of-service",
        "privacy": "https://scrapfly.io/privacy-policy",
        "statusPage": "https://scrapfly.io/status",
        "changelog": "https://scrapfly.io/docs/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "scrapfly.io/status shows an overall state with no components or history. status.scrapfly.io, linked from llms.txt, still didn't resolve in DNS on 2026-10-01.",
          "The terms were updated on 2026-09-30 and now name only Joam Intelligence, LLC, governed by US law, with no postal address.",
          "security.txt expires 2027-03-29, per the 30 September check."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapfly.json",
      "live": {
        "slug": "scrapfly",
        "probe": {
          "target": "https://api.scrapfly.io/scrape",
          "method": "get",
          "lastAt": "2026-10-05T02:30:02.322592649Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 457,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 441,
          "p95ms24h": 481,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://scrapfly.io/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.432759406Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.scrapfly.mcp/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-mcp",
            "version": "1.3.4",
            "seenAt": "2026-10-04T16:39:16.388360785Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "seenAt": "2026-10-04T16:39:15.601373792Z"
          },
          {
            "registry": "pypi",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:39:15.414338042Z"
          }
        ],
        "githubStars": 14,
        "npmWeekly": 20536,
        "pypiWeekly": 57312,
        "securityTxt": {
          "url": "https://scrapfly.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-02T15:15:40Z",
          "checkedAt": "2026-10-04T15:15:39.755631026Z"
        },
        "llmsTxt": {
          "url": "https://scrapfly.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.57015644Z"
        },
        "domain": {
          "domain": "scrapfly.io",
          "checkedAt": "2026-10-04T13:08:19.054714067Z"
        },
        "pages": [
          {
            "url": "https://scrapfly.io/docs/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:32.723703203Z",
            "changedAt": "2026-10-03T15:35:32.310065403Z",
            "fingerprint": "d4ec33117264"
          },
          {
            "url": "https://scrapfly.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:35.49209853Z",
            "changedAt": "2026-10-03T15:35:35.046049372Z",
            "fingerprint": "f25420398c41"
          },
          {
            "url": "https://scrapfly.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:36.870285473Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "39d17934c8b2"
          },
          {
            "url": "https://scrapfly.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:39.557905673Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6284dfb7667"
          }
        ],
        "updatedAt": "2026-10-05T02:30:02.322592649Z"
      }
    },
    "b": {
      "slug": "scrapingbee",
      "name": "ScrapingBee",
      "vendor": "ScrapingBee (Oxylabs group)",
      "vendorUrl": "https://www.scrapingbee.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "HTML API that fetches a URL through rotating, premium or stealth proxies with headless rendering, JavaScript scenarios, screenshots and CSS or AI extraction.",
      "url": "https://www.anchorterminal.com/tools/scrapingbee",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingbee.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingbee.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingbee.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.scrapingbee.com/api/v1/",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapingbee"
        },
        {
          "registry": "npm",
          "name": "scrapingbee"
        },
        {
          "registry": "pypi",
          "name": "scrapingbee-cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "The HTML API takes the key as a Bearer token in the Authorization header, and the Python (v2.2.0) and Node (v2.0.0) SDKs send it that way since 1 September 2026. The older api_key query parameter still works but is deprecated. remote-mcp.txt says the hosted MCP takes the key only as an api_key query parameter in its URL, while the official CLI's AGENTS.md (5 September 2026) says it takes a Bearer header.",
      "pricing": "paid",
      "pricingNotes": "Trial of 1,000 credits, no card. Hobby $19 a month (75,000 credits, 25 concurrent), Freelance $49 (250,000, 50), Startup $99 (1 million, 100), Business $249 (3 million, 200), Business+ $599 (8 million, 400), excluding VAT. JavaScript rendering is on by default, so a basic call costs 5 credits, 1 without rendering, 10 or 25 with premium proxies and 75 with stealth proxies. Google search costs 10 credits (https://www.scrapingbee.com/pricing/).",
      "priceSummary": "$19 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the pricing page, llms.txt or the HTML API and MCP references (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 18,
      "popularity": {
        "githubStars": 132,
        "npmWeekly": 48527,
        "pypiWeekly": 71721,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.scrapingbee.com/documentation/",
      "llmsTxt": "https://www.scrapingbee.com/llms.txt",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "python",
        "typescript",
        "closed-source"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.3,
        "grade": "C",
        "agentReady": false,
        "rank": 268,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 40,
          "reliability": 70,
          "schema": 60,
          "security": 37,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Dedicated Google, Amazon, Walmart, YouTube, ChatGPT and Gemini endpoints next to the general HTML API. remote-mcp.txt says the hosted MCP only takes the key as ?api_key= in its URL.",
        "strengths": [
          "Dedicated Google, Amazon, Walmart, YouTube, ChatGPT and Gemini endpoints next to the general HTML API",
          "Auto mode with a max_cost cap bills only the tier that works, and 429s and failures aren't billed",
          "Per-endpoint llms files plus a reference-notes file that lists 9 known conflicts in its own docs",
          "Seven SDK and CLI releases between 8 July and 11 September 2026, with tests in CI",
          "The official CLI skills tell agents to treat scraped output as data and flag instruction-like content"
        ],
        "weaknesses": [
          "remote-mcp.txt says the hosted MCP only takes the key as ?api_key= in its URL",
          "JavaScript rendering on by default makes a plain call 5 credits instead of 1",
          "Only a one-off 1,000-credit trial, no monthly free tier",
          "No API changelog, security.txt, bug bounty or certification found",
          "HTML scraper degraded for about 24 hours from 28 July 2026, and dedicated APIs down for about 40 minutes on 24 July"
        ],
        "agentNotes": [
          "Send render_js=false for static pages and files. It cuts the cost from 5 credits to 1",
          "Use mode=auto with max_cost=25 to stop it escalating to 75-credit stealth requests",
          "Keep the MCP URL with ?api_key= out of logs and shared configs",
          "Back off exponentially on 429 from the MCP, since its concurrency is shared across customers",
          "Expect 404 and 410 from the target to be billed. Other failures aren't"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.3
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 40,
          "reliability": 70,
          "schema": 60,
          "security": 37,
          "transparency": 51
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl --get 'https://app.scrapingbee.com/api/v1/' \\\n  --header \"Authorization: Bearer $SCRAPINGBEE_API_KEY\" \\\n  --data-urlencode 'url=https://example.com' --data-urlencode 'render_js=false'",
        "claudeCode": "claude mcp add --transport http scrapingbee \"https://mcp.scrapingbee.com/mcp?api_key=$SCRAPINGBEE_API_KEY\"",
        "config": {
          "mcpServers": {
            "scrapingbee": {
              "args": [
                "mcp-remote",
                "https://mcp.scrapingbee.com/mcp?api_key=${SCRAPINGBEE_API_KEY}"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingbee"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Hobby plan",
          "unit": "month",
          "usd": 19,
          "note": "75,000 credits, 25 concurrent, excluding VAT"
        },
        {
          "item": "Freelance plan",
          "unit": "month",
          "usd": 49,
          "note": "250,000 credits, 50 concurrent"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 99,
          "note": "1 million credits, 100 concurrent"
        },
        {
          "item": "Default request on Hobby",
          "unit": "1k-requests",
          "usd": 1.27,
          "note": "JavaScript rendering on by default, 5 credits each"
        },
        {
          "item": "Request without rendering on Hobby",
          "unit": "1k-requests",
          "usd": 0.25,
          "note": "render_js=false, 1 credit each"
        }
      ],
      "provenance": {
        "legalEntity": "VostokInc SAS",
        "domain": "scrapingbee.com",
        "domainRegistered": "2019-09-18",
        "endpointOnVendorDomain": true,
        "terms": "https://www.scrapingbee.com/terms-and-conditions/",
        "privacy": "https://www.scrapingbee.com/privacy-policy/",
        "statusPage": "https://status.scrapingbee.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "VostokInc is a Paris société par actions simplifiée, registration number 843 352 683, per the legal notices at https://www.scrapingbee.com/legal-notices/.",
          "Owned by the Oxylabs company group since June 2025. The terms still name VostokInc."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingbee.json",
      "live": {
        "slug": "scrapingbee",
        "probe": {
          "target": "https://app.scrapingbee.com/api/v1/",
          "method": "get",
          "lastAt": "2026-10-05T02:30:02.38004804Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 45,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 49,
          "p95ms24h": 76,
          "samples24h": 273,
          "samples30d": 1131,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.scrapingbee.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.470706296Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "scrapingbee",
            "version": "2.0.0",
            "seenAt": "2026-10-04T16:39:22.309320204Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingbee",
            "version": "2.2.0",
            "released": "2026-09-01",
            "seenAt": "2026-10-04T16:39:21.182224917Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingbee-cli",
            "version": "1.6.0",
            "released": "2026-09-11",
            "seenAt": "2026-10-04T16:39:23.142135848Z"
          }
        ],
        "npmWeekly": 39537,
        "pypiWeekly": 75275,
        "securityTxt": {
          "url": "https://scrapingbee.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:50.718697282Z"
        },
        "llmsTxt": {
          "url": "https://www.scrapingbee.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.440450165Z"
        },
        "domain": {
          "domain": "scrapingbee.com",
          "registered": "2019-09-18",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingbee.com",
          "checkedAt": "2026-10-04T13:09:03.506417474Z"
        },
        "pages": [
          {
            "url": "https://www.scrapingbee.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:08.073663543Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "06469290068d"
          },
          {
            "url": "https://www.scrapingbee.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:10.15769415Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac25595d45e2"
          },
          {
            "url": "https://www.scrapingbee.com/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:12.139455532Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22104587a854"
          }
        ],
        "updatedAt": "2026-10-05T02:30:02.38004804Z"
      }
    },
    "summary": "Scrapfly has a score of 69.8 (B) against ScrapingBee's 59.3 (C). Both do scraping. The largest gap is schema \u0026 documentation, 35 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee",
    "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.md",
    "slim": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.min.md"
  },
  "markdown": "Scrapfly has a score of 69.8 (B) against ScrapingBee's 59.3 (C). Both do scraping. The largest gap is schema \u0026 documentation, 35 points.\n\n- Scrapfly: grade B, 69.8/100, rank #107 of 452. Markdown https://www.anchorterminal.com/tools/scrapfly.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapfly.json\n- ScrapingBee: grade C, 59.3/100, rank #268 of 452. Markdown https://www.anchorterminal.com/tools/scrapingbee.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingbee.json\n\n## Which one, for what\n\nPick Scrapfly for schema \u0026 documentation (+35), agent ergonomics (+12), security \u0026 auth (+33), transparency \u0026 trust (+13).\n\nPick ScrapingBee for reliability (+20).\n\n## Score by category\n\n| Category | Weight | Scrapfly | ScrapingBee | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 70 | ScrapingBee +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 60 | Scrapfly +35 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 68 | Scrapfly +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 37 | Scrapfly +33 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 85 | ScrapingBee +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 64 | Scrapfly +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.8 · B** | **59.3 · C** | |\n\n## Facts side by side\n\n| Fact | Scrapfly | ScrapingBee |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Scrapfly (Joam Intelligence, LLC) | ScrapingBee (Oxylabs group) |\n| Hosted endpoint | `https://api.scrapfly.io/scrape` | `https://app.scrapingbee.com/api/v1/` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 61 | 18 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.scrapfly.mcp/mcp` | not listed |\n| Last release | 2026-09-08 | 2026-09-11 |\n| Popularity | 14 stars, 21k npm/wk | 132 stars, 49k npm/wk, 72k PyPI/wk |\n| Agent reviews | 4/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Scrapfly.** The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes. The MCP server loads 61 tools at once.\n\n**ScrapingBee.** Dedicated Google, Amazon, Walmart, YouTube, ChatGPT and Gemini endpoints next to the general HTML API. remote-mcp.txt says the hosted MCP only takes the key as ?api_key= in its URL.\n\n## Before you call either\n\n### Scrapfly\n\n1. Send `X-Scrapfly-Api-Key` as a header rather than `key=` so the key stays out of logs\n2. Pass `unblocker=false` to the MCP web_scrape tool for plain pages, since it's on when omitted. `asp` is the deprecated alias\n3. Set `cost_budget` on each scrape so an Unblocker upgrade can't blow through credits\n4. Check `retryable` in the error body before retrying, and stop on `ERR::THROTTLE::MAX_API_CREDIT_BUDGET_EXCEEDED`\n5. Use web_get_page for a simple fetch and save cloud_browser_open for pages that need clicks\n\n### ScrapingBee\n\n1. Send render_js=false for static pages and files. It cuts the cost from 5 credits to 1\n2. Use mode=auto with max_cost=25 to stop it escalating to 75-credit stealth requests\n3. Keep the MCP URL with ?api_key= out of logs and shared configs\n4. Back off exponentially on 429 from the MCP, since its concurrency is shared across customers\n5. Expect 404 and 410 from the target to be billed. Other failures aren't\n\n## Other comparisons with Scrapfly or ScrapingBee\n\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [Bright Data vs ScrapingBee](https://www.anchorterminal.com/compare/bright-data-vs-scrapingbee.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Jina Reader vs ScrapingBee](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingbee.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Olostep vs ScrapingBee](https://www.anchorterminal.com/compare/olostep-vs-scrapingbee.md)\n- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [Scrape.do vs ScrapingBee](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingbee.md)\n- [ScrapeGraphAI vs Scrapfly](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.md)\n- [ScrapeGraphAI vs ScrapingBee](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingbee.md)\n- [Scrapeless vs Scrapfly](https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.md)\n- [Scrapeless vs ScrapingBee](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingbee.md)\n- [Scrapfly vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.md)\n- [Scrapfly vs Scrapingdog](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.md)\n- [Scrapfly vs Spider](https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud.md)\n- [Scrapfly vs ZenRows](https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.md)\n- [ScrapingAnt vs ScrapingBee](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingbee.md)\n- [ScrapingBee vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog.md)\n- [ScrapingBee vs Spider](https://www.anchorterminal.com/compare/scrapingbee-vs-spider-cloud.md)\n- [ScrapingBee vs ZenRows](https://www.anchorterminal.com/compare/scrapingbee-vs-zenrows.md)\n- [Firecrawl MCP vs ScrapingBee](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingbee.md)\n- [Firecrawl MCP vs Scrapfly](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.md)\n- [Apify MCP Server vs Scrapfly](https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Scrapfly vs ScrapingBee",
        "url": ""
      }
    ],
    "description": "Scrapfly has a score of 69.8 (B) against ScrapingBee's 59.3 (C). Both do scraping. The largest gap is schema \u0026 documentation, 35 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Scrapfly B 69.8",
      "ScrapingBee C 59.3",
      "scores"
    ],
    "h1": "Scrapfly vs ScrapingBee",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapfly-vs-scrapingbee.png",
    "path": "/compare/scrapfly-vs-scrapingbee",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Scrapfly vs ScrapingBee for AI agents, B 69.8 vs C 59.3",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 330
  },
  "version": 1
}
