{
  "data": {
    "a": {
      "slug": "oxylabs-web-scraper",
      "name": "Oxylabs Web Scraper API",
      "vendor": "oxylabs, UAB",
      "vendorUrl": "https://oxylabs.io",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Hosted scraping API from Oxylabs that fetches public pages through its proxy pool with optional JavaScript rendering and returns HTML, Markdown or parsed JSON, with dedicated sources for Google, Amazon and other large sites.",
      "url": "https://www.anchorterminal.com/tools/oxylabs-web-scraper",
      "markdownUrl": "https://www.anchorterminal.com/tools/oxylabs-web-scraper.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/oxylabs-web-scraper.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/oxylabs-web-scraper.json",
      "repo": "https://github.com/oxylabs/oxylabs-mcp",
      "license": "Proprietary service under the Oxylabs General Conditions. The MCP server and the Python SDK on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://realtime.oxylabs.io/v1/queries",
      "packages": [
        {
          "registry": "pypi",
          "name": "oxylabs"
        },
        {
          "registry": "pypi",
          "name": "oxylabs-mcp"
        },
        {
          "registry": "go",
          "name": "github.com/oxylabs/oxylabs-sdk-go"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic with the username and password of a product instance created in the Oxylabs dashboard. The password can be edited, an instance can take whitelisted IPs and a spending limit, and no scopes were found. The hosted MCP server takes the same pair in an `Authorization: Basic` header or in `X-Oxylabs-Username` and `X-Oxylabs-Password`. The Classic overview page says to contact the team for credentials, while the MCP page says they come from the dashboard, whose product list now shows only Web API under data collection.",
      "pricing": "usage",
      "pricingNotes": "A one-time $5 welcome credit with no payment details, then a monthly plan of $30, $100 or $500 whose amount becomes a credit balance shared across Oxylabs products and expires each cycle. On Starter, other targets cost $1.00 per 1,000 results without rendering and $1.50 with it, Amazon $0.50, Google $1.00 or $1.35 rendered, and LLM sources $1.50 (https://oxylabs.io/products/scraper-api/web/pricing, which now redirects to the Web API /Scrape pricing page, checked 2026-10-08). Purchases are non-refundable.",
      "priceSummary": "$30 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the pricing page, the docs index, the Web Scraper API pages or the MCP repository (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 10,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 17594,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.oxylabs.io/products/web-scraper-api",
      "llmsTxt": "https://developers.oxylabs.io/llms.txt",
      "registryName": "io.oxylabs/oxylabs-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "search.serp"
      ],
      "tags": [
        "hosted",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "python",
        "go",
        "closed-source",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63,
        "grade": "B",
        "agentReady": false,
        "rank": 372,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 72,
          "payments": 40,
          "reliability": 80,
          "schema": 68,
          "security": 53,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-03-18. The changelog announced that the `domain` parameter for Google sources was no longer available, with no earlier notice in the changelog. MCP server v0.9.3 (7 September 2026) and the official agent skill still list `domain`. Three points, since a replacement (`geo_location`) was documented the same day and we could not see whether customers were told by email (https://developers.oxylabs.io/changelog)."
        ],
        "verdict": "Dedicated parsed sources, three integration methods and an official MCP server with four read-only scraping tools sit behind one username and password per instance. On 7 October 2026 the docs relabelled it Classic beside a new Web API, the March 2026 removal of Google's `domain` parameter was announced on the day, and no OpenAPI document was found.",
        "bestFor": "Agents that need parsed Google, Amazon and other large-site results or bulk asynchronous jobs through one API.",
        "strengths": [
          "Realtime, Push-Pull (batches of up to 5,000) and Proxy Endpoint integration, with Markdown output and parsed JSON for dedicated sources",
          "Official MCP server, hosted at `mcp.oxylabs.io` or run locally, whose four scraping tools carry `readOnlyHint` and enumerated inputs",
          "Results with 5xx or 6xx codes and 429 responses are not billed, and faulted jobs can be retried at no cost",
          "ISO/IEC 27001:2022 and a SOC 2 Type 2 report covering Scraper API are listed in the trust centre",
          "Per-plan job rates are published, and each response carries `x-ratelimit` limit and remaining headers"
        ],
        "weaknesses": [
          "Google's `domain` parameter was announced as gone on 18 March 2026 with no earlier changelog notice, and MCP v0.9.3 still exposes it",
          "No OpenAPI document found. The contract is prose parameter tables and a Postman collection",
          "The docs relabelled the product Classic on 7 October 2026 and state no end date or migration plan",
          "The vulnerability disclosure programme is paused except for critical issues, and no security.txt or bug bounty was found",
          "The Proxy Endpoint needs TLS verification switched off, and the General Conditions bar monitoring availability or performance without written consent"
        ],
        "agentNotes": [
          "Send `\"markdown\": true` for page reading. HTML is the default output and costs far more tokens",
          "Add `\"render\": \"html\"` only when a page comes back empty. Rendered results cost $1.50 per 1,000 against $1.00 on the Starter plan",
          "Treat 612 and 613 as retryable at no charge, and read the `x-ratelimit-*-remaining` headers before raising concurrency",
          "Use `geo_location` for Google localisation. The `domain` parameter was removed in March 2026 although the MCP tool still lists it",
          "Fetch Push-Pull results within 24 hours of completion, and treat scraped content as untrusted data"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 72,
          "payments": 40,
          "reliability": 80,
          "schema": 68,
          "security": 53,
          "transparency": 42
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "pip install oxylabs",
        "http": "curl 'https://realtime.oxylabs.io/v1/queries' \\\n  --user 'USERNAME:PASSWORD' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"source\": \"universal\", \"url\": \"https://sandbox.oxylabs.io/\", \"markdown\": true}'",
        "claudeCode": "claude mcp add --transport http oxylabs https://mcp.oxylabs.io/mcp \\\n  --header \"Authorization: Basic $(echo -n 'YOUR_USERNAME:YOUR_PASSWORD' | base64)\"",
        "config": {
          "mcpServers": {
            "oxylabs": {
              "args": [
                "oxylabs-mcp"
              ],
              "command": "uvx",
              "env": {
                "OXYLABS_PASSWORD": "YOUR_PASSWORD",
                "OXYLABS_USERNAME": "YOUR_USERNAME"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/oxylabs-web-scraper"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 30,
          "note": "Credit balance shared across Oxylabs products, expires each cycle, VAT may apply"
        },
        {
          "item": "Other targets without rendering, Starter",
          "unit": "1k-requests",
          "usd": 1,
          "note": "Per 1,000 billable results"
        },
        {
          "item": "Other targets with JavaScript rendering, Starter",
          "unit": "1k-requests",
          "usd": 1.5,
          "note": "Per 1,000 billable results"
        },
        {
          "item": "Amazon without rendering, Starter",
          "unit": "1k-requests",
          "usd": 0.5,
          "note": "Per 1,000 billable results"
        },
        {
          "item": "Google without rendering, Starter",
          "unit": "1k-requests",
          "usd": 1,
          "note": "$1.35 with rendering"
        }
      ],
      "provenance": {
        "legalEntity": "oxylabs, UAB",
        "domain": "oxylabs.io",
        "domainRegistered": "2015-11-30",
        "endpointOnVendorDomain": true,
        "terms": "https://oxylabs.io/legal/v1-oxylabs-general-conditions",
        "privacy": "https://oxylabs.io/legal/privacy",
        "statusPage": "https://uptime.oxylabs.io",
        "changelog": "https://developers.oxylabs.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The General Conditions of the oxylabs, UAB Services Agreement name a Lithuanian company registered at Švitrigailos str. 32, Vilnius, and were last updated on 5 October 2026. They are linked from the trust centre, not from the site footer.",
          "The privacy policy was last updated on 14 October 2024 and does not name the controlling entity. It covers registration and self-service use as well as the website.",
          "https://oxylabs.io/.well-known/security.txt returns 404. The vulnerability disclosure policy gives security@oxylabs.io and says the programme is paused except for critical issues.",
          "RDAP gives a registration date of 2015-11-30 for oxylabs.io.",
          "The API answers on realtime.oxylabs.io and data.oxylabs.io, and the hosted MCP server on mcp.oxylabs.io."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/oxylabs-web-scraper.json",
      "live": {
        "slug": "oxylabs-web-scraper",
        "probe": {
          "target": "https://realtime.oxylabs.io/v1/queries",
          "method": "get",
          "lastAt": "2026-10-09T10:42:51.913425053Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 117,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 151,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://uptime.oxylabs.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:41:57.247993643Z"
        },
        "updatedAt": "2026-10-09T10:42:51.913425053Z"
      }
    },
    "answer": "Scrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability.",
    "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.6,
        "grade": "B",
        "agentReady": false,
        "rank": 167,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 75
        },
        "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.",
        "bestFor": "An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.6
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 58
        },
        "provenanceScore": 91
      },
      "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": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapfly.json",
      "live": {
        "slug": "scrapfly",
        "probe": {
          "target": "https://api.scrapfly.io/scrape",
          "method": "get",
          "lastAt": "2026-10-09T10:42:55.645782298Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 461,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 443,
          "p95ms24h": 475,
          "samples24h": 260,
          "samples30d": 2300,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://scrapfly.io/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:30.753826235Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.scrapfly.mcp/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-mcp",
            "version": "1.3.4",
            "seenAt": "2026-10-08T16:28:29.784825827Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "seenAt": "2026-10-08T16:28:28.94058808Z"
          },
          {
            "registry": "pypi",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-08T16:28:28.752356983Z"
          }
        ],
        "githubStars": 14,
        "npmWeekly": 20149,
        "pypiWeekly": 62898,
        "securityTxt": {
          "url": "https://scrapfly.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-06T15:39:05Z",
          "checkedAt": "2026-10-08T15:39:05.52120132Z"
        },
        "llmsTxt": {
          "url": "https://scrapfly.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:52.282145609Z"
        },
        "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-08T18:23:59.76326419Z",
            "changedAt": "2026-10-03T15:35:32.310065403Z",
            "fingerprint": "d4ec33117264"
          },
          {
            "url": "https://scrapfly.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:02.702951358Z",
            "changedAt": "2026-10-03T15:35:35.046049372Z",
            "fingerprint": "f25420398c41"
          },
          {
            "url": "https://scrapfly.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:03.912115791Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "39d17934c8b2"
          },
          {
            "url": "https://scrapfly.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:06.053006639Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6284dfb7667"
          }
        ],
        "updatedAt": "2026-10-09T10:42:55.645782298Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "oxylabs, UAB",
        "b": "Scrapfly (Joam Intelligence, LLC)",
        "name": "Vendor"
      },
      {
        "a": "https://realtime.oxylabs.io/v1/queries",
        "b": "https://api.scrapfly.io/scrape",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Oxylabs General Conditions. The MCP server and the Python SDK on GitHub are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "10",
        "b": "61",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.oxylabs/oxylabs-mcp",
        "b": "io.scrapfly.mcp/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-07",
        "b": "2026-09-08",
        "name": "Last release"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-30",
        "name": "Terms last updated"
      },
      {
        "a": "2024-10-14",
        "b": "2026-05-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "18k PyPI/wk",
        "b": "14 stars, 21k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Scrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability.",
        "question": "Which is better for AI agents, Oxylabs Web Scraper API or Scrapfly?"
      },
      {
        "answer": "Oxylabs Web Scraper API needs an API key. Scrapfly takes an API key or an OAuth sign-in.",
        "question": "Do Oxylabs Web Scraper API and Scrapfly need an API key?"
      },
      {
        "answer": "Yes. Oxylabs Web Scraper API has a hosted endpoint at https://realtime.oxylabs.io/v1/queries and Scrapfly at https://api.scrapfly.io/scrape.",
        "question": "Can an agent call Oxylabs Web Scraper API and Scrapfly without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 50"
        ],
        "also": null,
        "goodFor": "Agents that need parsed Google, Amazon and other large-site results or bulk asynchronous jobs through one API.",
        "slug": "oxylabs-web-scraper",
        "watchFor": "Google's `domain` parameter was announced as gone on 18 March 2026 with no earlier changelog notice, and MCP v0.9.3 still exposes it"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 95 against 68",
          "Security \u0026 auth, 70 against 53",
          "Maintenance \u0026 community, 84 against 72",
          "Transparency \u0026 trust, 75 against 63"
        ],
        "also": [
          "No incidents deducted, where Oxylabs Web Scraper API loses 3 points for them"
        ],
        "goodFor": "An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.",
        "slug": "scrapfly",
        "watchFor": "The open-source MCP server registers 61 tools at once, a heavy tools/list"
      }
    ],
    "job": {
      "capability": "web.scrape",
      "name": "Scraping"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-oxylabs-web-scraper.json",
        "title": "Bright Data vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.json",
        "title": "Bright Data vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-oxylabs-web-scraper.json",
        "title": "Jina Reader vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.json",
        "title": "Jina Reader vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-oxylabs-web-scraper.json",
        "title": "Olostep vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly.json",
        "title": "Olostep vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do.json",
        "title": "Oxylabs Web Scraper API vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapegraphai.json",
        "title": "Oxylabs Web Scraper API vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeless.json",
        "title": "Oxylabs Web Scraper API vs Scrapeless",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingant.json",
        "title": "Oxylabs Web Scraper API vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingbee.json",
        "title": "Oxylabs Web Scraper API vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog.json",
        "title": "Oxylabs Web Scraper API vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-spider-cloud.json",
        "title": "Oxylabs Web Scraper API vs Spider",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows.json",
        "title": "Oxylabs Web Scraper API vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte.json",
        "title": "Oxylabs Web Scraper API vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.json",
        "title": "Scrape.do vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.json",
        "title": "ScrapeGraphAI vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.json",
        "title": "Scrapeless vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.json",
        "title": "Scrapfly vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.json",
        "title": "Scrapfly vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.json",
        "title": "Scrapfly vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud.json",
        "title": "Scrapfly vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.json",
        "title": "Scrapfly vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-zyte.json",
        "title": "Scrapfly vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.json",
        "title": "Firecrawl MCP vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly.json",
        "title": "Apify MCP Server vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-oxylabs-web-scraper.json",
        "title": "Firecrawl MCP vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-oxylabs-web-scraper"
      }
    ],
    "scores": [
      {
        "by": 30,
        "edge": "oxylabs-web-scraper",
        "key": "reliability",
        "name": "Reliability",
        "oxylabs-web-scraper": 80,
        "scrapfly": 50,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "scrapfly",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "oxylabs-web-scraper": 68,
        "scrapfly": 95,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "scrapfly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "oxylabs-web-scraper": 79,
        "scrapfly": 80,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "scrapfly",
        "key": "security",
        "name": "Security \u0026 auth",
        "oxylabs-web-scraper": 53,
        "scrapfly": 70,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "oxylabs-web-scraper": 40,
        "scrapfly": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "scrapfly",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "oxylabs-web-scraper": 72,
        "scrapfly": 84,
        "weight": 7
      },
      {
        "by": 12,
        "edge": "scrapfly",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "oxylabs-web-scraper": 63,
        "scrapfly": 75,
        "weight": 7
      }
    ],
    "summary": "Scrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability. Both do scraping.",
    "verdicts": {
      "oxylabs-web-scraper": "Dedicated parsed sources, three integration methods and an official MCP server with four read-only scraping tools sit behind one username and password per instance. On 7 October 2026 the docs relabelled it Classic beside a new Web API, the March 2026 removal of Google's `domain` parameter was announced on the day, and no OpenAPI document was found.",
      "scrapfly": "The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes. The MCP server loads 61 tools at once."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly",
    "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.md",
    "slim": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.min.md"
  },
  "markdown": "Scrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability. Both do scraping.\n\n- Oxylabs Web Scraper API: grade B, 63/100, rank #372 of 842. Markdown https://www.anchorterminal.com/tools/oxylabs-web-scraper.md · JSON https://www.anchorterminal.com/api/v1/tools/oxylabs-web-scraper.json\n- Scrapfly: grade B, 69.6/100, rank #167 of 842. 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\n### Oxylabs Web Scraper API (B)\n\nGood for: Agents that need parsed Google, Amazon and other large-site results or bulk asynchronous jobs through one API.\n\nAhead on:\n- Reliability, 80 against 50\n\nWatch for: Google's `domain` parameter was announced as gone on 18 March 2026 with no earlier changelog notice, and MCP v0.9.3 still exposes it\n\n### Scrapfly (B)\n\nGood for: An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.\n\nAhead on:\n- Schema \u0026 documentation, 95 against 68\n- Security \u0026 auth, 70 against 53\n- Maintenance \u0026 community, 84 against 72\n- Transparency \u0026 trust, 75 against 63\n\nAlso in its favour:\n- No incidents deducted, where Oxylabs Web Scraper API loses 3 points for them\n\nWatch for: The open-source MCP server registers 61 tools at once, a heavy tools/list\n\n\n## Score by category\n\n| Category | Weight | Oxylabs Web Scraper API | Scrapfly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 50 | Oxylabs Web Scraper API +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 95 | Scrapfly +27 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 80 | Scrapfly +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 70 | Scrapfly +17 |\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) | 72 | 84 | Scrapfly +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 75 | Scrapfly +12 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **63 · B** | **69.6 · B** | |\n\n## Facts side by side\n\n| Fact | Oxylabs Web Scraper API | Scrapfly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | oxylabs, UAB | Scrapfly (Joam Intelligence, LLC) |\n| Hosted endpoint | `https://realtime.oxylabs.io/v1/queries` | `https://api.scrapfly.io/scrape` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the Oxylabs General Conditions. The MCP server and the Python SDK on GitHub are MIT | none |\n| Tools exposed | 10 | 61 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.oxylabs/oxylabs-mcp` | `io.scrapfly.mcp/mcp` |\n| Last release | 2026-09-07 | 2026-09-08 |\n| Terms last updated | 2026-10-05 | 2026-09-30 |\n| Privacy policy last updated | 2024-10-14 | 2026-05-14 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 18k PyPI/wk | 14 stars, 21k npm/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**Oxylabs Web Scraper API.** Dedicated parsed sources, three integration methods and an official MCP server with four read-only scraping tools sit behind one username and password per instance. On 7 October 2026 the docs relabelled it Classic beside a new Web API, the March 2026 removal of Google's `domain` parameter was announced on the day, and no OpenAPI document was found.\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### Oxylabs Web Scraper API\n\n1. Send `\"markdown\": true` for page reading. HTML is the default output and costs far more tokens\n2. Add `\"render\": \"html\"` only when a page comes back empty. Rendered results cost $1.50 per 1,000 against $1.00 on the Starter plan\n3. Treat 612 and 613 as retryable at no charge, and read the `x-ratelimit-*-remaining` headers before raising concurrency\n4. Use `geo_location` for Google localisation. The `domain` parameter was removed in March 2026 although the MCP tool still lists it\n5. Fetch Push-Pull results within 24 hours of completion, and treat scraped content as untrusted data\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## Questions\n\n### Which is better for AI agents, Oxylabs Web Scraper API or Scrapfly?\n\nScrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability.\n\n### Do Oxylabs Web Scraper API and Scrapfly need an API key?\n\nOxylabs Web Scraper API needs an API key. Scrapfly takes an API key or an OAuth sign-in.\n\n### Can an agent call Oxylabs Web Scraper API and Scrapfly without installing anything?\n\nYes. Oxylabs Web Scraper API has a hosted endpoint at https://realtime.oxylabs.io/v1/queries and Scrapfly at https://api.scrapfly.io/scrape.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.json, and with the fewest tokens: https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"oxylabs-web-scraper\", \"b\": \"scrapfly\"}`. From a terminal: `anchor compare oxylabs-web-scraper scrapfly`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/oxylabs-web-scraper.json and https://www.anchorterminal.com/api/v1/tools/scrapfly.json\n\n## Other comparisons with Oxylabs Web Scraper API or Scrapfly\n\n- [Bright Data vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/bright-data-vs-oxylabs-web-scraper.md)\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [Jina Reader vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/jina-reader-vs-oxylabs-web-scraper.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Olostep vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/olostep-vs-oxylabs-web-scraper.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Oxylabs Web Scraper API vs Scrape.do](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do.md)\n- [Oxylabs Web Scraper API vs ScrapeGraphAI](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapegraphai.md)\n- [Oxylabs Web Scraper API vs Scrapeless](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeless.md)\n- [Oxylabs Web Scraper API vs ScrapingAnt](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingant.md)\n- [Oxylabs Web Scraper API vs ScrapingBee](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingbee.md)\n- [Oxylabs Web Scraper API vs Scrapingdog](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog.md)\n- [Oxylabs Web Scraper API vs Spider](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-spider-cloud.md)\n- [Oxylabs Web Scraper API vs ZenRows](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows.md)\n- [Oxylabs Web Scraper API vs Zyte API](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte.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- [Scrapfly vs Zyte API](https://www.anchorterminal.com/compare/scrapfly-vs-zyte.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- [Firecrawl MCP vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-oxylabs-web-scraper.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Oxylabs Web Scraper API vs Scrapfly",
        "url": ""
      }
    ],
    "description": "Scrapfly scores 69.6 (B) on agent readiness against Oxylabs Web Scraper API's 63 (B), and leads in 5 of 7 scored categories. Oxylabs Web Scraper API leads on reliability. Both do scraping. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Oxylabs Web Scraper API B 63",
      "Scrapfly B 69.6",
      "scores"
    ],
    "h1": "Oxylabs Web Scraper API vs Scrapfly",
    "image": "https://www.anchorterminal.com/assets/og/compare-oxylabs-web-scraper-vs-scrapfly.png",
    "path": "/compare/oxylabs-web-scraper-vs-scrapfly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Oxylabs Web Scraper API vs Scrapfly for AI agents, B 63 vs B 69.6",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 680
  },
  "version": 1
}
