{
  "data": {
    "a": {
      "slug": "scrapingant",
      "name": "ScrapingAnt",
      "vendor": "ScrapingAnt (DATAANT)",
      "vendorUrl": "https://scrapingant.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scraping API that runs each request in headless Chrome behind rotating datacenter or residential proxies, with markdown and AI extraction endpoints, a 3-tool hosted MCP server and standalone proxies billed by the GB.",
      "url": "https://www.anchorterminal.com/tools/scrapingant",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingant.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingant.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingant.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.scrapingant.com/v2/general",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapingant-client"
        },
        {
          "registry": "npm",
          "name": "@scrapingant/scrapingant-client"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as an x-api-key header or an x-api-key query parameter. The docs' examples use the query form. The hosted MCP takes the same key in an x-api-key header. The usage endpoint only documents the query form.",
      "pricing": "freemium",
      "pricingNotes": "10,000 free credits a month, no card, one concurrent request. Enthusiast $19 a month (100,000 credits), Startup $49 (500,000), Business $249 (3M), Business Pro $599 (8M), Custom from $699 (10M+). A plain request on a datacenter proxy costs 1 credit, headless Chrome with JS rendering 10 (the default), Chrome plus residential proxy 125, and the AI extractor adds 1 credit per 30 characters. Failed requests aren't charged. Residential proxies $3 to $6 a GB and datacenter $0.42 to $0.60 a GB, billed separately (https://scrapingant.com/#pricing).",
      "priceSummary": "$19 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or other agent payment rail in the docs, pricing or API responses (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 90,
        "pypiWeekly": 1969,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.scrapingant.com",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "web.extract",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2024-07-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 35.9,
        "grade": "F",
        "agentReady": false,
        "rank": 440,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 14,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 5,
          "payments": 40,
          "reliability": 30,
          "schema": 43,
          "security": 10,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "10,000 free credits a month with no card. API Basics puts the key in the query string, so it lands in logs.",
        "strengths": [
          "10,000 free credits a month with no card",
          "No concurrency cap on paid plans",
          "Failed requests cost nothing, and the Ant-credits-cost header reports spend per call",
          "3-tool hosted MCP with header auth, cheap to load into context",
          "Named Polish entity with processors and hosting locations listed"
        ],
        "weaknesses": [
          "API Basics puts the key in the query string, so it lands in logs",
          "No status page, changelog, security.txt, llms.txt or OpenAPI spec",
          "SDKs are stale. JavaScript last released 2022-05-06, Python 2024-07-16",
          "No prompt-injection guidance for the pages it returns",
          "Privacy policy last updated 3 November 2020"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header rather than the query string",
          "Use `/v2/markdown` for LLM input, and set `browser=false` on static pages to pay 1 credit instead of 10",
          "Switch to `proxy_type=residential` only after a 423 (anti-bot) response. It raises a browser request from 10 to 125 credits",
          "On the free plan a second concurrent request gets 409. Wait for the first to finish",
          "Google, Bing and Yandex result pages come back as raw HTML through `/v2/general`, so you parse them yourself"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 35.9
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 5,
          "payments": 40,
          "reliability": 30,
          "schema": 43,
          "security": 10,
          "transparency": 48
        },
        "provenanceScore": 66
      },
      "connect": {
        "http": "curl 'https://api.scrapingant.com/v2/markdown?url=https%3A%2F%2Fexample.com' -H \"x-api-key: $SCRAPINGANT_API_KEY\"",
        "claudeCode": "claude mcp add scrapingant --transport http https://api.scrapingant.com/mcp -H \"x-api-key: $SCRAPINGANT_API_KEY\"",
        "config": {
          "mcpServers": {
            "scrapingant": {
              "headers": {
                "x-api-key": "${SCRAPINGANT_API_KEY}"
              },
              "url": "https://api.scrapingant.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingant"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Enthusiast plan",
          "unit": "month",
          "usd": 19,
          "note": "100,000 credits"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 49,
          "note": "500,000 credits"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 249,
          "note": "3,000,000 credits"
        },
        {
          "item": "Default browser request on Enthusiast",
          "unit": "1k-requests",
          "usd": 1.9,
          "note": "10 credits each, headless Chrome and datacenter proxy"
        },
        {
          "item": "Plain request on Enthusiast",
          "unit": "1k-requests",
          "usd": 0.19,
          "note": "1 credit each, no browser, datacenter proxy"
        },
        {
          "item": "Residential proxy",
          "unit": "gb",
          "usd": 6,
          "note": "Micro plan, 5 GB for $30 a month. Falls to $3 at volume"
        },
        {
          "item": "Datacenter proxy",
          "unit": "gb",
          "usd": 0.6,
          "note": "Micro plan, 50 GB for $30 a month"
        }
      ],
      "provenance": {
        "legalEntity": "DATAANT SP. Z O.O.",
        "domain": "scrapingant.com",
        "domainRegistered": "2020-03-31",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapingant.com/legal/terms-of-use",
        "privacy": "https://scrapingant.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Registered in Poland, KRS 0000848755, per the terms and privacy policy",
          "The privacy policy was last updated 3 November 2020 and predates the MCP server and AI extractor",
          "The site footer links no status page, changelog or security page"
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingant.json",
      "live": {
        "slug": "scrapingant",
        "probe": {
          "target": "https://api.scrapingant.com/v2/general",
          "method": "get",
          "lastAt": "2026-10-05T03:17:32.611537463Z",
          "lastOk": true,
          "lastStatus": 422,
          "lastMs": 100,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 96,
          "p95ms24h": 132,
          "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
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@scrapingant/scrapingant-client",
            "version": "0.2.1",
            "seenAt": "2026-10-04T16:39:20.235072586Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingant-client",
            "version": "2.1.0",
            "released": "2024-07-16",
            "seenAt": "2026-10-04T16:39:20.12299137Z"
          }
        ],
        "npmWeekly": 95,
        "pypiWeekly": 1968,
        "securityTxt": {
          "url": "https://scrapingant.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.392439922Z"
        },
        "domain": {
          "domain": "scrapingant.com",
          "registered": "2020-03-31",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingant.com",
          "checkedAt": "2026-10-04T13:09:25.717167779Z"
        },
        "pages": [
          {
            "url": "https://scrapingant.com/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:36.681118206Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5d4d337f6a40"
          },
          {
            "url": "https://scrapingant.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:38.708035628Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a61dcd1c862d"
          },
          {
            "url": "https://scrapingant.com/legal/terms-of-use",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:40.709144738Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1e179927df6"
          }
        ],
        "updatedAt": "2026-10-05T03:17:32.611537463Z"
      }
    },
    "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 ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 82 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows",
    "json": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.md",
    "slim": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.min.md"
  },
  "markdown": "ZenRows has a score of 75.1 (BB) against ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 82 points.\n\n- ScrapingAnt: grade F, 35.9/100, rank #440 of 452. Markdown https://www.anchorterminal.com/tools/scrapingant.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingant.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 ScrapingAnt for nothing in particular (no category where it leads by five points or more).\n\nPick ZenRows for reliability (+57), schema \u0026 documentation (+40), agent ergonomics (+13), security \u0026 auth (+31), payments \u0026 pricing (+40), maintenance \u0026 community (+82), transparency \u0026 trust (+18).\n\n## Score by category\n\n| Category | Weight | ScrapingAnt | ZenRows | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 87 | ZenRows +57 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 43 | 83 | ZenRows +40 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 79 | ZenRows +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 10 | 41 | ZenRows +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 80 | ZenRows +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 5 | 87 | ZenRows +82 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 75 | ZenRows +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **35.9 · F** | **75.1 · BB** | |\n\n## Facts side by side\n\n| Fact | ScrapingAnt | ZenRows |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ScrapingAnt (DATAANT) | ZenRows |\n| Hosted endpoint | `https://api.scrapingant.com/v2/general` | `https://api.zenrows.com/v1/` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | payer tooling only |\n| Licence | none | none |\n| Tools exposed | 3 | 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 | no | yes |\n| MCP registry | not listed | `io.github.ZenRows/zenrows-mcp` |\n| Last release | 2024-07-16 | 2026-09-18 |\n| Popularity | 90 npm/wk, 2k PyPI/wk | 21 stars, 35k npm/wk |\n| Agent reviews | 3.5/5 (2) | 3.8/5 (8) |\n\n## Verdicts\n\n**ScrapingAnt.** 10,000 free credits a month with no card. API Basics puts the key in the query string, so it lands in logs.\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### ScrapingAnt\n\n1. Send the key in the `x-api-key` header rather than the query string\n2. Use `/v2/markdown` for LLM input, and set `browser=false` on static pages to pay 1 credit instead of 10\n3. Switch to `proxy_type=residential` only after a 423 (anti-bot) response. It raises a browser request from 10 to 125 credits\n4. On the free plan a second concurrent request gets 409. Wait for the first to finish\n5. Google, Bing and Yandex result pages come back as raw HTML through `/v2/general`, so you parse them yourself\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 ScrapingAnt or ZenRows\n\n- [Bright Data vs ScrapingAnt](https://www.anchorterminal.com/compare/bright-data-vs-scrapingant.md)\n- [Bright Data vs ZenRows](https://www.anchorterminal.com/compare/bright-data-vs-zenrows.md)\n- [Jina Reader vs ScrapingAnt](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingant.md)\n- [Jina Reader vs ZenRows](https://www.anchorterminal.com/compare/jina-reader-vs-zenrows.md)\n- [Olostep vs ScrapingAnt](https://www.anchorterminal.com/compare/olostep-vs-scrapingant.md)\n- [Olostep vs ZenRows](https://www.anchorterminal.com/compare/olostep-vs-zenrows.md)\n- [Scrape.do vs ScrapingAnt](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingant.md)\n- [Scrape.do vs ZenRows](https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.md)\n- [ScrapeGraphAI vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingant.md)\n- [ScrapeGraphAI vs ZenRows](https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.md)\n- [Scrapeless vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingant.md)\n- [Scrapeless vs ZenRows](https://www.anchorterminal.com/compare/scrapeless-vs-zenrows.md)\n- [Scrapfly vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.md)\n- [Scrapfly vs ZenRows](https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.md)\n- [ScrapingAnt vs ScrapingBee](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingbee.md)\n- [ScrapingAnt vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.md)\n- [ScrapingAnt vs Spider](https://www.anchorterminal.com/compare/scrapingant-vs-spider-cloud.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 ScrapingAnt](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingant.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": "ScrapingAnt vs ZenRows",
        "url": ""
      }
    ],
    "description": "ZenRows has a score of 75.1 (BB) against ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 82 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ScrapingAnt F 35.9",
      "ZenRows BB 75.1",
      "scores"
    ],
    "h1": "ScrapingAnt vs ZenRows",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapingant-vs-zenrows.png",
    "path": "/compare/scrapingant-vs-zenrows",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ScrapingAnt vs ZenRows for AI agents, F 35.9 vs BB 75.1",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
