{
  "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-04T23:32:54.1386137Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 421,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 441,
          "p95ms24h": 481,
          "samples24h": 272,
          "samples30d": 1097,
          "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": 267,
              "ok": 267
            }
          ]
        },
        "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-03T23:29:28.630222764Z"
          },
          {
            "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-04T23:32:54.1386137Z"
      }
    },
    "b": {
      "slug": "scrapingdog",
      "name": "Scrapingdog",
      "vendor": "Scrapingdog (OpenData Labs)",
      "vendorUrl": "https://www.scrapingdog.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Web scraping API billed by credits.",
      "url": "https://www.anchorterminal.com/tools/scrapingdog",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingdog.json",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.scrapingdog.com/scrape",
      "packages": [
        {
          "registry": "npm",
          "name": "scrapingdog-mcp"
        },
        {
          "registry": "npm",
          "name": "scrapingdog-sdk"
        },
        {
          "registry": "pypi",
          "name": "scrapingdog"
        }
      ],
      "auth": "api-key",
      "authNotes": "The key goes in the api_key query parameter on every request. The docs show no header option. The MCP server reads SCRAPINGDOG_API_KEY from the environment.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 100 credits with 1 concurrent request, no card (the docs say 200 requests a month). Lite $40 a month (200,000 credits, 5 concurrent), Standard $90 (1M, 50), Pro $200 (3M, 100), Premium $350 (6M, 150), then plans up to $30,000 a month. Annual billing gives 2 months free. A plain request costs 1 credit, JS rendering 5, premium proxy or geotargeting 10, both 25, Google SERP 5 to 10, LinkedIn profiles 10 to 100. Failed requests aren't charged (https://www.scrapingdog.com/pricing/).",
      "priceSummary": "$40 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 mention on the site, docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 41,
        "pypiWeekly": 12,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.scrapingdog.com/documentation/",
      "llmsTxt": "https://www.scrapingdog.com/llms.txt",
      "registryName": "io.github.Darshan972/scrapingdog-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.3,
        "grade": "E",
        "agentReady": false,
        "rank": 425,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 13,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-08-01: the vendor-linked MCP server's web_scrape tool describes dynamic as `(API default: false)`, while https://www.scrapingdog.com/documentation/javascript-rendering/ says rendering is on by default at 5 credits. The MCP omits unset parameters, so a model that trusts the description pays 5 times the plain rate (https://github.com/Darshan972/Scrapingdog-mcp, src/endpoints.ts) (-2)."
        ],
        "verdict": "A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.",
        "strengths": [
          "A plain request is 1 credit, about $0.20 per 1,000 on Lite",
          "Parsed JSON endpoints for Google, Amazon, LinkedIn, YouTube and more under one key",
          "Terms let you store and redistribute returned data during the subscription, and the privacy policy says API calls aren't stored or logged",
          "Failed requests aren't charged, and a public SLA page compensates downtime in credits",
          "Concurrency per plan is published, from 1 up to 2,200"
        ],
        "weaknesses": [
          "API key only travels in the URL query string",
          "Rendering defaults on at 5 credits, and the MCP's web_scrape description says the default is off",
          "MCP server published 2026-08-01 from a personal account, with 35 tools, no CI, no tags and no release since",
          "No changelog, security.txt or prompt-injection guidance",
          "The free allowance differs between pricing (100 credits) and docs (200 a month)"
        ],
        "agentNotes": [
          "Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says",
          "Keep request URLs out of logs, since they carry api_key",
          "Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed",
          "Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.3
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 37
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl \"https://api.scrapingdog.com/scrape?api_key=$SCRAPINGDOG_API_KEY\u0026url=https://example.com\u0026dynamic=false\"",
        "claudeCode": "claude mcp add scrapingdog -e SCRAPINGDOG_API_KEY=$SCRAPINGDOG_API_KEY -- npx -y scrapingdog-mcp",
        "config": {
          "mcpServers": {
            "scrapingdog": {
              "args": [
                "-y",
                "scrapingdog-mcp"
              ],
              "command": "npx",
              "env": {
                "SCRAPINGDOG_API_KEY": "${SCRAPINGDOG_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingdog"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Lite plan",
          "unit": "month",
          "usd": 40,
          "note": "200,000 credits, 5 concurrent"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 90,
          "note": "1,000,000 credits, 50 concurrent"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 200,
          "note": "3,000,000 credits, 100 concurrent"
        },
        {
          "item": "Plain request on Lite",
          "unit": "1k-requests",
          "usd": 0.2,
          "note": "1 credit each, dynamic=false"
        },
        {
          "item": "JS-rendered request on Lite",
          "unit": "1k-requests",
          "usd": 1,
          "note": "5 credits each, the default"
        }
      ],
      "provenance": {
        "legalEntity": "OpenData Labs Private Limited",
        "domain": "scrapingdog.com",
        "domainRegistered": "2020-04-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.scrapingdog.com/terms/",
        "privacy": "https://www.scrapingdog.com/privacy/",
        "statusPage": "https://stats.uptimerobot.com/SAQkQwbOYj",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Legal entity from the site footer. The terms are governed by the laws of Rajasthan, India.",
          "The status page is a hosted UptimeRobot page linked from the footer."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingdog.json",
      "live": {
        "slug": "scrapingdog",
        "probe": {
          "target": "https://api.scrapingdog.com/scrape",
          "method": "get",
          "lastAt": "2026-10-04T23:32:54.197759868Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 122,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 126,
          "p95ms24h": 302,
          "samples24h": 272,
          "samples30d": 1097,
          "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": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/SAQkQwbOYj",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.56453658Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.Darshan972/scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-03T23:29:28.630222764Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-04T16:39:24.204246179Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-sdk",
            "version": "1.0.1",
            "seenAt": "2026-10-04T16:39:25.16185939Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingdog",
            "version": "1.1.0",
            "released": "2026-07-31",
            "seenAt": "2026-10-04T16:39:26.504278599Z"
          }
        ],
        "npmWeekly": 47,
        "pypiWeekly": 10,
        "securityTxt": {
          "url": "https://scrapingdog.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:59.790191822Z"
        },
        "llmsTxt": {
          "url": "https://www.scrapingdog.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.496086906Z"
        },
        "domain": {
          "domain": "scrapingdog.com",
          "registered": "2020-04-04",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingdog.com",
          "checkedAt": "2026-10-04T13:06:10.743416145Z"
        },
        "pages": [
          {
            "url": "https://www.scrapingdog.com/terms/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:13.443088296Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2305ca79c5e0"
          },
          {
            "url": "https://www.scrapingdog.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:09.410001091Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d279976db89"
          },
          {
            "url": "https://www.scrapingdog.com/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:11.429468273Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd229180f12f"
          }
        ],
        "updatedAt": "2026-10-04T23:32:54.197759868Z"
      }
    },
    "summary": "Scrapfly has a score of 69.8 (B) against Scrapingdog's 39.3 (E). Both do scraping. The largest gap is security \u0026 auth, 65 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog",
    "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.md",
    "slim": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.min.md"
  },
  "markdown": "Scrapfly has a score of 69.8 (B) against Scrapingdog's 39.3 (E). Both do scraping. The largest gap is security \u0026 auth, 65 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- Scrapingdog: grade E, 39.3/100, rank #425 of 452. Markdown https://www.anchorterminal.com/tools/scrapingdog.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingdog.json\n\n## Which one, for what\n\nPick Scrapfly for schema \u0026 documentation (+52), agent ergonomics (+36), security \u0026 auth (+65), maintenance \u0026 community (+39), transparency \u0026 trust (+20).\n\nPick Scrapingdog for reliability (+12).\n\n## Score by category\n\n| Category | Weight | Scrapfly | Scrapingdog | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 62 | Scrapingdog +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 43 | Scrapfly +52 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 44 | Scrapfly +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 5 | Scrapfly +65 |\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 | 45 | Scrapfly +39 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 57 | Scrapfly +20 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **69.8 · B** | **39.3 · E** | |\n\n## Facts side by side\n\n| Fact | Scrapfly | Scrapingdog |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Scrapfly (Joam Intelligence, LLC) | Scrapingdog (OpenData Labs) |\n| Hosted endpoint | `https://api.scrapfly.io/scrape` | `https://api.scrapingdog.com/scrape` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 61 | 35 |\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` | `io.github.Darshan972/scrapingdog-mcp` |\n| Last release | 2026-09-08 | 2026-07-31 |\n| Popularity | 14 stars, 21k npm/wk | 0 stars, 41 npm/wk, 12 PyPI/wk |\n| Agent reviews | 4/5 (2) | 3/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**Scrapingdog.** A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.\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### Scrapingdog\n\n1. Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says\n2. Keep request URLs out of logs, since they carry api_key\n3. Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed\n4. Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists\n\n## Other comparisons with Scrapfly or Scrapingdog\n\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [Bright Data vs Scrapingdog](https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Jina Reader vs Scrapingdog](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Olostep vs Scrapingdog](https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.md)\n- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [Scrape.do vs Scrapingdog](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog.md)\n- [ScrapeGraphAI vs Scrapfly](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.md)\n- [ScrapeGraphAI vs Scrapingdog](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog.md)\n- [Scrapeless vs Scrapfly](https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.md)\n- [Scrapeless vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingdog.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 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 Scrapingdog](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.md)\n- [ScrapingBee vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog.md)\n- [Scrapingdog vs Spider](https://www.anchorterminal.com/compare/scrapingdog-vs-spider-cloud.md)\n- [Scrapingdog vs ZenRows](https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows.md)\n- [Firecrawl MCP vs Scrapingdog](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingdog.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-04",
    "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 Scrapingdog",
        "url": ""
      }
    ],
    "description": "Scrapfly has a score of 69.8 (B) against Scrapingdog's 39.3 (E). Both do scraping. The largest gap is security \u0026 auth, 65 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Scrapfly B 69.8",
      "Scrapingdog E 39.3",
      "scores"
    ],
    "h1": "Scrapfly vs Scrapingdog",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapfly-vs-scrapingdog.png",
    "path": "/compare/scrapfly-vs-scrapingdog",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Scrapfly vs Scrapingdog for AI agents, B 69.8 vs E 39.3",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
