{
  "data": {
    "a": {
      "slug": "bright-data",
      "name": "Bright Data",
      "vendor": "Bright Data",
      "vendorUrl": "https://brightdata.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Web Unlocker, SERP API, a hosted Browser API and residential proxies, with an official MCP server wrapping them.",
      "url": "https://www.anchorterminal.com/tools/bright-data",
      "markdownUrl": "https://www.anchorterminal.com/tools/bright-data.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bright-data.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bright-data.json",
      "repo": "https://github.com/brightdata/brightdata-mcp",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.brightdata.com/request",
      "packages": [
        {
          "registry": "npm",
          "name": "@brightdata/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer key for the API. Keys take a role (Admin, Finance, Ops, Limit or User) and an optional expiry. Proxy-style access uses Basic auth on port 44445. The hosted MCP takes the key as `?token=` in the URL by default, or OAuth 2.1 (PKCE S256, scope `mcp`) with an `Authorization: Bearer` header. MCP agent keys are listed separately in account settings and can be revoked.",
      "pricing": "freemium",
      "pricingNotes": "5,000 free requests a month including MCP, no card. Web Unlocker and SERP $1.50 per 1,000 successful requests, $1.30 on Scale ($499 a month). Browser API $8 a GB (https://brightdata.com/pricing).",
      "priceSummary": "$1.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 69,
      "popularity": {
        "githubStars": 2600,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.brightdata.com",
      "llmsTxt": "https://docs.brightdata.com/llms.txt",
      "registryName": "io.github.brightdata/brightdata-mcp",
      "capabilities": [
        "web.scrape",
        "web.search",
        "browser.hosted",
        "web.crawl"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 254,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 84,
          "payments": 40,
          "reliability": 35,
          "schema": 74,
          "security": 57,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Pay only for successful requests, $1.50 per 1,000 on Web Unlocker and SERP. No public status page or incident history.",
        "strengths": [
          "Pay only for successful requests, $1.50 per 1,000 on Web Unlocker and SERP",
          "5,000 free requests a month with no card",
          "Five tools by default out of 69, with groups for e-commerce, social, browser and more",
          "Role-based API keys with expiry, and OAuth 2.1 with PKCE on the hosted MCP",
          "ISO 27001, SOC 2 Type II and a private bug bounty"
        ],
        "weaknesses": [
          "No public status page or incident history",
          "The default hosted MCP URL carries the key as `?token=`",
          "No prompt-injection guidance for scraped content",
          "No retention periods, DPA or subprocessor list in the privacy policy",
          "MCP registry entry lags npm by two minor versions"
        ],
        "agentNotes": [
          "Connect with OAuth or keep the `?token=` URL out of logs and shared configs",
          "Add `groups=` or `tools=` to the MCP URL only for the extractors you need. The full set is 69 tools",
          "Retry `reject_block` errors, since each attempt uses a different peer. Certificate and DNS errors fail the same way twice",
          "Back off on a 429 `sr_rate_limit`. Bright Data throttles a target whose success rate drops",
          "Use the batch tools for up to 10 searches or scrapes in one call"
        ],
        "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": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 84,
          "payments": 40,
          "reliability": 35,
          "schema": 74,
          "security": 57,
          "transparency": 43
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl https://api.brightdata.com/request -H \"Authorization: Bearer $BRIGHTDATA_TOKEN\" \\\n  -H \"content-type: application/json\" -d '{\"zone\":\"web_unlocker1\",\"url\":\"https://example.com\",\"format\":\"raw\"}'",
        "claudeCode": "claude mcp add --transport http brightdata \"https://mcp.brightdata.com/mcp?token=$BRIGHTDATA_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/bright-data"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Web Unlocker",
          "unit": "1k-requests",
          "usd": 1.5,
          "note": "successful requests only"
        },
        {
          "item": "Web Unlocker on Scale",
          "unit": "1k-requests",
          "usd": 1.3,
          "note": "$499 a month plan"
        },
        {
          "item": "SERP API",
          "unit": "1k-requests",
          "usd": 1.5
        },
        {
          "item": "Browser API",
          "unit": "gb",
          "usd": 8
        }
      ],
      "provenance": {
        "legalEntity": "Bright Data Ltd.",
        "domain": "brightdata.com",
        "domainRegistered": "2002-05-26",
        "domainNote": "brightdata.com was registered in 2002, long before the rename from Luminati.",
        "endpointOnVendorDomain": true,
        "terms": "https://brightdata.com/license",
        "privacy": "https://brightdata.com/privacy",
        "statusPage": "",
        "changelog": "https://docs.brightdata.com/release-notes",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bright-data.json",
      "live": {
        "slug": "bright-data",
        "probe": {
          "target": "https://api.brightdata.com/request",
          "method": "get",
          "lastAt": "2026-10-05T01:43:34.834210385Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 259,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 259,
          "p95ms24h": 325,
          "samples24h": 272,
          "samples30d": 2076,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 284
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "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": 20,
              "ok": 20
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "brightdata/brightdata-mcp",
            "version": "v2.11.3",
            "released": "2026-09-17",
            "seenAt": "2026-10-04T16:22:52.537939152Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.brightdata/brightdata-mcp",
            "version": "2.11.3",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@brightdata/mcp",
            "version": "2.11.3",
            "seenAt": "2026-10-04T16:22:51.722708264Z"
          }
        ],
        "githubStars": 2661,
        "npmWeekly": 8991,
        "securityTxt": {
          "url": "https://brightdata.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:39.602326592Z"
        },
        "llmsTxt": {
          "url": "https://docs.brightdata.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:22.245226037Z"
        },
        "domain": {
          "domain": "brightdata.com",
          "registered": "2002-05-26",
          "source": "https://rdap.verisign.com/com/v1/domain/brightdata.com",
          "checkedAt": "2026-10-04T13:09:15.943445463Z"
        },
        "pages": [
          {
            "url": "https://docs.brightdata.com/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:20.269297541Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "11e5a86f089a"
          },
          {
            "url": "https://brightdata.com/license",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:36.984639492Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "78531847b1c1"
          },
          {
            "url": "https://brightdata.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:39.453718378Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ab42850cc3aa"
          },
          {
            "url": "https://brightdata.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:41.298663499Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "54b985a0a80a"
          }
        ],
        "updatedAt": "2026-10-05T01:43:34.834210385Z"
      }
    },
    "b": {
      "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-05T01:43:45.074512639Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 437,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 441,
          "p95ms24h": 481,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "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-05T01:43:45.074512639Z"
      }
    },
    "summary": "Scrapfly has a score of 69.8 (B) against Bright Data's 60.1 (C). Both do scraping. The largest gap is schema \u0026 documentation, 21 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly",
    "json": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md",
    "slim": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.min.md"
  },
  "markdown": "Scrapfly has a score of 69.8 (B) against Bright Data's 60.1 (C). Both do scraping. The largest gap is schema \u0026 documentation, 21 points.\n\n- Bright Data: grade C, 60.1/100, rank #254 of 452. Markdown https://www.anchorterminal.com/tools/bright-data.md · JSON https://www.anchorterminal.com/api/v1/tools/bright-data.json\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\n## Which one, for what\n\nPick Bright Data for nothing in particular (no category where it leads by five points or more).\n\nPick Scrapfly for reliability (+15), schema \u0026 documentation (+21), security \u0026 auth (+13), transparency \u0026 trust (+15).\n\n## Score by category\n\n| Category | Weight | Bright Data | Scrapfly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 50 | Scrapfly +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 95 | Scrapfly +21 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 80 | Bright Data +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 70 | Scrapfly +13 |\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 | 84 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 77 | Scrapfly +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | Bright Data | Scrapfly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bright Data | Scrapfly (Joam Intelligence, LLC) |\n| Hosted endpoint | `https://api.brightdata.com/request` | `https://api.scrapfly.io/scrape` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 69 | 61 |\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.github.brightdata/brightdata-mcp` | `io.scrapfly.mcp/mcp` |\n| Last release | 2026-09-15 | 2026-09-08 |\n| Popularity | 2.6k stars | 14 stars, 21k npm/wk |\n| Agent reviews | 4/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Bright Data.** Pay only for successful requests, $1.50 per 1,000 on Web Unlocker and SERP. No public status page or incident history.\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## Before you call either\n\n### Bright Data\n\n1. Connect with OAuth or keep the `?token=` URL out of logs and shared configs\n2. Add `groups=` or `tools=` to the MCP URL only for the extractors you need. The full set is 69 tools\n3. Retry `reject_block` errors, since each attempt uses a different peer. Certificate and DNS errors fail the same way twice\n4. Back off on a 429 `sr_rate_limit`. Bright Data throttles a target whose success rate drops\n5. Use the batch tools for up to 10 searches or scrapes in one call\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## Other comparisons with Bright Data or Scrapfly\n\n- [Bright Data vs Jina Reader](https://www.anchorterminal.com/compare/bright-data-vs-jina-reader.md)\n- [Bright Data vs Olostep](https://www.anchorterminal.com/compare/bright-data-vs-olostep.md)\n- [Bright Data vs Scrape.do](https://www.anchorterminal.com/compare/bright-data-vs-scrape-do.md)\n- [Bright Data vs ScrapeGraphAI](https://www.anchorterminal.com/compare/bright-data-vs-scrapegraphai.md)\n- [Bright Data vs Scrapeless](https://www.anchorterminal.com/compare/bright-data-vs-scrapeless.md)\n- [Bright Data vs ScrapingAnt](https://www.anchorterminal.com/compare/bright-data-vs-scrapingant.md)\n- [Bright Data vs ScrapingBee](https://www.anchorterminal.com/compare/bright-data-vs-scrapingbee.md)\n- [Bright Data vs Scrapingdog](https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog.md)\n- [Bright Data vs Spider](https://www.anchorterminal.com/compare/bright-data-vs-spider-cloud.md)\n- [Bright Data vs ZenRows](https://www.anchorterminal.com/compare/bright-data-vs-zenrows.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [ScrapeGraphAI vs Scrapfly](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.md)\n- [Scrapeless vs Scrapfly](https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.md)\n- [Scrapfly vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.md)\n- [Scrapfly vs ScrapingBee](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.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- [Bright Data vs Firecrawl MCP](https://www.anchorterminal.com/compare/bright-data-vs-firecrawl-mcp.md)\n- [Firecrawl MCP vs Scrapfly](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.md)\n- [Apify MCP Server vs Bright Data](https://www.anchorterminal.com/compare/apify-mcp-vs-bright-data.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": "Bright Data vs Scrapfly",
        "url": ""
      }
    ],
    "description": "Scrapfly has a score of 69.8 (B) against Bright Data's 60.1 (C). Both do scraping. The largest gap is schema \u0026 documentation, 21 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bright Data C 60.1",
      "Scrapfly B 69.8",
      "scores"
    ],
    "h1": "Bright Data vs Scrapfly",
    "image": "https://www.anchorterminal.com/assets/og/compare-bright-data-vs-scrapfly.png",
    "path": "/compare/bright-data-vs-scrapfly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bright Data vs Scrapfly for AI agents, C 60.1 vs B 69.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 330
  },
  "version": 1
}
