{
  "data": {
    "a": {
      "slug": "scrapegraphai",
      "name": "ScrapeGraphAI",
      "vendor": "ScrapeGraphAI",
      "vendorUrl": "https://scrapegraphai.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "LLM-oriented scraping API with page-to-markdown scrape, prompt-based JSON extraction, search, async crawl and change monitors.",
      "url": "https://www.anchorterminal.com/tools/scrapegraphai",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapegraphai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapegraphai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapegraphai.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://v2-api.scrapegraphai.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapegraph-py"
        },
        {
          "registry": "npm",
          "name": "scrapegraph-js"
        },
        {
          "registry": "npm",
          "name": "just-scrape"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the SGAI-APIKEY header. The hosted MCP takes OAuth 2.1 (Google sign-in, PKCE, dynamic client registration) or the key as a Bearer, SGAI-APIKEY or X-API-Key header. An agent without an account can pay over x402 or MPP to mint a key, which is returned once.",
      "pricing": "freemium",
      "pricingNotes": "Free plan 500 credits once (the docs say 500 a month), 10 requests a minute. Starter $20 a month (10,000 credits), Growth $100 (100,000), Pro $500 (750,000), or $204, $1,020 and $5,100 billed yearly. Top-up packs $5 for 1,000 credits, $40 for 10,000 and $150 for 50,000, which don't expire. Markdown scrape 1 credit, screenshot 2, extract 5, search 2 a result (5 with a prompt), crawl 2 plus the per-page cost, stealth adds 5. Failed requests aren't charged (https://scrapegraphai.com/pricing).",
      "priceSummary": "$20 / mo",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "POST /api/agent/x402/access/{pack} on v2-api.scrapegraphai.com returns an x402 challenge that mints an account, an API key and credits (5, 40 or 150 USDC on Base). MPP through InFlow covers packs and subscriptions. Per-call x402 runs only through Orthogonal's gateway at https://x402.orth.sh/scrapegraph/\u003cpath\u003e on scrape, extract, search, crawl and monitor, with no ScrapeGraphAI key, prices from `orth api scrapegraph` (https://v2-api.scrapegraphai.com/api/agent/protocols; https://docs.scrapegraphai.com/integrations/orthogonal.md, checked 2026-10-01).",
        "endpoints": [
          {
            "url": "https://v2-api.scrapegraphai.com/api/agent/x402/access/small",
            "priceUsd": 5,
            "network": "eip155:8453"
          },
          {
            "url": "https://v2-api.scrapegraphai.com/api/agent/x402/access/medium",
            "priceUsd": 40,
            "network": "eip155:8453"
          },
          {
            "url": "https://v2-api.scrapegraphai.com/api/agent/x402/access/large",
            "priceUsd": 150,
            "network": "eip155:8453"
          },
          {
            "url": "https://x402.orth.sh/scrapegraph/v1/scrape",
            "priceUsd": null,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 20,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2411,
        "pypiWeekly": 46144,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.scrapegraphai.com",
      "llmsTxt": "https://docs.scrapegraphai.com/llms.txt",
      "openapi": "https://v2-api.scrapegraphai.com/api/openapi.json",
      "registryName": "io.github.ScrapeGraphAI/scrapegraph-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.crawl",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "x402",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 128,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 70,
          "payments": 90,
          "reliability": 64,
          "schema": 88,
          "security": 39,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "An agent can mint an account and key over x402 or MPP with no signup. Rate limits and plan prices differ between docs pages.",
        "strengths": [
          "An agent can mint an account and key over x402 or MPP with no signup",
          "Per-call x402 on all five product endpoints through Orthogonal's gateway",
          "OpenAPI 3.1 with enums and documented 401, 402 and 429 responses",
          "Request history readable through the API and MCP tools",
          "Dated, versioned changelog and Python SDK releases in July 2026"
        ],
        "weaknesses": [
          "Rate limits and plan prices differ between docs pages",
          "Privacy policy from March 2024 with no retention periods, DPA or LLM provider list",
          "One account key with no scopes, and delete tools beside read tools on the MCP server",
          "No prompt-injection guidance, though extract runs an LLM over scraped pages",
          "No security.txt or security page"
        ],
        "agentNotes": [
          "Use `scrape` with the markdown format (1 credit) before reaching for `extract` (5 credits)",
          "Read `GET https://v2-api.scrapegraphai.com/api/agent/protocols` for current packs and prices before paying over x402",
          "MCP tool calls stop at 60 seconds. Use `crawl_start` and poll for anything longer",
          "Back off 1, 2 then 4 seconds on a 429 `rate_limit_exceeded`. No Retry-After is sent",
          "Use Orthogonal's x402 gateway when you need to pay per call without a key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 70,
          "payments": 90,
          "reliability": 64,
          "schema": 88,
          "security": 39,
          "transparency": 40
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://v2-api.scrapegraphai.com/api/scrape -H \"SGAI-APIKEY: $SGAI_API_KEY\" \\\n  -H \"content-type: application/json\" -d '{\"url\":\"https://example.com\",\"formats\":[{\"type\":\"markdown\"}]}'",
        "claudeCode": "claude mcp add --transport http sgai https://mcp.scrapegraphai.com/mcp --header \"Authorization: Bearer $SGAI_API_KEY\"",
        "config": {
          "mcpServers": {
            "sgai": {
              "headers": {
                "Authorization": "Bearer ${SGAI_API_KEY}"
              },
              "url": "https://mcp.scrapegraphai.com/mcp"
            }
          }
        },
        "x402": "curl -s -i -X POST https://v2-api.scrapegraphai.com/api/agent/x402/access/small\n# 402 -\u003e PAYMENT-REQUIRED (amount 5000000 = 5 USDC on eip155:8453) -\u003e retry with PAYMENT-SIGNATURE\n# response carries an API key with 1,000 credits, then send it as SGAI-APIKEY"
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapegraphai"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 20,
          "note": "10,000 credits. $17 a month billed yearly"
        },
        {
          "item": "Growth plan",
          "unit": "month",
          "usd": 100,
          "note": "100,000 credits. $85 a month billed yearly"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 500,
          "note": "750,000 credits. $425 a month billed yearly"
        },
        {
          "item": "Markdown scrape on Starter",
          "unit": "1k-requests",
          "usd": 2,
          "note": "1 credit each, stealth adds 5"
        },
        {
          "item": "Extract on Starter",
          "unit": "1k-requests",
          "usd": 10,
          "note": "5 credits each"
        },
        {
          "item": "Small credit pack",
          "unit": "credit",
          "usd": 0.005,
          "note": "$5 for 1,000 credits, also payable over x402"
        }
      ],
      "provenance": {
        "legalEntity": "ScrapeGraphAI, Inc.",
        "domain": "scrapegraphai.com",
        "domainRegistered": "2024-04-29",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapegraphai.com/terms",
        "privacy": "https://scrapegraphai.com/privacy",
        "statusPage": "https://scrapegraphapi.openstatus.dev",
        "changelog": "https://scrapegraphai.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms don't name a state of incorporation. Governing law is the jurisdiction where ScrapeGraphAI, Inc. is established",
          "The API and MCP server run on Render behind Cloudflare. MCP OAuth metadata points at sgai-mcp-main.onrender.com"
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapegraphai.json",
      "live": {
        "slug": "scrapegraphai",
        "probe": {
          "target": "https://v2-api.scrapegraphai.com",
          "method": "get",
          "lastAt": "2026-10-05T00:57:27.777186933Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 63,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 92,
          "p95ms24h": 140,
          "samples24h": 272,
          "samples30d": 1113,
          "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": 271
            },
            {
              "date": "2026-10-05",
              "probes": 11,
              "ok": 11
            }
          ]
        },
        "vendorStatus": {
          "page": "https://scrapegraphapi.openstatus.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.277525949Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.ScrapeGraphAI/scrapegraph-mcp",
            "version": "1.0.1",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "just-scrape",
            "version": "1.1.0",
            "seenAt": "2026-10-04T16:39:07.672430029Z"
          },
          {
            "registry": "npm",
            "name": "scrapegraph-js",
            "version": "2.2.1",
            "seenAt": "2026-10-04T16:39:05.93594083Z"
          },
          {
            "registry": "pypi",
            "name": "scrapegraph-py",
            "version": "2.3.1",
            "released": "2026-07-31",
            "seenAt": "2026-10-04T16:39:05.752477896Z"
          }
        ],
        "npmWeekly": 2347,
        "pypiWeekly": 42094,
        "securityTxt": {
          "url": "https://scrapegraphai.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:59.406660763Z"
        },
        "llmsTxt": {
          "url": "https://docs.scrapegraphai.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:12.669895944Z"
        },
        "domain": {
          "domain": "scrapegraphai.com",
          "registered": "2024-04-29",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapegraphai.com",
          "checkedAt": "2026-10-04T13:08:43.29199464Z"
        },
        "pages": [
          {
            "url": "https://scrapegraphai.com/changelog",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:29.979099486Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3ab879585a3f"
          },
          {
            "url": "https://scrapegraphai.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:32.02450703Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "615843f80a16"
          },
          {
            "url": "https://scrapegraphai.com/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:34.021372205Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "faec27bac829"
          },
          {
            "url": "https://scrapegraphai.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:36.034844544Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d09b7d6cb797"
          }
        ],
        "updatedAt": "2026-10-05T00:57:27.777186933Z"
      }
    },
    "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-05T00:57:27.841101961Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 445,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 441,
          "p95ms24h": 481,
          "samples24h": 272,
          "samples30d": 1113,
          "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": 11,
              "ok": 11
            }
          ]
        },
        "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-05T00:57:27.841101961Z"
      }
    },
    "summary": "Scrapfly has a score of 69.8 (B) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is payments \u0026 pricing, 50 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly",
    "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.md",
    "slim": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.min.md"
  },
  "markdown": "Scrapfly has a score of 69.8 (B) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is payments \u0026 pricing, 50 points.\n\n- ScrapeGraphAI: grade B, 68.3/100, rank #128 of 452. Markdown https://www.anchorterminal.com/tools/scrapegraphai.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapegraphai.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 ScrapeGraphAI for reliability (+14), payments \u0026 pricing (+50).\n\nPick Scrapfly for schema \u0026 documentation (+7), agent ergonomics (+8), security \u0026 auth (+31), maintenance \u0026 community (+14), transparency \u0026 trust (+16).\n\n## Score by category\n\n| Category | Weight | ScrapeGraphAI | Scrapfly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 64 | 50 | ScrapeGraphAI +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 95 | Scrapfly +7 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 80 | Scrapfly +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 70 | Scrapfly +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 40 | ScrapeGraphAI +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 84 | Scrapfly +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 77 | Scrapfly +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.3 · B** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | ScrapeGraphAI | Scrapfly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ScrapeGraphAI | Scrapfly (Joam Intelligence, LLC) |\n| Hosted endpoint | `https://v2-api.scrapegraphai.com` | `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 | payer tooling only | no |\n| Licence | none | none |\n| Tools exposed | 20 | 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.ScrapeGraphAI/scrapegraph-mcp` | `io.scrapfly.mcp/mcp` |\n| Last release | 2026-07-31 | 2026-09-08 |\n| Popularity | 2.4k npm/wk, 46k PyPI/wk | 14 stars, 21k npm/wk |\n| Agent reviews | 3/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**ScrapeGraphAI.** An agent can mint an account and key over x402 or MPP with no signup. Rate limits and plan prices differ between docs pages.\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### ScrapeGraphAI\n\n1. Use `scrape` with the markdown format (1 credit) before reaching for `extract` (5 credits)\n2. Read `GET https://v2-api.scrapegraphai.com/api/agent/protocols` for current packs and prices before paying over x402\n3. MCP tool calls stop at 60 seconds. Use `crawl_start` and poll for anything longer\n4. Back off 1, 2 then 4 seconds on a 429 `rate_limit_exceeded`. No Retry-After is sent\n5. Use Orthogonal's x402 gateway when you need to pay per call without a key\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 ScrapeGraphAI or Scrapfly\n\n- [Bright Data vs ScrapeGraphAI](https://www.anchorterminal.com/compare/bright-data-vs-scrapegraphai.md)\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [Jina Reader vs ScrapeGraphAI](https://www.anchorterminal.com/compare/jina-reader-vs-scrapegraphai.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Olostep vs ScrapeGraphAI](https://www.anchorterminal.com/compare/olostep-vs-scrapegraphai.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Scrape.do vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrape-do-vs-scrapegraphai.md)\n- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [ScrapeGraphAI vs Scrapeless](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapeless.md)\n- [ScrapeGraphAI vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingant.md)\n- [ScrapeGraphAI vs ScrapingBee](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingbee.md)\n- [ScrapeGraphAI vs Scrapingdog](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog.md)\n- [ScrapeGraphAI vs Spider](https://www.anchorterminal.com/compare/scrapegraphai-vs-spider-cloud.md)\n- [ScrapeGraphAI vs ZenRows](https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.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- [Firecrawl MCP vs ScrapeGraphAI](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapegraphai.md)\n- [Firecrawl MCP vs Scrapfly](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.md)\n- [Apify MCP Server vs ScrapeGraphAI](https://www.anchorterminal.com/compare/apify-mcp-vs-scrapegraphai.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": "ScrapeGraphAI vs Scrapfly",
        "url": ""
      }
    ],
    "description": "Scrapfly has a score of 69.8 (B) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is payments \u0026 pricing, 50 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ScrapeGraphAI B 68.3",
      "Scrapfly B 69.8",
      "scores"
    ],
    "h1": "ScrapeGraphAI vs Scrapfly",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapegraphai-vs-scrapfly.png",
    "path": "/compare/scrapegraphai-vs-scrapfly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ScrapeGraphAI vs Scrapfly for AI agents, B 68.3 vs B 69.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly"
  },
  "tokens": {
    "markdown": 1750,
    "slim": 330
  },
  "version": 1
}
