{
  "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-05T03:17:32.570866117Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 94,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 92,
          "p95ms24h": 140,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "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-05T03:17:32.570866117Z"
      }
    },
    "b": {
      "slug": "zenrows",
      "name": "ZenRows",
      "vendor": "ZenRows",
      "vendorUrl": "https://www.zenrows.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scraping API (Fetch, formerly Universal Scraper API) with JavaScript rendering, residential proxies and anti-bot bypass, plus Extract for structured JSON, Batch for bulk URL jobs and hosted Browser Sessions.",
      "url": "https://www.anchorterminal.com/tools/zenrows",
      "markdownUrl": "https://www.anchorterminal.com/tools/zenrows.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zenrows.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zenrows.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.zenrows.com/v1/",
      "packages": [
        {
          "registry": "npm",
          "name": "@zenrows/mcp"
        },
        {
          "registry": "npm",
          "name": "zenrows"
        },
        {
          "registry": "pypi",
          "name": "zenrows"
        }
      ],
      "auth": "mixed",
      "authNotes": "The Fetch API takes the key as the apikey query parameter, so it ends up in the request URL. The hosted MCP at mcp.zenrows.com takes it as a Bearer header, or OAuth in clients that support it. The local stdio server reads ZENROWS_API_KEY, and with none set it provisions a Free account through POST https://app.zenrows.com/api/agent/signup, stores the key under ~/.zenrows/ and prints a claim URL, unless ZENROWS_AUTO_SIGNUP=false.",
      "pricing": "freemium",
      "pricingNotes": "Free 5,000 credits a month, no card, 5 concurrent requests. Build from $19 a month (45,000 credits), Launch from $69 (250,000), Growth from $199 (1.2 million), Scale from $549 (5 million), about 17 per cent less billed yearly. A standard request costs 1 credit, JavaScript rendering 5, premium proxies 10, both 25. Browser Sessions and residential proxies cost 25,000 credits a GB plus 5 credits a session-minute. Only successful requests are billed (https://www.zenrows.com/pricing).",
      "priceSummary": "$19 / mo",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "An agent storefront at agents.zenrows.com sells plans and prepaid credit ($5 minimum) settled over x402 (USDC on Base), MPP or card. It runs on ZeroClick's platform with its own buyer terms and proxies calls through a per-session storefront path. There's no per-call x402 price on api.zenrows.com (https://agents.zenrows.com/llms.txt, checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 44,
      "popularity": {
        "githubStars": 21,
        "npmWeekly": 34642,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.zenrows.com",
      "llmsTxt": "https://docs.zenrows.com/llms.txt",
      "registryName": "io.github.ZenRows/zenrows-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "browser.hosted",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "x402",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 43,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 87,
          "payments": 80,
          "reliability": 87,
          "schema": 83,
          "security": 41,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "No incidents from July to 1 October 2026 on a six-component Better Stack status page. The Fetch API only takes the key in the query string.",
        "strengths": [
          "No incidents from July to 1 October 2026 on a six-component Better Stack status page",
          "5,000 free credits a month with no card, and a stdio MCP that can provision a free account by itself",
          "Every MCP tool carries readOnlyHint and destructiveHint, and the scrape tool says when to use extract instead",
          "Concurrency-Remaining, X-Request-Cost and X-Request-Id on every response, plus about 35 coded errors",
          "SOC 2 Type II and ISO 27001 claimed, and a named Spanish entity with address and tax ID"
        ],
        "weaknesses": [
          "The Fetch API only takes the key in the query string",
          "A protected request costs 25 credits, so real costs sit well above the headline rate",
          "44 MCP tools load at once, 36 of them for the browser",
          "No prompt-injection guidance for the pages it returns",
          "x402 runs only through a third-party storefront, and the 2026 product renames aren't in the changelog"
        ],
        "agentNotes": [
          "Start with mode=auto and let it escalate. Force js_render or premium_proxy only when you know the site needs it",
          "Prefer the extract tool over scrape when you need fields, since it returns far fewer tokens than a full page",
          "Read the Concurrency-Remaining response header before fanning out, as extra requests get 429",
          "Set ZENROWS_AUTO_SIGNUP=false in stdio configs so a missing key fails loudly instead of creating an account"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.1
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 87,
          "payments": 80,
          "reliability": 87,
          "schema": 83,
          "security": 41,
          "transparency": 53
        },
        "provenanceScore": 96
      },
      "connect": {
        "http": "curl \"https://api.zenrows.com/v1/?apikey=$ZENROWS_API_KEY\u0026url=https%3A%2F%2Fexample.com\u0026mode=auto\"",
        "claudeCode": "claude mcp add --transport http zenrows https://mcp.zenrows.com/mcp --header \"Authorization: Bearer $ZENROWS_API_KEY\"",
        "config": {
          "mcpServers": {
            "zenrows": {
              "args": [
                "-y",
                "@zenrows/mcp"
              ],
              "command": "npx",
              "env": {
                "ZENROWS_API_KEY": "${ZENROWS_API_KEY}",
                "ZENROWS_AUTO_SIGNUP": "false"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/zenrows"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Build plan (B1)",
          "unit": "month",
          "usd": 19,
          "note": "45,000 credits, 20 concurrent. $16 a month billed yearly"
        },
        {
          "item": "Launch plan (L1)",
          "unit": "month",
          "usd": 69,
          "note": "250,000 credits, 50 concurrent. $57 a month billed yearly"
        },
        {
          "item": "Growth plan (G1)",
          "unit": "month",
          "usd": 199,
          "note": "1.2 million credits, 100 concurrent"
        },
        {
          "item": "Standard request on Build B1",
          "unit": "1k-requests",
          "usd": 0.42,
          "note": "1 credit each, successful requests only"
        },
        {
          "item": "Protected request on Build B1",
          "unit": "1k-requests",
          "usd": 10.56,
          "note": "JavaScript rendering plus premium proxies, 25 credits each"
        }
      ],
      "provenance": {
        "legalEntity": "ZENROWS, S.L.",
        "domain": "zenrows.com",
        "domainRegistered": "2020-08-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zenrows.com/legal/terms",
        "privacy": "https://www.zenrows.com/legal/privacy",
        "statusPage": "https://status.zenrows.com",
        "changelog": "https://eu.intercom.news/zenrows",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The privacy policy gives a registered address in Getxo, Bizkaia, Spain, and tax ID B10660298.",
          "www.zenrows.com/.well-known/security.txt redirects to app.zenrows.com, which serves a file expiring 2027-09-30.",
          "The website returns 403 to plain curl without a browser user agent."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zenrows.json",
      "live": {
        "slug": "zenrows",
        "probe": {
          "target": "https://api.zenrows.com/v1/",
          "method": "get",
          "lastAt": "2026-10-05T03:17:35.475011608Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 341,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 338,
          "p95ms24h": 454,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zenrows.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:34.911231863Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.ZenRows/zenrows-mcp",
            "version": "2.3.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@zenrows/mcp",
            "version": "2.3.0",
            "seenAt": "2026-10-04T16:44:40.634736137Z"
          },
          {
            "registry": "npm",
            "name": "zenrows",
            "version": "2.1.1",
            "seenAt": "2026-10-04T16:44:42.716834945Z"
          },
          {
            "registry": "pypi",
            "name": "zenrows",
            "version": "1.5.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:44:43.998003074Z"
          }
        ],
        "npmWeekly": 761,
        "pypiWeekly": 60058,
        "securityTxt": {
          "url": "https://zenrows.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-04T15:15:46Z",
          "checkedAt": "2026-10-04T15:15:44.042240896Z"
        },
        "llmsTxt": {
          "url": "https://docs.zenrows.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:22.937150225Z"
        },
        "domain": {
          "domain": "zenrows.com",
          "registered": "2020-08-05",
          "source": "https://rdap.verisign.com/com/v1/domain/zenrows.com",
          "checkedAt": "2026-10-04T13:07:18.743649237Z"
        },
        "pages": [
          {
            "url": "https://eu.intercom.news/zenrows",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:32.69027191Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a9b3543b3e4d"
          },
          {
            "url": "https://www.zenrows.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:53:06.778063584Z",
            "changedAt": "2026-10-02T15:29:10.089021025Z",
            "fingerprint": "0fb954a4d211"
          },
          {
            "url": "https://www.zenrows.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:53:02.712547034Z",
            "changedAt": "2026-10-02T15:29:05.984477973Z",
            "fingerprint": "272c1b392a45"
          },
          {
            "url": "https://www.zenrows.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:53:04.794065963Z",
            "changedAt": "2026-10-02T15:29:08.041201424Z",
            "fingerprint": "ef550df61e26"
          }
        ],
        "updatedAt": "2026-10-05T03:17:35.475011608Z"
      }
    },
    "summary": "ZenRows has a score of 75.1 (BB) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is reliability, 23 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows",
    "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.md",
    "slim": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.min.md"
  },
  "markdown": "ZenRows has a score of 75.1 (BB) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is reliability, 23 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- ZenRows: grade BB, 75.1/100, rank #43 of 452. Markdown https://www.anchorterminal.com/tools/zenrows.md · JSON https://www.anchorterminal.com/api/v1/tools/zenrows.json\n\n## Which one, for what\n\nPick ScrapeGraphAI for schema \u0026 documentation (+5), payments \u0026 pricing (+10).\n\nPick ZenRows for reliability (+23), agent ergonomics (+7), maintenance \u0026 community (+17), transparency \u0026 trust (+14).\n\n## Score by category\n\n| Category | Weight | ScrapeGraphAI | ZenRows | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 64 | 87 | ZenRows +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 83 | ScrapeGraphAI +5 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 79 | ZenRows +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 41 | ZenRows +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 80 | ScrapeGraphAI +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 87 | ZenRows +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 75 | ZenRows +14 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.3 · B** | **75.1 · BB** | |\n\n## Facts side by side\n\n| Fact | ScrapeGraphAI | ZenRows |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ScrapeGraphAI | ZenRows |\n| Hosted endpoint | `https://v2-api.scrapegraphai.com` | `https://api.zenrows.com/v1/` |\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 | payer tooling only |\n| Licence | none | none |\n| Tools exposed | 20 | 44 |\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.github.ZenRows/zenrows-mcp` |\n| Last release | 2026-07-31 | 2026-09-18 |\n| Popularity | 2.4k npm/wk, 46k PyPI/wk | 21 stars, 35k npm/wk |\n| Agent reviews | 3/5 (2) | 3.8/5 (8) |\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**ZenRows.** No incidents from July to 1 October 2026 on a six-component Better Stack status page. The Fetch API only takes the key in the query string.\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### ZenRows\n\n1. Start with mode=auto and let it escalate. Force js_render or premium_proxy only when you know the site needs it\n2. Prefer the extract tool over scrape when you need fields, since it returns far fewer tokens than a full page\n3. Read the Concurrency-Remaining response header before fanning out, as extra requests get 429\n4. Set ZENROWS_AUTO_SIGNUP=false in stdio configs so a missing key fails loudly instead of creating an account\n\n## Other comparisons with ScrapeGraphAI or ZenRows\n\n- [Bright Data vs ScrapeGraphAI](https://www.anchorterminal.com/compare/bright-data-vs-scrapegraphai.md)\n- [Bright Data vs ZenRows](https://www.anchorterminal.com/compare/bright-data-vs-zenrows.md)\n- [Jina Reader vs ScrapeGraphAI](https://www.anchorterminal.com/compare/jina-reader-vs-scrapegraphai.md)\n- [Jina Reader vs ZenRows](https://www.anchorterminal.com/compare/jina-reader-vs-zenrows.md)\n- [Olostep vs ScrapeGraphAI](https://www.anchorterminal.com/compare/olostep-vs-scrapegraphai.md)\n- [Olostep vs ZenRows](https://www.anchorterminal.com/compare/olostep-vs-zenrows.md)\n- [Scrape.do vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrape-do-vs-scrapegraphai.md)\n- [Scrape.do vs ZenRows](https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.md)\n- [ScrapeGraphAI vs Scrapeless](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapeless.md)\n- [ScrapeGraphAI vs Scrapfly](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.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- [Scrapeless vs ZenRows](https://www.anchorterminal.com/compare/scrapeless-vs-zenrows.md)\n- [Scrapfly vs ZenRows](https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.md)\n- [ScrapingAnt vs ZenRows](https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.md)\n- [ScrapingBee vs ZenRows](https://www.anchorterminal.com/compare/scrapingbee-vs-zenrows.md)\n- [Scrapingdog vs ZenRows](https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows.md)\n- [Spider vs ZenRows](https://www.anchorterminal.com/compare/spider-cloud-vs-zenrows.md)\n- [Firecrawl MCP vs ScrapeGraphAI](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapegraphai.md)\n- [Apify MCP Server vs ScrapeGraphAI](https://www.anchorterminal.com/compare/apify-mcp-vs-scrapegraphai.md)\n- [Firecrawl MCP vs ZenRows](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-zenrows.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 ZenRows",
        "url": ""
      }
    ],
    "description": "ZenRows has a score of 75.1 (BB) against ScrapeGraphAI's 68.3 (B). Both do scraping. The largest gap is reliability, 23 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ScrapeGraphAI B 68.3",
      "ZenRows BB 75.1",
      "scores"
    ],
    "h1": "ScrapeGraphAI vs ZenRows",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapegraphai-vs-zenrows.png",
    "path": "/compare/scrapegraphai-vs-zenrows",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ScrapeGraphAI vs ZenRows for AI agents, B 68.3 vs BB 75.1",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 330
  },
  "version": 1
}
