{
  "data": {
    "a": {
      "slug": "scrapingdog",
      "name": "Scrapingdog",
      "vendor": "Scrapingdog (OpenData Labs)",
      "vendorUrl": "https://www.scrapingdog.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Web scraping API billed by credits.",
      "url": "https://www.anchorterminal.com/tools/scrapingdog",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingdog.json",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.scrapingdog.com/scrape",
      "packages": [
        {
          "registry": "npm",
          "name": "scrapingdog-mcp"
        },
        {
          "registry": "npm",
          "name": "scrapingdog-sdk"
        },
        {
          "registry": "pypi",
          "name": "scrapingdog"
        }
      ],
      "auth": "api-key",
      "authNotes": "The key goes in the api_key query parameter on every request. The docs show no header option. The MCP server reads SCRAPINGDOG_API_KEY from the environment.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 100 credits with 1 concurrent request, no card (the docs say 200 requests a month). Lite $40 a month (200,000 credits, 5 concurrent), Standard $90 (1M, 50), Pro $200 (3M, 100), Premium $350 (6M, 150), then plans up to $30,000 a month. Annual billing gives 2 months free. A plain request costs 1 credit, JS rendering 5, premium proxy or geotargeting 10, both 25, Google SERP 5 to 10, LinkedIn profiles 10 to 100. Failed requests aren't charged (https://www.scrapingdog.com/pricing/).",
      "priceSummary": "$40 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 mention on the site, docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 41,
        "pypiWeekly": 12,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.scrapingdog.com/documentation/",
      "llmsTxt": "https://www.scrapingdog.com/llms.txt",
      "registryName": "io.github.Darshan972/scrapingdog-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.2,
        "grade": "E",
        "agentReady": false,
        "rank": 810,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-08-01: the vendor-linked MCP server's web_scrape tool describes dynamic as `(API default: false)`, while https://www.scrapingdog.com/documentation/javascript-rendering/ says rendering is on by default at 5 credits. The MCP omits unset parameters, so a model that trusts the description pays 5 times the plain rate (https://github.com/Darshan972/Scrapingdog-mcp, src/endpoints.ts) (-2)."
        ],
        "verdict": "A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.",
        "bestFor": "A budget agent that wants parsed Google, Amazon or LinkedIn results and can keep the key out of logs.",
        "strengths": [
          "A plain request is 1 credit, about $0.20 per 1,000 on Lite",
          "Parsed JSON endpoints for Google, Amazon, LinkedIn, YouTube and more under one key",
          "Terms let you store and redistribute returned data during the subscription, and the privacy policy says API calls aren't stored or logged",
          "Failed requests aren't charged, and a public SLA page compensates downtime in credits",
          "Concurrency per plan is published, from 1 up to 2,200"
        ],
        "weaknesses": [
          "API key only travels in the URL query string",
          "Rendering defaults on at 5 credits, and the MCP's web_scrape description says the default is off",
          "MCP server published 2026-08-01 from a personal account, with 35 tools, no CI, no tags and no release since",
          "No changelog, security.txt or prompt-injection guidance",
          "The free allowance differs between pricing (100 credits) and docs (200 a month)"
        ],
        "agentNotes": [
          "Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says",
          "Keep request URLs out of logs, since they carry api_key",
          "Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed",
          "Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.2
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 37
        },
        "provenanceScore": 72
      },
      "connect": {
        "http": "curl \"https://api.scrapingdog.com/scrape?api_key=$SCRAPINGDOG_API_KEY\u0026url=https://example.com\u0026dynamic=false\"",
        "claudeCode": "claude mcp add scrapingdog -e SCRAPINGDOG_API_KEY=$SCRAPINGDOG_API_KEY -- npx -y scrapingdog-mcp",
        "config": {
          "mcpServers": {
            "scrapingdog": {
              "args": [
                "-y",
                "scrapingdog-mcp"
              ],
              "command": "npx",
              "env": {
                "SCRAPINGDOG_API_KEY": "${SCRAPINGDOG_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingdog"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Lite plan",
          "unit": "month",
          "usd": 40,
          "note": "200,000 credits, 5 concurrent"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 90,
          "note": "1,000,000 credits, 50 concurrent"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 200,
          "note": "3,000,000 credits, 100 concurrent"
        },
        {
          "item": "Plain request on Lite",
          "unit": "1k-requests",
          "usd": 0.2,
          "note": "1 credit each, dynamic=false"
        },
        {
          "item": "JS-rendered request on Lite",
          "unit": "1k-requests",
          "usd": 1,
          "note": "5 credits each, the default"
        }
      ],
      "provenance": {
        "legalEntity": "OpenData Labs Private Limited",
        "domain": "scrapingdog.com",
        "domainRegistered": "2020-04-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.scrapingdog.com/terms/",
        "privacy": "https://www.scrapingdog.com/privacy/",
        "statusPage": "https://stats.uptimerobot.com/SAQkQwbOYj",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Legal entity from the site footer. The terms are governed by the laws of Rajasthan, India.",
          "The status page is a hosted UptimeRobot page linked from the footer."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingdog.json",
      "live": {
        "slug": "scrapingdog",
        "probe": {
          "target": "https://api.scrapingdog.com/scrape",
          "method": "get",
          "lastAt": "2026-10-09T10:42:55.874324643Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 154,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 132,
          "p95ms24h": 276,
          "samples24h": 260,
          "samples30d": 2300,
          "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": 271
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/SAQkQwbOYj",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:30.944163849Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.Darshan972/scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-08T16:28:37.661350393Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-sdk",
            "version": "1.0.1",
            "seenAt": "2026-10-08T16:28:38.592029992Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingdog",
            "version": "1.1.0",
            "released": "2026-07-31",
            "seenAt": "2026-10-08T16:28:39.986646502Z"
          }
        ],
        "npmWeekly": 52,
        "pypiWeekly": 12,
        "securityTxt": {
          "url": "https://scrapingdog.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:31.709845728Z"
        },
        "llmsTxt": {
          "url": "https://www.scrapingdog.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:51.929951308Z"
        },
        "domain": {
          "domain": "scrapingdog.com",
          "registered": "2020-04-04",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingdog.com",
          "checkedAt": "2026-10-04T13:06:10.743416145Z"
        },
        "pages": [
          {
            "url": "https://www.scrapingdog.com/terms/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-08T18:30:21.439094992Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2305ca79c5e0"
          },
          {
            "url": "https://www.scrapingdog.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:30:17.418583652Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d279976db89"
          },
          {
            "url": "https://www.scrapingdog.com/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:30:19.437865513Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd229180f12f"
          }
        ],
        "updatedAt": "2026-10-09T10:42:55.874324643Z"
      }
    },
    "answer": "Zyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "zyte",
      "name": "Zyte API",
      "vendor": "Zyte Group Limited",
      "vendorUrl": "https://www.zyte.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Zyte API is a hosted web scraping API from Zyte Group Limited of Cork, Ireland. One endpoint returns a page's HTTP body, browser-rendered HTML, a screenshot or extracted structured data, with ban avoidance handled by the service.",
      "url": "https://www.anchorterminal.com/tools/zyte",
      "markdownUrl": "https://www.anchorterminal.com/tools/zyte.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zyte.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zyte.json",
      "repo": "https://github.com/zytedata/python-zyte-api",
      "license": "Proprietary service under Zyte's terms of service. The Python client is BSD 3-Clause, and the Agentic Web Data plugin is under Zyte's own end-user licence",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.zyte.com/v1/extract",
      "packages": [
        {
          "registry": "pypi",
          "name": "zyte-api"
        },
        {
          "registry": "pypi",
          "name": "scrapy-zyte-api"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key from the Zyte dashboard, sent as the HTTP Basic username with an empty password. An organisation can hold several keys, and an owner can put a blocking spending limit on each. The Stats API takes a separate dashboard key. Zyte MCP signs in with OAuth (scope `zapi:read` in its metadata) and then calls the API with a dedicated key, `mcp_access_key`. CDP browser sessions need a paid plan or spending limit and business verification.",
      "pricing": "usage",
      "pricingNotes": "$5 free credit for the first billing month on signup, with no card per the site, so an agent's owner can start without a contract. After that, pay-as-you-go from $0.13 to $1.27 per 1,000 successful HTTP requests and $1.01 to $16.08 per 1,000 browser requests, by the target site's tier (1 to 5). Screenshots add $1.34 per 1,000 and automatic extraction $0.27 to $1.07 per 1,000. Monthly commitments of $100 to $500 take 25 to 52 per cent off. Failed, banned and rate-limited requests are free (https://www.zyte.com/pricing/, https://docs.zyte.com/zyte-api/pricing.md).",
      "priceSummary": "$0.13 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "The official Python client documents x402 payment with an Ethereum key against `https://api-x402.zyte.com/v1/` (`python-zyte-api`, `docs/use/x402.rst`, since 0.8.0 of 7 August 2025). One unauthenticated POST to `/v1/extract` on that host on 2026-10-09 returned 401 `/auth/not-valid` with `WWW-Authenticate: Basic` and no 402 challenge. docs.zyte.com and the pricing page don't mention x402 (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 34,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 41866,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.zyte.com/zyte-api/get-started.html",
      "llmsTxt": "https://docs.zyte.com/llms.txt",
      "openapi": "https://docs.zyte.com/zyte-api/usage/reference.md",
      "capabilities": [
        "web.scrape",
        "scraping.anti-bot",
        "scraping.js-render",
        "scraping.proxies",
        "web.extract",
        "scraping.screenshot",
        "browser.hosted",
        "search.serp"
      ],
      "tags": [
        "hosted",
        "usage-based",
        "free-trial",
        "no-card",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "proxies",
        "python",
        "status-page",
        "iso-27001",
        "closed-source"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.7,
        "grade": "B",
        "agentReady": false,
        "rank": 166,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 40,
          "reliability": 85,
          "schema": 85,
          "security": 55,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "One POST endpoint with an OpenAPI 3 contract picks proxies, browser rendering and extraction per site, bills only successful responses, and sends problem+json errors with Retry-After. Prices vary by target site across five tiers, so cost per request isn't known before the site is assigned one, and no dated API changelog was found.",
        "bestFor": "An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.",
        "strengths": [
          "OpenAPI 3.0.3 contract for `/v1/extract` printed in the reference, with 51 enums and request examples, plus llms.txt and Markdown twins of the docs pages",
          "Only successful responses are billed. Rate-limited, banned and failed requests are free, per the pricing page and the terms",
          "429, 503 and 520 responses carry `Retry-After`, and the docs publish a backoff table for each retry",
          "Blocking spend limits can be set per API key, and the MCP server uses its own key, `mcp_access_key`, signed in over OAuth",
          "Status page with ten components and incident history, ISO 27001 certification and a list of 36 sub-processors with addresses"
        ],
        "weaknesses": [
          "Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go",
          "No dated changelog or deprecation policy for the API was found in the 150-page docs sitemap, and the terms allow changes with or without notice",
          "The terms let Zyte use Service Data, data feeds and code from the services for product development and product training",
          "The official client documents x402 at `api-x402.zyte.com`, but our one unauthenticated request there on 9 October 2026 got 401 and no payment challenge",
          "Zyte MCP lists 34 tools, 26 of them for Scrapy Cloud, and some delete schedules and collections with no undo",
          "No security.txt, no paid bug bounty, and one official client language (Python)"
        ],
        "agentNotes": [
          "Send the API key as the Basic auth username with an empty password to `https://api.zyte.com/v1/extract`. Set only one of `httpResponseBody` or `browserHtml`, or one extraction field",
          "Ask for `httpResponseBody` before `browserHtml`. Browser requests cost about eight to thirteen times more per tier",
          "Retry 429, 503 and 520 after the `Retry-After` seconds, with backoff. They aren't billed. Don't retry 400, 401, 422 or 451",
          "Read `statusCode` in a 200 response. A target site's 404 comes back as a successful, billed Zyte API response",
          "Have the owner set a blocking spending limit on the key you use. A 403 `/auth/account-suspended` means the limit or the trial month ended"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.7
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 40,
          "reliability": 85,
          "schema": 85,
          "security": 55,
          "transparency": 58
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "pip install zyte-api",
        "http": "curl \\\n    --user YOUR_ZYTE_API_KEY: \\\n    --header 'Content-Type: application/json' \\\n    --data '{\"url\": \"https://toscrape.com\", \"httpResponseBody\": true}' \\\n    --compressed \\\n    https://api.zyte.com/v1/extract",
        "claudeCode": "claude mcp add --transport http zyte https://mcp.zyte.com/v1/mcp",
        "config": {
          "mcpServers": {
            "zyte": {
              "type": "http",
              "url": "https://mcp.zyte.com/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/zyte"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "HTTP request, tier 1 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 0.13,
          "note": "Tiers 2 to 5 cost $0.23, $0.44, $0.70 and $1.27"
        },
        {
          "item": "HTTP request, tier 5 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 1.27,
          "note": "Only successful responses are billed"
        },
        {
          "item": "Browser request, tier 1 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 1.01,
          "note": "Tiers 2 to 5 cost $2.01, $4.02, $8.04 and $16.08"
        },
        {
          "item": "Browser request, tier 5 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 16.08,
          "note": "Actions and network capture cost extra"
        },
        {
          "item": "Screenshot, added to a browser request",
          "unit": "1k-requests",
          "usd": 1.34,
          "note": "Pay-as-you-go price"
        },
        {
          "item": "HTTP request, tier 1 site, $500 commitment",
          "unit": "1k-requests",
          "usd": 0.06,
          "note": "52 per cent volume discount"
        }
      ],
      "provenance": {
        "legalEntity": "Zyte Group Limited",
        "domain": "zyte.com",
        "domainRegistered": "1999-02-22",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zyte.com/terms-policies/terms-of-service/",
        "privacy": "https://www.zyte.com/terms-policies/privacy-policy/",
        "statusPage": "https://status.zyte.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of service (last updated 22 September 2026) define Zyte as Zyte Group Limited, an Irish company, number 492771, with a notice address at 12 South Mall, Cork. They contain a Zyte API Terms section, so they govern the API.",
          "The privacy policy is dated 30 August 2024 and covers the websites and the services. It says it does not apply to personal data a customer collects with the services.",
          "www.zyte.com/.well-known/security.txt returned 404. Reports go through the responsible disclosure programme page, which pays no rewards.",
          "No dated changelog for the API was found. The Python client and the agent plugin each keep one in their repository.",
          "RDAP at Verisign gives a registration date of 1999-02-22 for zyte.com.",
          "The API answers at api.zyte.com and the MCP server at mcp.zyte.com. Its OAuth metadata names auth.app.zyte.com as the authorisation server."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zyte.json",
      "live": {
        "slug": "zyte",
        "probe": {
          "target": "https://api.zyte.com/v1/extract",
          "method": "get",
          "lastAt": "2026-10-09T10:43:03.393844584Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 374,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 349,
          "p95ms24h": 444,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zyte.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:42:10.983465761Z"
        },
        "updatedAt": "2026-10-09T10:43:03.393844584Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Scrapingdog (OpenData Labs)",
        "b": "Zyte Group Limited",
        "name": "Vendor"
      },
      {
        "a": "https://api.scrapingdog.com/scrape",
        "b": "https://api.zyte.com/v1/extract",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under Zyte's terms of service. The Python client is BSD 3-Clause, and the Agentic Web Data plugin is under Zyte's own end-user licence",
        "name": "Licence"
      },
      {
        "a": "35",
        "b": "34",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.Darshan972/scrapingdog-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-07-31",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "2026-01-13",
        "b": "2026-09-22",
        "name": "Terms last updated"
      },
      {
        "a": "2025-07-17",
        "b": "2024-08-30",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars, 41 npm/wk, 12 PyPI/wk",
        "b": "42k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Scrapingdog or Zyte API?"
      },
      {
        "answer": "Scrapingdog needs an API key. Zyte API takes an API key or an OAuth sign-in.",
        "question": "Do Scrapingdog and Zyte API need an API key?"
      },
      {
        "answer": "Yes. Scrapingdog has a hosted endpoint at https://api.scrapingdog.com/scrape and Zyte API at https://api.zyte.com/v1/extract.",
        "question": "Can an agent call Scrapingdog and Zyte API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A budget agent that wants parsed Google, Amazon or LinkedIn results and can keep the key out of logs.",
        "slug": "scrapingdog",
        "watchFor": "API key only travels in the URL query string"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 62",
          "Schema \u0026 documentation, 85 against 43",
          "Agent ergonomics, 72 against 44",
          "Security \u0026 auth, 55 against 5",
          "Maintenance \u0026 community, 77 against 45",
          "Transparency \u0026 trust, 66 against 55"
        ],
        "also": null,
        "goodFor": "An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.",
        "slug": "zyte",
        "watchFor": "Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go"
      }
    ],
    "job": {
      "capability": "web.scrape",
      "name": "Scraping"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingdog.json",
        "title": "Firecrawl MCP vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog.json",
        "title": "Bright Data vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-zyte.json",
        "title": "Bright Data vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog.json",
        "title": "Jina Reader vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-zyte.json",
        "title": "Jina Reader vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.json",
        "title": "Olostep vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-zyte.json",
        "title": "Olostep vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog.json",
        "title": "Oxylabs Web Scraper API vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte.json",
        "title": "Oxylabs Web Scraper API vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog.json",
        "title": "Scrape.do vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-zyte.json",
        "title": "Scrape.do vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog.json",
        "title": "ScrapeGraphAI vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zyte.json",
        "title": "ScrapeGraphAI vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapingdog.json",
        "title": "Scrapeless vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-zyte.json",
        "title": "Scrapeless vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.json",
        "title": "Scrapfly vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-zyte.json",
        "title": "Scrapfly vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.json",
        "title": "ScrapingAnt vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingant-vs-zyte.json",
        "title": "ScrapingAnt vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapingant-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog.json",
        "title": "ScrapingBee vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingbee-vs-zyte.json",
        "title": "ScrapingBee vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapingbee-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapingdog-vs-spider-cloud.json",
        "title": "Scrapingdog vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrapingdog-vs-spider-cloud"
      },
      {
        "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-zyte.json",
        "title": "Spider vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/spider-cloud-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/zenrows-vs-zyte.json",
        "title": "ZenRows vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/zenrows-vs-zyte"
      }
    ],
    "scores": [
      {
        "by": 23,
        "edge": "zyte",
        "key": "reliability",
        "name": "Reliability",
        "scrapingdog": 62,
        "weight": 16,
        "zyte": 85
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "zyte",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "scrapingdog": 43,
        "weight": 13,
        "zyte": 85
      },
      {
        "by": 28,
        "edge": "zyte",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "scrapingdog": 44,
        "weight": 13,
        "zyte": 72
      },
      {
        "by": 50,
        "edge": "zyte",
        "key": "security",
        "name": "Security \u0026 auth",
        "scrapingdog": 5,
        "weight": 14,
        "zyte": 55
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "scrapingdog": 40,
        "weight": 10,
        "zyte": 40
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "zyte",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "scrapingdog": 45,
        "weight": 7,
        "zyte": 77
      },
      {
        "by": 11,
        "edge": "zyte",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "scrapingdog": 55,
        "weight": 7,
        "zyte": 66
      }
    ],
    "summary": "Zyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories. Both do scraping.",
    "verdicts": {
      "scrapingdog": "A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.",
      "zyte": "One POST endpoint with an OpenAPI 3 contract picks proxies, browser rendering and extraction per site, bills only successful responses, and sends problem+json errors with Retry-After. Prices vary by target site across five tiers, so cost per request isn't known before the site is assigned one, and no dated API changelog was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte",
    "json": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.md",
    "slim": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.min.md"
  },
  "markdown": "Zyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories. Both do scraping.\n\n- Scrapingdog: grade E, 39.2/100, rank #810 of 842. Markdown https://www.anchorterminal.com/tools/scrapingdog.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingdog.json\n- Zyte API: grade B, 69.7/100, rank #166 of 842. Markdown https://www.anchorterminal.com/tools/zyte.md · JSON https://www.anchorterminal.com/api/v1/tools/zyte.json\n\n## Which one, for what\n\n### Scrapingdog (E)\n\nGood for: A budget agent that wants parsed Google, Amazon or LinkedIn results and can keep the key out of logs.\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: API key only travels in the URL query string\n\n### Zyte API (B)\n\nGood for: An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.\n\nAhead on:\n- Reliability, 85 against 62\n- Schema \u0026 documentation, 85 against 43\n- Agent ergonomics, 72 against 44\n- Security \u0026 auth, 55 against 5\n- Maintenance \u0026 community, 77 against 45\n- Transparency \u0026 trust, 66 against 55\n\nWatch for: Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go\n\n\n## Score by category\n\n| Category | Weight | Scrapingdog | Zyte API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 85 | Zyte API +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 43 | 85 | Zyte API +42 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 72 | Zyte API +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 5 | 55 | Zyte API +50 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 45 | 77 | Zyte API +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 66 | Zyte API +11 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **39.2 · E** | **69.7 · B** | |\n\n## Facts side by side\n\n| Fact | Scrapingdog | Zyte API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Scrapingdog (OpenData Labs) | Zyte Group Limited |\n| Hosted endpoint | `https://api.scrapingdog.com/scrape` | `https://api.zyte.com/v1/extract` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary service under Zyte's terms of service. The Python client is BSD 3-Clause, and the Agentic Web Data plugin is under Zyte's own end-user licence |\n| Tools exposed | 35 | 34 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.Darshan972/scrapingdog-mcp` | not listed |\n| Last release | 2026-07-31 | 2026-10-05 |\n| Terms last updated | 2026-01-13 | 2026-09-22 |\n| Privacy policy last updated | 2025-07-17 | 2024-08-30 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 0 stars, 41 npm/wk, 12 PyPI/wk | 42k PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Scrapingdog.** A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.\n\n**Zyte API.** One POST endpoint with an OpenAPI 3 contract picks proxies, browser rendering and extraction per site, bills only successful responses, and sends problem+json errors with Retry-After. Prices vary by target site across five tiers, so cost per request isn't known before the site is assigned one, and no dated API changelog was found.\n\n## Before you call either\n\n### Scrapingdog\n\n1. Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says\n2. Keep request URLs out of logs, since they carry api_key\n3. Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed\n4. Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists\n\n### Zyte API\n\n1. Send the API key as the Basic auth username with an empty password to `https://api.zyte.com/v1/extract`. Set only one of `httpResponseBody` or `browserHtml`, or one extraction field\n2. Ask for `httpResponseBody` before `browserHtml`. Browser requests cost about eight to thirteen times more per tier\n3. Retry 429, 503 and 520 after the `Retry-After` seconds, with backoff. They aren't billed. Don't retry 400, 401, 422 or 451\n4. Read `statusCode` in a 200 response. A target site's 404 comes back as a successful, billed Zyte API response\n5. Have the owner set a blocking spending limit on the key you use. A 403 `/auth/account-suspended` means the limit or the trial month ended\n\n## Questions\n\n### Which is better for AI agents, Scrapingdog or Zyte API?\n\nZyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories.\n\n### Do Scrapingdog and Zyte API need an API key?\n\nScrapingdog needs an API key. Zyte API takes an API key or an OAuth sign-in.\n\n### Can an agent call Scrapingdog and Zyte API without installing anything?\n\nYes. Scrapingdog has a hosted endpoint at https://api.scrapingdog.com/scrape and Zyte API at https://api.zyte.com/v1/extract.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.json, and with the fewest tokens: https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"scrapingdog\", \"b\": \"zyte\"}`. From a terminal: `anchor compare scrapingdog zyte`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/scrapingdog.json and https://www.anchorterminal.com/api/v1/tools/zyte.json\n\n## Other comparisons with Scrapingdog or Zyte API\n\n- [Firecrawl MCP vs Scrapingdog](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingdog.md)\n- [Bright Data vs Scrapingdog](https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog.md)\n- [Bright Data vs Zyte API](https://www.anchorterminal.com/compare/bright-data-vs-zyte.md)\n- [Jina Reader vs Scrapingdog](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog.md)\n- [Jina Reader vs Zyte API](https://www.anchorterminal.com/compare/jina-reader-vs-zyte.md)\n- [Olostep vs Scrapingdog](https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.md)\n- [Olostep vs Zyte API](https://www.anchorterminal.com/compare/olostep-vs-zyte.md)\n- [Oxylabs Web Scraper API vs Scrapingdog](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapingdog.md)\n- [Oxylabs Web Scraper API vs Zyte API](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte.md)\n- [Scrape.do vs Scrapingdog](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog.md)\n- [Scrape.do vs Zyte API](https://www.anchorterminal.com/compare/scrape-do-vs-zyte.md)\n- [ScrapeGraphAI vs Scrapingdog](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog.md)\n- [ScrapeGraphAI vs Zyte API](https://www.anchorterminal.com/compare/scrapegraphai-vs-zyte.md)\n- [Scrapeless vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingdog.md)\n- [Scrapeless vs Zyte API](https://www.anchorterminal.com/compare/scrapeless-vs-zyte.md)\n- [Scrapfly vs Scrapingdog](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.md)\n- [Scrapfly vs Zyte API](https://www.anchorterminal.com/compare/scrapfly-vs-zyte.md)\n- [ScrapingAnt vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.md)\n- [ScrapingAnt vs Zyte API](https://www.anchorterminal.com/compare/scrapingant-vs-zyte.md)\n- [ScrapingBee vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog.md)\n- [ScrapingBee vs Zyte API](https://www.anchorterminal.com/compare/scrapingbee-vs-zyte.md)\n- [Scrapingdog vs Spider](https://www.anchorterminal.com/compare/scrapingdog-vs-spider-cloud.md)\n- [Scrapingdog vs ZenRows](https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows.md)\n- [Spider vs Zyte API](https://www.anchorterminal.com/compare/spider-cloud-vs-zyte.md)\n- [ZenRows vs Zyte API](https://www.anchorterminal.com/compare/zenrows-vs-zyte.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Scrapingdog vs Zyte API",
        "url": ""
      }
    ],
    "description": "Zyte API scores 69.7 (B) on agent readiness against Scrapingdog's 39.2 (E), and leads in 6 of 7 scored categories. Both do scraping. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Scrapingdog E 39.2",
      "Zyte API B 69.7",
      "scores"
    ],
    "h1": "Scrapingdog vs Zyte API",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapingdog-vs-zyte.png",
    "path": "/compare/scrapingdog-vs-zyte",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Scrapingdog vs Zyte API for AI agents, E 39.2 vs B 69.7",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 680
  },
  "version": 1
}
