{
  "data": {
    "a": {
      "slug": "scrapeatlas",
      "name": "ScrapeAtlas",
      "vendor": "OD. Media \u0026 Technology LLC",
      "vendorUrl": "https://scrapeatlas.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "ScrapeAtlas is a hosted API that returns public profiles, posts, comments, videos, ads, products and market data from 49 social, video, forum, marketplace and prediction-market platforms as JSON, with a CLI, an n8n node and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/scrapeatlas",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapeatlas.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapeatlas.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json",
      "license": "Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.scrapeatlas.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@scrapeatlas/cli"
        },
        {
          "registry": "npm",
          "name": "n8n-nodes-scrapeatlas"
        }
      ],
      "auth": "mixed",
      "authNotes": "A customer API key (prefix `sa_live_`) created on the account page, sent as `x-api-key` or `Authorization: Bearer` to https://api.scrapeatlas.com. Several keys share one credit balance, keys carry an expiry date, and revocation takes effect within 60 seconds per the authentication page. No scopes or per-platform keys. The hosted MCP server at https://api.scrapeatlas.com/mcp takes the same key as a Bearer token, or an OAuth authorization-code flow with PKCE S256, dynamic client registration at /oauth/register and one scope, `scrapeatlas`; the MCP page calls OAuth-only connectors unsupported in the preview. Keys can't buy credits or manage the account, which need a dashboard session.",
      "pricing": "usage",
      "pricingNotes": "100 free credits at signup with no card, then one-time credit packs of 10,000 for $19 ($1.90 per 1,000), 50,000 for $89 ($1.78) and 200,000 for $249 ($1.25) on the home page (30 October 2026). One credit per successful request, partial results and valid empty collections included, 2 credits on LinkedIn post search, the six Quora search endpoints and Threads user search. Failed requests, account utilities and internal retries cost 0. Credits never expire, and there are no subscriptions. Eight Actors on the Apify Store cost $1.98 per 1,000 successful requests with no ScrapeAtlas account.",
      "priceSummary": "$1.90 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on scrapeatlas.com, in the docs, llms.txt or the OpenAPI file (checked 2026-10-30). Credit packs are bought through a hosted Stripe Checkout from a dashboard session. The only route without a ScrapeAtlas account is the vendor's eight Actors on the Apify Store, paid through Apify.",
        "endpoints": []
      },
      "toolCount": 373,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://scrapeatlas.com/docs/",
      "llmsTxt": "https://scrapeatlas.com/docs/llms.txt",
      "openapi": "https://scrapeatlas.com/docs/openapi.json",
      "registryName": "io.github.OnlineDopamine/scrapeatlas",
      "capabilities": [
        "web.extract",
        "social.analytics",
        "data.markets"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "cli",
        "free-tier",
        "no-card",
        "prepaid",
        "usage-priced",
        "new"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63,
        "grade": "B",
        "agentReady": false,
        "rank": 481,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 70,
          "payments": 55,
          "reliability": 42,
          "schema": 88,
          "security": 55,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "An OpenAPI 3.1 file with 386 operations, typed parameters and a uniform failure object, published limits of 120 requests a minute and 4 concurrent, and 1 credit per successful request with failed calls free. No status page, security.txt or SDKs, the MCP server is a preview with 373 tools, and the product is five weeks old.",
        "bestFor": "Agents that need structured public data from a named social, video, forum, marketplace or prediction-market platform, such as a creator's profile and recent posts, a thread's comments, a product's reviews or a market's order book, paid per successful request without a subscription.",
        "strengths": [
          "A public OpenAPI 3.1 file with 386 operations, enums or patterns on most parameters, a response example on 373 operations and error responses on every data endpoint",
          "One response envelope on every endpoint, with `status`, `coverage.warnings`, `requestId` and `accounting`, and 33 failure codes the docs sort into retryable and not",
          "Limits published as 120 requests a minute and 4 concurrent per account, with a `retry-after` on 429 and `x-credits-charged` and `x-credits-remaining` headers",
          "One credit per successful request, failed requests and internal retries free, 100 credits at signup without a card, and packs from $1.25 to $1.90 per 1,000",
          "Account usage and activity endpoints at 0 credits, with per-request metadata filterable by platform, operation and status"
        ],
        "weaknesses": [
          "No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint",
          "API keys have no scopes, and the MCP OAuth flow has a single scope, `scrapeatlas`",
          "No security.txt, disclosure policy, bug bounty or certification was found; keys are stored hashed per the privacy policy",
          "The MCP server is a preview that loads 373 tool definitions with no documented subset, and the registry entry under a personal GitHub namespace is at 1.0.0 from 5 October",
          "No official SDKs; the npm CLI has no public source repository, and support in the dashboard is for customers with a credit purchase",
          "Every response is third-party page content and the docs carry no guidance on treating it as untrusted"
        ],
        "agentNotes": [
          "Send the key as `x-api-key` on https://api.scrapeatlas.com and check `status` on every HTTP 200; `partial` is usable data with `coverage.warnings`, `failed` and `challenged` carry `failure.code`.",
          "Retry only on `upstream_rate_limited`, `timeout` and `busy`, after the `retry-after` on a 429. Stay under 120 requests a minute and 4 concurrent per account.",
          "Pass the returned `cursor` back unchanged for the next page, and use `since` and `until` (ISO 8601 or Unix seconds) where listed; each page costs another credit.",
          "Each platform has its own response schema, so read the endpoint's response fields before mapping; unknown values are `null`, never 0.",
          "For MCP, connect to https://api.scrapeatlas.com/mcp over Streamable HTTP with `Authorization: Bearer` and expect 373 tools; the two account tools and failed calls cost 0 credits."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 70,
          "payments": 55,
          "reliability": 42,
          "schema": 88,
          "security": 55,
          "transparency": 54
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @scrapeatlas/cli",
        "http": "curl \"https://api.scrapeatlas.com/v1/bluesky/profile?handle=bsky.app\" -H \"x-api-key: $SCRAPEATLAS_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/web.extract",
        "tool": "https://letme.dev/scrapeatlas"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "10,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.9,
          "note": "$19 one-time, 1 credit per successful request, home page checked 30 October 2026"
        },
        {
          "item": "50,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.78,
          "note": "$89 one-time"
        },
        {
          "item": "200,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.25,
          "note": "$249 one-time; not named in the OpenAPI checkout operation or on the affiliate page"
        },
        {
          "item": "Apify Store Actors",
          "unit": "1k-requests",
          "usd": 1.98,
          "note": "successful requests, paid through Apify, no ScrapeAtlas account; TikTok, Instagram, Meetup and Couchsurfing only"
        }
      ],
      "provenance": {
        "legalEntity": "OD. Media \u0026 Technology LLC",
        "domain": "scrapeatlas.com",
        "domainRegistered": "2026-09-10",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapeatlas.com/terms/",
        "privacy": "https://scrapeatlas.com/privacy/",
        "statusPage": "",
        "changelog": "https://scrapeatlas.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The Terms of Service (last updated 29 September 2026), the privacy policy (19 October 2026) and the Public Data Notice (29 September 2026) name OD. Media \u0026 Technology LLC, License No. 2431901.01, Sharjah Media City, Sharjah, United Arab Emirates, governed by UAE and Sharjah law. The contact address on all three is on a different domain, fddigital.net.",
          "RDAP for scrapeatlas.com gives a registration date of 2026-09-10 through NameCheap. The earliest Wayback Machine capture, 11 September 2026, lists ten platforms as live private services and says public self-service access is not open yet.",
          "firstReleased is the changelog's first entry, 21 September 2026, which also records CLI 0.10.0 with every endpoint as a CLI command and an MCP tool. The npm CLI's 0.1.0 is dated 12 September 2026, before self-service access opened. The changelog itself was published on 24 September.",
          "https://scrapeatlas.com/.well-known/security.txt and https://scrapeatlas.com/status/ answer 404. api.scrapeatlas.com answers robots.txt with a JSON error per the 30 October listing check, so only its two OAuth metadata documents were read.",
          "The MCP registry entry io.github.OnlineDopamine/scrapeatlas sits under a personal GitHub namespace, the account that also publishes the npm packages, not under a company organisation."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapeatlas.json",
      "live": {
        "slug": "scrapeatlas",
        "probe": {
          "target": "https://api.scrapeatlas.com",
          "method": "get",
          "lastAt": "2026-10-30T13:20:35.331161564Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 159,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 162,
          "p95ms24h": 243,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-30",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-30T13:20:35.331161564Z"
      }
    },
    "answer": "ZenRows scores 78.9 (A) on agent readiness against ScrapeAtlas's 63 (B), and leads in 6 of 7 scored categories. ScrapeAtlas leads on security \u0026 auth.",
    "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, Crawl for following a site's links, 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. Batch takes it in an X-API-Key header, Crawl and Extract take either, and the hosted MCP at mcp.zenrows.com takes a Bearer header, or OAuth in clients that support it. An account can hold up to 10 keys, each with optional credit caps. 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": 52,
      "popularity": {
        "githubStars": 21,
        "npmWeekly": 34642,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.zenrows.com",
      "llmsTxt": "https://docs.zenrows.com/llms.txt",
      "openapi": "https://www.zenrows.com/openapi.json",
      "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-10-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 78.9,
        "grade": "A",
        "agentReady": true,
        "rank": 13,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 80,
          "reliability": 87,
          "schema": 93,
          "security": 50,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "No incidents in the 90 days to 17 October 2026 on a six-component Better Stack status page, and an OpenAPI 3.1 file with coded errors. The Fetch API only takes the key in the query string.",
        "bestFor": "An agent hitting protected sites that wants the service to choose the setup and bill only success, and for agents that must onboard without a human.",
        "strengths": [
          "No incidents in the 90 days to 17 October 2026 on a six-component Better Stack status page",
          "OpenAPI 3.1 file, about 35 coded errors with fixes, and a twelve-month deprecation policy with Sunset headers",
          "5,000 free credits a month with no card, and a stdio MCP that can provision a free account by itself",
          "Up to 10 keys per account, each with its own credit cap",
          "Every MCP tool carries readOnlyHint and destructiveHint, and the scrape tool says when to use extract instead"
        ],
        "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",
          "52 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",
          "On a 402 with AUTH014, only this key hit its cap. Read X-Key-Credits-Remaining and don't tell the user to buy credits",
          "Set ZENROWS_AUTO_SIGNUP=false in stdio configs so a missing key fails loudly instead of creating an account",
          "Pass `idempotency_key` to `crawl_create` so a retried call returns the same crawl instead of starting and billing a second one"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 78.9
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 80,
          "reliability": 87,
          "schema": 93,
          "security": 50,
          "transparency": 65
        },
        "provenanceScore": 92,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-17",
            "maintenance": "2026-10-17",
            "payments": "2026-10-17",
            "reliability": "2026-10-17",
            "schema": "2026-10-17",
            "security": "2026-10-17",
            "transparency": "2026-10-17"
          },
          "last": "2026-10-17",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-17",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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://www.zenrows.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The privacy policy gives a registered address in Getxo, Bizkaia, Spain, and tax ID B10660298, and the DPA names Zenrows SL with the same number.",
          "www.zenrows.com/.well-known/security.txt redirects to app.zenrows.com, which on 6 October 2026 served a file expiring 2027-10-06 with a Policy link to the information security policy. app.zenrows.com's robots.txt disallows every path, so the file wasn't re-read on 17 October.",
          "The dated changelog is at www.zenrows.com/changelog. The Intercom news page at eu.intercom.news/zenrows stops at 14 July 2026.",
          "The website returns 403 to plain curl without a browser user agent."
        ],
        "score": 92
      },
      "requirements": {
        "agentAlone": true,
        "card": "no",
        "freeTier": true,
        "credential": "api-key",
        "euResidency": "unknown",
        "trainsOnData": "unknown",
        "zeroRetention": "unknown",
        "certifications": [
          "SOC 2 Type II",
          "ISO 27001",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zenrows.json",
      "live": {
        "slug": "zenrows",
        "probe": {
          "target": "https://api.zenrows.com/v1/",
          "method": "get",
          "lastAt": "2026-10-30T13:20:44.065145292Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 351,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 380,
          "p95ms24h": 1300,
          "samples24h": 249,
          "samples30d": 7589,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 139,
              "ok": 139
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zenrows.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-30T12:51:36.676606373Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.ZenRows/zenrows-mcp",
            "version": "2.17.0",
            "seenAt": "2026-10-29T14:35:14.028051545Z"
          },
          {
            "registry": "npm",
            "name": "@zenrows/mcp",
            "version": "2.17.0",
            "seenAt": "2026-10-29T13:52:33.573039867Z"
          },
          {
            "registry": "npm",
            "name": "zenrows",
            "version": "2.5.0",
            "seenAt": "2026-10-29T13:52:35.9008627Z"
          },
          {
            "registry": "pypi",
            "name": "zenrows",
            "version": "1.11.0",
            "released": "2026-10-20",
            "seenAt": "2026-10-29T13:52:36.926812272Z"
          }
        ],
        "npmWeekly": 1751,
        "pypiWeekly": 25938,
        "securityTxt": {
          "url": "https://zenrows.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-29T15:36:43Z",
          "checkedAt": "2026-10-29T15:36:42.361912748Z"
        },
        "llmsTxt": {
          "url": "https://docs.zenrows.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-29T15:06:00.934022296Z"
        },
        "domain": {
          "domain": "zenrows.com",
          "registered": "2020-08-05",
          "source": "https://rdap.verisign.com/com/v1/domain/zenrows.com",
          "checkedAt": "2026-10-25T13:53:50.963272731Z"
        },
        "pages": [
          {
            "url": "https://eu.intercom.news/zenrows",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-16T22:24:02.345281967Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a9b3543b3e4d"
          },
          {
            "url": "https://www.zenrows.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T06:02:57.259874587Z",
            "changedAt": "2026-10-27T04:07:42.794542723Z",
            "fingerprint": "db501e9abfd5"
          },
          {
            "url": "https://www.zenrows.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-30T06:03:03.347271998Z",
            "changedAt": "2026-10-30T06:03:03.347271998Z",
            "fingerprint": "9b31c87dd86f"
          },
          {
            "url": "https://www.zenrows.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T06:02:59.3605119Z",
            "changedAt": "2026-10-27T04:07:44.844845004Z",
            "fingerprint": "f60343d2a429"
          },
          {
            "url": "https://www.zenrows.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T06:03:02.890444611Z",
            "changedAt": "2026-10-27T04:07:46.940493846Z",
            "fingerprint": "37b38df84d2f"
          }
        ],
        "updatedAt": "2026-10-30T13:20:44.065145292Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OD. Media \u0026 Technology LLC",
        "b": "ZenRows",
        "name": "Vendor"
      },
      {
        "a": "https://api.scrapeatlas.com",
        "b": "https://api.zenrows.com/v1/",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "373",
        "b": "52",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.OnlineDopamine/scrapeatlas",
        "b": "io.github.ZenRows/zenrows-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-28",
        "b": "2026-10-17",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2025-07-01",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2024-09-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "21 stars, 35k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.8/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ZenRows scores 78.9 (A) on agent readiness against ScrapeAtlas's 63 (B), and leads in 6 of 7 scored categories. ScrapeAtlas leads on security \u0026 auth.",
        "question": "Which is better for AI agents, ScrapeAtlas or ZenRows?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do ScrapeAtlas and ZenRows need an API key?"
      },
      {
        "answer": "Yes. ScrapeAtlas has a hosted endpoint at https://api.scrapeatlas.com and ZenRows at https://api.zenrows.com/v1/.",
        "question": "Can an agent call ScrapeAtlas and ZenRows without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 55 against 50"
        ],
        "also": null,
        "goodFor": "Agents that need structured public data from a named social, video, forum, marketplace or prediction-market platform, such as a creator's profile and recent posts, a thread's comments, a product's reviews or a market's order book, paid per successful request without a subscription.",
        "slug": "scrapeatlas",
        "watchFor": "No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint"
      },
      {
        "aheadOn": [
          "Reliability, 87 against 42",
          "Schema \u0026 documentation, 93 against 88",
          "Payments \u0026 pricing, 80 against 55",
          "Maintenance \u0026 community, 90 against 70",
          "Transparency \u0026 trust, 79 against 61"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "An agent hitting protected sites that wants the service to choose the setup and bill only success, and for agents that must onboard without a human.",
        "slug": "zenrows",
        "watchFor": "The Fetch API only takes the key in the query string"
      }
    ],
    "job": {
      "capability": "web.extract",
      "name": "Extraction"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-zenrows.json",
        "title": "Apify MCP Server vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-zenrows.json",
        "title": "Bright Data vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-zenrows.json",
        "title": "Context.dev vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-zenrows.json",
        "title": "jevcrawl vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-zenrows.json",
        "title": "Jina Reader vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-zenrows.json",
        "title": "Olostep vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows.json",
        "title": "Oxylabs Web Scraper API vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.json",
        "title": "Scrape.do vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.json",
        "title": "ScrapeGraphAI vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-zenrows.json",
        "title": "Scrapeless vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-zenrows.json",
        "title": "ScraperAPI vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapewise-vs-zenrows.json",
        "title": "Scrapewise vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapewise-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.json",
        "title": "Scrapfly vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.json",
        "title": "ScrapingAnt vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapingant-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingbee-vs-zenrows.json",
        "title": "ScrapingBee vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapingbee-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows.json",
        "title": "Scrapingdog vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/spider-cloud-vs-zenrows.json",
        "title": "Spider vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/spider-cloud-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/zenrows-vs-zyte.json",
        "title": "ZenRows vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/zenrows-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas.json",
        "title": "Context.dev vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.json",
        "title": "Diffbot vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-zenrows.json",
        "title": "Diffbot vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas.json",
        "title": "Firecrawl MCP vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-zenrows.json",
        "title": "Firecrawl MCP vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas.json",
        "title": "jevcrawl vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas.json",
        "title": "Olostep vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas.json",
        "title": "Oxylabs Web Scraper API vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai.json",
        "title": "ScrapeAtlas vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi.json",
        "title": "ScrapeAtlas vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise.json",
        "title": "ScrapeAtlas vs Scrapewise",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.json",
        "title": "ScrapeAtlas vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant.json",
        "title": "ScrapeAtlas vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee.json",
        "title": "ScrapeAtlas vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog.json",
        "title": "ScrapeAtlas vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud.json",
        "title": "ScrapeAtlas vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte.json",
        "title": "ScrapeAtlas vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte"
      }
    ],
    "scores": [
      {
        "by": 45,
        "edge": "zenrows",
        "key": "reliability",
        "name": "Reliability",
        "scrapeatlas": 42,
        "weight": 16,
        "zenrows": 87
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "zenrows",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "scrapeatlas": 88,
        "weight": 13,
        "zenrows": 93
      },
      {
        "by": 3,
        "edge": "zenrows",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "scrapeatlas": 76,
        "weight": 13,
        "zenrows": 79
      },
      {
        "by": 5,
        "edge": "scrapeatlas",
        "key": "security",
        "name": "Security \u0026 auth",
        "scrapeatlas": 55,
        "weight": 14,
        "zenrows": 50
      },
      {
        "by": 25,
        "edge": "zenrows",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "scrapeatlas": 55,
        "weight": 10,
        "zenrows": 80
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "zenrows",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "scrapeatlas": 70,
        "weight": 7,
        "zenrows": 90
      },
      {
        "by": 18,
        "edge": "zenrows",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "scrapeatlas": 61,
        "weight": 7,
        "zenrows": 79
      }
    ],
    "summary": "ZenRows scores 78.9 (A) on agent readiness against ScrapeAtlas's 63 (B), and leads in 6 of 7 scored categories. ScrapeAtlas leads on security \u0026 auth. Both do extraction.",
    "tutorials": [
      {
        "title": "Extract page titles and links with ZenRows",
        "tool": "zenrows",
        "url": "https://www.anchorterminal.com/tutorials/zenrows/"
      }
    ],
    "verdicts": {
      "scrapeatlas": "An OpenAPI 3.1 file with 386 operations, typed parameters and a uniform failure object, published limits of 120 requests a minute and 4 concurrent, and 1 credit per successful request with failed calls free. No status page, security.txt or SDKs, the MCP server is a preview with 373 tools, and the product is five weeks old.",
      "zenrows": "No incidents in the 90 days to 17 October 2026 on a six-component Better Stack status page, and an OpenAPI 3.1 file with coded errors. The Fetch API only takes the key in the query string."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows",
    "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.min.md"
  },
  "markdown": "ZenRows scores 78.9 (A) on agent readiness against ScrapeAtlas's 63 (B), and leads in 6 of 7 scored categories. ScrapeAtlas leads on security \u0026 auth. Both do extraction.\n\n- ScrapeAtlas: grade B, 63/100, rank #481 of 1226. Markdown https://www.anchorterminal.com/tools/scrapeatlas.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json\n- ZenRows: grade A, 78.9/100, rank #13 of 1226. Markdown https://www.anchorterminal.com/tools/zenrows.md · JSON https://www.anchorterminal.com/api/v1/tools/zenrows.json\n- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md\n- All 242 scrapers comparisons: https://www.anchorterminal.com/compare/web-scrapers/index.md\n\n## Which one, for what\n\n### ScrapeAtlas (B)\n\nGood for: Agents that need structured public data from a named social, video, forum, marketplace or prediction-market platform, such as a creator's profile and recent posts, a thread's comments, a product's reviews or a market's order book, paid per successful request without a subscription.\n\nAhead on:\n- Security \u0026 auth, 55 against 50\n\nWatch for: No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint\n\n### ZenRows (A)\n\nGood for: An agent hitting protected sites that wants the service to choose the setup and bill only success, and for agents that must onboard without a human.\n\nAhead on:\n- Reliability, 87 against 42\n- Schema \u0026 documentation, 93 against 88\n- Payments \u0026 pricing, 80 against 55\n- Maintenance \u0026 community, 90 against 70\n- Transparency \u0026 trust, 79 against 61\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: The Fetch API only takes the key in the query string\n\n\n## Score by category\n\n| Category | Weight | ScrapeAtlas | ZenRows | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 87 | ZenRows +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 93 | ZenRows +5 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 79 | ZenRows +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 50 | ScrapeAtlas +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 55 | 80 | ZenRows +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 90 | ZenRows +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 79 | ZenRows +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63 · B** | **78.9 · A** | |\n\n## Facts side by side\n\n| Fact | ScrapeAtlas | ZenRows |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OD. Media \u0026 Technology LLC | ZenRows |\n| Hosted endpoint | `https://api.scrapeatlas.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 | Pay per use | Freemium |\n| x402 | no | payer tooling only |\n| Licence | Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository | none |\n| Tools exposed | 373 | 52 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.OnlineDopamine/scrapeatlas` | `io.github.ZenRows/zenrows-mcp` |\n| Last release | 2026-10-28 | 2026-10-17 |\n| Terms last updated |  | 2025-07-01 |\n| Privacy policy last updated |  | 2024-09-01 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | none | 21 stars, 35k npm/wk |\n| Agent reviews | none | 3.8/5 (8) |\n\n## Verdicts\n\n**ScrapeAtlas.** An OpenAPI 3.1 file with 386 operations, typed parameters and a uniform failure object, published limits of 120 requests a minute and 4 concurrent, and 1 credit per successful request with failed calls free. No status page, security.txt or SDKs, the MCP server is a preview with 373 tools, and the product is five weeks old.\n\n**ZenRows.** No incidents in the 90 days to 17 October 2026 on a six-component Better Stack status page, and an OpenAPI 3.1 file with coded errors. The Fetch API only takes the key in the query string.\n\n## Before you call either\n\n### ScrapeAtlas\n\n1. Send the key as `x-api-key` on https://api.scrapeatlas.com and check `status` on every HTTP 200; `partial` is usable data with `coverage.warnings`, `failed` and `challenged` carry `failure.code`.\n2. Retry only on `upstream_rate_limited`, `timeout` and `busy`, after the `retry-after` on a 429. Stay under 120 requests a minute and 4 concurrent per account.\n3. Pass the returned `cursor` back unchanged for the next page, and use `since` and `until` (ISO 8601 or Unix seconds) where listed; each page costs another credit.\n4. Each platform has its own response schema, so read the endpoint's response fields before mapping; unknown values are `null`, never 0.\n5. For MCP, connect to https://api.scrapeatlas.com/mcp over Streamable HTTP with `Authorization: Bearer` and expect 373 tools; the two account tools and failed calls cost 0 credits.\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. On a 402 with AUTH014, only this key hit its cap. Read X-Key-Credits-Remaining and don't tell the user to buy credits\n5. Set ZENROWS_AUTO_SIGNUP=false in stdio configs so a missing key fails loudly instead of creating an account\n6. Pass `idempotency_key` to `crawl_create` so a retried call returns the same crawl instead of starting and billing a second one\n\n## Tutorials\n\n- [Extract page titles and links with ZenRows](https://www.anchorterminal.com/tutorials/zenrows/), for ZenRows\n\n## Questions\n\n### Which is better for AI agents, ScrapeAtlas or ZenRows?\n\nZenRows scores 78.9 (A) on agent readiness against ScrapeAtlas's 63 (B), and leads in 6 of 7 scored categories. ScrapeAtlas leads on security \u0026 auth.\n\n### Do ScrapeAtlas and ZenRows need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call ScrapeAtlas and ZenRows without installing anything?\n\nYes. ScrapeAtlas has a hosted endpoint at https://api.scrapeatlas.com and ZenRows at https://api.zenrows.com/v1/.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.json, and with the fewest tokens: https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"scrapeatlas\", \"b\": \"zenrows\"}`. From a terminal: `anchor compare scrapeatlas zenrows`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json and https://www.anchorterminal.com/api/v1/tools/zenrows.json\n\n## Other comparisons with ScrapeAtlas or ZenRows\n\n- [Apify MCP Server vs ZenRows](https://www.anchorterminal.com/compare/apify-mcp-vs-zenrows.md)\n- [Bright Data vs ZenRows](https://www.anchorterminal.com/compare/bright-data-vs-zenrows.md)\n- [Context.dev vs ZenRows](https://www.anchorterminal.com/compare/context-dev-vs-zenrows.md)\n- [jevcrawl vs ZenRows](https://www.anchorterminal.com/compare/jevcrawl-vs-zenrows.md)\n- [Jina Reader vs ZenRows](https://www.anchorterminal.com/compare/jina-reader-vs-zenrows.md)\n- [Olostep vs ZenRows](https://www.anchorterminal.com/compare/olostep-vs-zenrows.md)\n- [Oxylabs Web Scraper API vs ZenRows](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zenrows.md)\n- [Scrape.do vs ZenRows](https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.md)\n- [ScrapeGraphAI vs ZenRows](https://www.anchorterminal.com/compare/scrapegraphai-vs-zenrows.md)\n- [Scrapeless vs ZenRows](https://www.anchorterminal.com/compare/scrapeless-vs-zenrows.md)\n- [ScraperAPI vs ZenRows](https://www.anchorterminal.com/compare/scraperapi-vs-zenrows.md)\n- [Scrapewise vs ZenRows](https://www.anchorterminal.com/compare/scrapewise-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- [ZenRows vs Zyte API](https://www.anchorterminal.com/compare/zenrows-vs-zyte.md)\n- [Context.dev vs ScrapeAtlas](https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas.md)\n- [Diffbot vs ScrapeAtlas](https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.md)\n- [Diffbot vs ZenRows](https://www.anchorterminal.com/compare/diffbot-vs-zenrows.md)\n- [Firecrawl MCP vs ScrapeAtlas](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas.md)\n- [Firecrawl MCP vs ZenRows](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-zenrows.md)\n- [jevcrawl vs ScrapeAtlas](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas.md)\n- [Olostep vs ScrapeAtlas](https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas.md)\n- [Oxylabs Web Scraper API vs ScrapeAtlas](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas.md)\n- [ScrapeAtlas vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai.md)\n- [ScrapeAtlas vs ScraperAPI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi.md)\n- [ScrapeAtlas vs Scrapewise](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise.md)\n- [ScrapeAtlas vs Scrapfly](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.md)\n- [ScrapeAtlas vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant.md)\n- [ScrapeAtlas vs ScrapingBee](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee.md)\n- [ScrapeAtlas vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog.md)\n- [ScrapeAtlas vs Spider](https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud.md)\n- [ScrapeAtlas vs Zyte API](https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-30",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ScrapeAtlas vs ZenRows",
        "url": ""
      }
    ],
    "description": "ZenRows scores 78.9 (A) to ScrapeAtlas's 63 (B) for extraction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ScrapeAtlas B 63",
      "ZenRows A 78.9",
      "scores"
    ],
    "h1": "ScrapeAtlas vs ZenRows",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapeatlas-vs-zenrows.png",
    "path": "/compare/scrapeatlas-vs-zenrows",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ScrapeAtlas vs ZenRows for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 780
  },
  "version": 1
}
