{
  "data": {
    "a": {
      "slug": "jevcrawl",
      "name": "jevcrawl",
      "vendor": "Rayen Mlayeh",
      "vendorUrl": "https://github.com/RayenMlayeh",
      "kind": "mcp",
      "category": "web-scrapers",
      "summary": "jevcrawl is an open-source MCP server and CLI that crawls a website toward a question and returns only the relevant passages, verbatim with source URLs. TypeSafe's hosted Jev decision model scores the pages, passages and links.",
      "url": "https://www.anchorterminal.com/tools/jevcrawl",
      "markdownUrl": "https://www.anchorterminal.com/tools/jevcrawl.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jevcrawl.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jevcrawl.json",
      "repo": "https://github.com/RayenMlayeh/jevcrawl",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "jevcrawl"
        }
      ],
      "auth": "api-key",
      "authNotes": "A TypeSafe API key in the `TYPESAFE_API_KEY` environment variable, created at console.typesafe.ai, is needed for `crawl`, `map` and `scrape` with a goal. `scrape` without a goal makes no Jev call and works with no key. The README says the key is never written to disk or logs.",
      "pricing": "usage",
      "pricingNotes": "The package is free under Apache-2.0. Decisions are billed by TypeSafe for Jev at $0.042 per million input tokens, with output tokens free. The README gives an average of $0.011 per crawl in its benchmark, and `max_decision_usd` (default $0.05) caps each call. We found no free Jev tier.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source or README (checked 2026-10-15). Jev is paid through a TypeSafe account and key.",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 60,
        "npmWeekly": null,
        "pypiWeekly": 204,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://github.com/RayenMlayeh/jevcrawl#readme",
      "capabilities": [
        "web.crawl",
        "web.extract",
        "web.scrape",
        "scraping.js-render"
      ],
      "tags": [
        "open-source",
        "local",
        "apache-2.0",
        "python",
        "mcp",
        "cli",
        "agent-skill",
        "usage-priced",
        "alpha"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.7,
        "grade": "B",
        "agentReady": false,
        "rank": 409,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 68,
          "payments": 30,
          "reliability": 68,
          "schema": 81,
          "security": 59,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-15"
        },
        "negative": 0,
        "verdict": "Three compact, typed MCP tools return verbatim passages with source URLs, cost and stop reasons, and errors arrive as codes with instructions. The project is three days old and alpha, it depends on TypeSafe's paid Jev API, which is in early access with no free tier found, and it does not block crawls of private or local addresses.",
        "bestFor": "An agent that must find one answer several clicks deep on a documentation or help site and wants a few thousand tokens back instead of whole pages.",
        "strengths": [
          "Three tools with typed inputs, sensible defaults and descriptions that say when to use `crawl`, `scrape` or `map`",
          "Every result reports pages fetched, tokens, Jev cost in dollars and why the crawl stopped, with a hard per-call spending cap",
          "Returned text is copied from the page with URL, heading path, character offsets and a page hash, so quotes can be checked",
          "174 offline tests, ruff and mypy strict pass in CI on Python 3.11 and 3.13, with PyPI trusted publishing",
          "Follows robots.txt by default since v0.1.1, and SECURITY.md sets out private reporting with a one-week answer"
        ],
        "weaknesses": [
          "First released on 13 October 2026, version 0.2.0 and marked alpha, with one maintainer",
          "`crawl` and `map` need a paid TypeSafe key, and TypeSafe describes Jev as early access with no free tier found",
          "Page text from every crawl goes to TypeSafe, whose policies give no retention period",
          "No check against private, loopback or link-local addresses, so an agent can point it at internal hosts",
          "No MCP tool annotations, no llms.txt and no entry in the official MCP registry"
        ],
        "agentNotes": [
          "Phrase `goal` as one specific question and start with `max_pages` between 10 and 30",
          "Check `stats.stopped_because` and `stats.degraded`, and read `uncertain` before reporting that something is missing",
          "Use `scrape` without a goal when you need a whole page, since it makes no paid Jev call and needs no key",
          "Handle `{\"error\": code, \"message\": ...}` results, for example `auth_error` means `TYPESAFE_API_KEY` is missing or rejected",
          "Pages in `stats.needs_js_urls` were not read. Tell the user rather than guessing their content"
        ],
        "metrics": {
          "kind": "local",
          "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": 63.7
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 68,
          "payments": 30,
          "reliability": 68,
          "schema": 81,
          "security": 59,
          "transparency": 63
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "uv tool install jevcrawl",
        "claudeCode": "claude mcp add jevcrawl -e TYPESAFE_API_KEY=\u003cyour key\u003e -- uvx jevcrawl",
        "config": {
          "mcpServers": {
            "jevcrawl": {
              "args": [
                "jevcrawl"
              ],
              "command": "uvx",
              "env": {
                "TYPESAFE_API_KEY": "\u003cyour key\u003e"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.crawl",
        "tool": "https://letme.dev/jevcrawl"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Jev 1.13 input tokens, billed by TypeSafe",
          "unit": "1m-tokens",
          "usd": 0.042,
          "note": "Output tokens free. The package itself is free"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "github.com/RayenMlayeh",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/RayenMlayeh/jevcrawl/releases",
        "securityTxt": "none",
        "checked": "2026-10-15",
        "notes": [
          "An individual's open-source project under Apache-2.0. pyproject.toml names Rayen Mlayeh as author, and the GitHub profile names no company or website.",
          "No vendor domain. The domain line names the GitHub account and scores no domain age.",
          "Software the owner runs, so there are no service terms or privacy policy of its own. Page text goes to TypeSafe AI, Inc. under TypeSafe's customer agreement and privacy policy (see the typesafe-jev listing).",
          "The repository has a SECURITY.md that points to GitHub private vulnerability reporting. No website, so no security.txt.",
          "The changelog is the GitHub release notes. v0.1.0's notes are only a link to the commit list."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jevcrawl.json"
    },
    "answer": "Zyte API scores 69.7 (B) on agent readiness against jevcrawl's 63.7 (B), and leads in 5 of 7 scored categories. jevcrawl leads on agent ergonomics.",
    "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": 184,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 6,
        "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-15T11:30:19.063911213Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 354,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 350,
          "p95ms24h": 413,
          "samples24h": 254,
          "samples30d": 1530,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 169
            },
            {
              "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": 123,
              "ok": 123
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zyte.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-15T11:32:38.238651644Z"
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "scrapy-zyte-api",
            "version": "0.36.0",
            "released": "2026-08-20",
            "seenAt": "2026-10-15T00:32:21.431334977Z"
          },
          {
            "registry": "pypi",
            "name": "zyte-api",
            "version": "0.11.0",
            "released": "2026-07-23",
            "seenAt": "2026-10-15T00:32:21.241851238Z"
          }
        ],
        "githubStars": 30,
        "pypiWeekly": 56654,
        "securityTxt": {
          "url": "https://zyte.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:47:49.111928924Z"
        },
        "llmsTxt": {
          "url": "https://docs.zyte.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:15:29.526130508Z"
        },
        "domain": {
          "domain": "zyte.com",
          "registered": "1999-02-22",
          "source": "https://rdap.verisign.com/com/v1/domain/zyte.com",
          "checkedAt": "2026-10-11T13:12:02.699007684Z"
        },
        "pages": [
          {
            "url": "https://docs.zyte.com/zyte-api/pricing.md",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-14T21:00:01.654237536Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5864dd4dc492"
          },
          {
            "url": "https://www.zyte.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:19:32.594106952Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d8f74b8aaa20"
          },
          {
            "url": "https://www.zyte.com/terms-policies/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:19:35.173570583Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eedc33ef77a7"
          },
          {
            "url": "https://www.zyte.com/terms-policies/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:19:37.164039853Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ec0a2dae6702"
          }
        ],
        "updatedAt": "2026-10-15T11:32:38.238651644Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Rayen Mlayeh",
        "b": "Zyte Group Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.zyte.com/v1/extract",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "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": "3",
        "b": "34",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-15",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-09-22",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2024-08-30",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "60 stars, 204 PyPI/wk",
        "b": "42k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Zyte API scores 69.7 (B) on agent readiness against jevcrawl's 63.7 (B), and leads in 5 of 7 scored categories. jevcrawl leads on agent ergonomics.",
        "question": "Which is better for AI agents, jevcrawl or Zyte API?"
      },
      {
        "answer": "jevcrawl needs an API key. Zyte API takes an API key or an OAuth sign-in.",
        "question": "Do jevcrawl and Zyte API need an API key?"
      },
      {
        "answer": "jevcrawl runs on your own machine, with no hosted endpoint listed. Zyte API has a hosted endpoint at https://api.zyte.com/v1/extract.",
        "question": "Can an agent call jevcrawl and Zyte API without installing anything?"
      },
      {
        "answer": "jevcrawl is open source (Apache-2.0). No open-source release is listed for Zyte API.",
        "question": "Are jevcrawl and Zyte API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 80 against 72"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "An agent that must find one answer several clicks deep on a documentation or help site and wants a few thousand tokens back instead of whole pages.",
        "slug": "jevcrawl",
        "watchFor": "First released on 13 October 2026, version 0.2.0 and marked alpha, with one maintainer"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 68",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 77 against 68",
          "Transparency \u0026 trust, 66 against 45"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "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/apify-mcp-vs-zyte.json",
        "title": "Apify MCP Server vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-jevcrawl.json",
        "title": "Bright Data vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-jevcrawl"
      },
      {
        "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/context-dev-vs-jevcrawl.json",
        "title": "Context.dev vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-jevcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-zyte.json",
        "title": "Context.dev vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-jina-reader.json",
        "title": "jevcrawl vs Jina Reader",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-jina-reader"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-oxylabs-web-scraper.json",
        "title": "jevcrawl vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.json",
        "title": "jevcrawl vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingant.json",
        "title": "jevcrawl vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingbee.json",
        "title": "jevcrawl vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingdog.json",
        "title": "jevcrawl vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingdog"
      },
      {
        "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-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-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-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-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-zyte.json",
        "title": "ScrapeGraphAI vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-zyte"
      },
      {
        "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/scraperapi-vs-zyte.json",
        "title": "ScraperAPI vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-zyte"
      },
      {
        "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-zyte.json",
        "title": "ScrapingAnt vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapingant-vs-zyte"
      },
      {
        "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-zyte.json",
        "title": "Scrapingdog vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapingdog-vs-zyte"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-jevcrawl.json",
        "title": "Apify MCP Server vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-jevcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-jevcrawl.json",
        "title": "Firecrawl MCP vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-jevcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-olostep.json",
        "title": "jevcrawl vs Olostep",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-olostep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapegraphai.json",
        "title": "jevcrawl vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeless.json",
        "title": "jevcrawl vs Scrapeless",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scraperapi.json",
        "title": "jevcrawl vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly.json",
        "title": "jevcrawl vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-spider-cloud.json",
        "title": "jevcrawl vs Spider",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl.json",
        "title": "Diffbot vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-zyte.json",
        "title": "Diffbot vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-zyte"
      }
    ],
    "scores": [
      {
        "by": 17,
        "edge": "zyte",
        "jevcrawl": 68,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zyte": 85
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "zyte",
        "jevcrawl": 81,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zyte": 85
      },
      {
        "by": 8,
        "edge": "jevcrawl",
        "jevcrawl": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zyte": 72
      },
      {
        "by": 4,
        "edge": "jevcrawl",
        "jevcrawl": 59,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zyte": 55
      },
      {
        "by": 10,
        "edge": "zyte",
        "jevcrawl": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zyte": 40
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "zyte",
        "jevcrawl": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zyte": 77
      },
      {
        "by": 21,
        "edge": "zyte",
        "jevcrawl": 45,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zyte": 66
      }
    ],
    "summary": "Zyte API scores 69.7 (B) on agent readiness against jevcrawl's 63.7 (B), and leads in 5 of 7 scored categories. jevcrawl leads on agent ergonomics. Both do scraping.",
    "verdicts": {
      "jevcrawl": "Three compact, typed MCP tools return verbatim passages with source URLs, cost and stop reasons, and errors arrive as codes with instructions. The project is three days old and alpha, it depends on TypeSafe's paid Jev API, which is in early access with no free tier found, and it does not block crawls of private or local addresses.",
      "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/jevcrawl-vs-zyte",
    "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.md",
    "slim": "https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.min.md"
  },
  "markdown": "Zyte API scores 69.7 (B) on agent readiness against jevcrawl's 63.7 (B), and leads in 5 of 7 scored categories. jevcrawl leads on agent ergonomics. Both do scraping.\n\n- jevcrawl: grade B, 63.7/100, rank #409 of 1094. Markdown https://www.anchorterminal.com/tools/jevcrawl.md · JSON https://www.anchorterminal.com/api/v1/tools/jevcrawl.json\n- Zyte API: grade B, 69.7/100, rank #184 of 1094. Markdown https://www.anchorterminal.com/tools/zyte.md · JSON https://www.anchorterminal.com/api/v1/tools/zyte.json\n- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md\n- All 204 scrapers comparisons: https://www.anchorterminal.com/compare/web-scrapers/index.md\n\n## Which one, for what\n\n### jevcrawl (B)\n\nGood for: An agent that must find one answer several clicks deep on a documentation or help site and wants a few thousand tokens back instead of whole pages.\n\nAhead on:\n- Agent ergonomics, 80 against 72\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: First released on 13 October 2026, version 0.2.0 and marked alpha, with one maintainer\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 68\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 77 against 68\n- Transparency \u0026 trust, 66 against 45\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\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 | jevcrawl | Zyte API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 85 | Zyte API +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 85 | Zyte API +4 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 72 | jevcrawl +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 55 | jevcrawl +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Zyte API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 68 | 77 | Zyte API +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 66 | Zyte API +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **69.7 · B** | |\n\n## Facts side by side\n\n| Fact | jevcrawl | Zyte API |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Rayen Mlayeh | Zyte Group Limited |\n| Hosted endpoint | no (local only) | `https://api.zyte.com/v1/extract` |\n| Transports | stdio | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | 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 | 3 | 34 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-15 | 2026-10-05 |\n| Terms last updated | no document linked | 2026-09-22 |\n| Privacy policy last updated | no document linked | 2024-08-30 |\n| Customer content may train models |  | yes |\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 |  | yes |\n| Popularity | 60 stars, 204 PyPI/wk | 42k PyPI/wk |\n\n## Verdicts\n\n**jevcrawl.** Three compact, typed MCP tools return verbatim passages with source URLs, cost and stop reasons, and errors arrive as codes with instructions. The project is three days old and alpha, it depends on TypeSafe's paid Jev API, which is in early access with no free tier found, and it does not block crawls of private or local addresses.\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### jevcrawl\n\n1. Phrase `goal` as one specific question and start with `max_pages` between 10 and 30\n2. Check `stats.stopped_because` and `stats.degraded`, and read `uncertain` before reporting that something is missing\n3. Use `scrape` without a goal when you need a whole page, since it makes no paid Jev call and needs no key\n4. Handle `{\"error\": code, \"message\": ...}` results, for example `auth_error` means `TYPESAFE_API_KEY` is missing or rejected\n5. Pages in `stats.needs_js_urls` were not read. Tell the user rather than guessing their content\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, jevcrawl or Zyte API?\n\nZyte API scores 69.7 (B) on agent readiness against jevcrawl's 63.7 (B), and leads in 5 of 7 scored categories. jevcrawl leads on agent ergonomics.\n\n### Do jevcrawl and Zyte API need an API key?\n\njevcrawl needs an API key. Zyte API takes an API key or an OAuth sign-in.\n\n### Can an agent call jevcrawl and Zyte API without installing anything?\n\njevcrawl runs on your own machine, with no hosted endpoint listed. Zyte API has a hosted endpoint at https://api.zyte.com/v1/extract.\n\n### Are jevcrawl and Zyte API open source?\n\njevcrawl is open source (Apache-2.0). No open-source release is listed for Zyte API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.json, and with the fewest tokens: https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"jevcrawl\", \"b\": \"zyte\"}`. From a terminal: `anchor compare jevcrawl zyte`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/jevcrawl.json and https://www.anchorterminal.com/api/v1/tools/zyte.json\n\n## Other comparisons with jevcrawl or Zyte API\n\n- [Apify MCP Server vs Zyte API](https://www.anchorterminal.com/compare/apify-mcp-vs-zyte.md)\n- [Bright Data vs jevcrawl](https://www.anchorterminal.com/compare/bright-data-vs-jevcrawl.md)\n- [Bright Data vs Zyte API](https://www.anchorterminal.com/compare/bright-data-vs-zyte.md)\n- [Context.dev vs jevcrawl](https://www.anchorterminal.com/compare/context-dev-vs-jevcrawl.md)\n- [Context.dev vs Zyte API](https://www.anchorterminal.com/compare/context-dev-vs-zyte.md)\n- [jevcrawl vs Jina Reader](https://www.anchorterminal.com/compare/jevcrawl-vs-jina-reader.md)\n- [jevcrawl vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/jevcrawl-vs-oxylabs-web-scraper.md)\n- [jevcrawl vs Scrape.do](https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.md)\n- [jevcrawl vs ScrapingAnt](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingant.md)\n- [jevcrawl vs ScrapingBee](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingbee.md)\n- [jevcrawl vs Scrapingdog](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapingdog.md)\n- [jevcrawl vs ZenRows](https://www.anchorterminal.com/compare/jevcrawl-vs-zenrows.md)\n- [Jina Reader vs Zyte API](https://www.anchorterminal.com/compare/jina-reader-vs-zyte.md)\n- [Olostep vs Zyte API](https://www.anchorterminal.com/compare/olostep-vs-zyte.md)\n- [Oxylabs Web Scraper API vs Zyte API](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-zyte.md)\n- [Scrape.do vs Zyte API](https://www.anchorterminal.com/compare/scrape-do-vs-zyte.md)\n- [ScrapeGraphAI vs Zyte API](https://www.anchorterminal.com/compare/scrapegraphai-vs-zyte.md)\n- [Scrapeless vs Zyte API](https://www.anchorterminal.com/compare/scrapeless-vs-zyte.md)\n- [ScraperAPI vs Zyte API](https://www.anchorterminal.com/compare/scraperapi-vs-zyte.md)\n- [Scrapfly vs Zyte API](https://www.anchorterminal.com/compare/scrapfly-vs-zyte.md)\n- [ScrapingAnt vs Zyte API](https://www.anchorterminal.com/compare/scrapingant-vs-zyte.md)\n- [ScrapingBee vs Zyte API](https://www.anchorterminal.com/compare/scrapingbee-vs-zyte.md)\n- [Scrapingdog vs Zyte API](https://www.anchorterminal.com/compare/scrapingdog-vs-zyte.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- [Apify MCP Server vs jevcrawl](https://www.anchorterminal.com/compare/apify-mcp-vs-jevcrawl.md)\n- [Firecrawl MCP vs jevcrawl](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-jevcrawl.md)\n- [jevcrawl vs Olostep](https://www.anchorterminal.com/compare/jevcrawl-vs-olostep.md)\n- [jevcrawl vs ScrapeGraphAI](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapegraphai.md)\n- [jevcrawl vs Scrapeless](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeless.md)\n- [jevcrawl vs ScraperAPI](https://www.anchorterminal.com/compare/jevcrawl-vs-scraperapi.md)\n- [jevcrawl vs Scrapfly](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly.md)\n- [jevcrawl vs Spider](https://www.anchorterminal.com/compare/jevcrawl-vs-spider-cloud.md)\n- [Diffbot vs jevcrawl](https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl.md)\n- [Diffbot vs Zyte API](https://www.anchorterminal.com/compare/diffbot-vs-zyte.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-15",
    "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",
    "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": "jevcrawl vs Zyte API",
        "url": ""
      }
    ],
    "description": "Zyte scores 69.7 (B) to jevcrawl's 63.7 (B) for scraping. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "jevcrawl B 63.7",
      "Zyte API B 69.7",
      "scores"
    ],
    "h1": "jevcrawl vs Zyte API",
    "image": "https://www.anchorterminal.com/assets/og/compare-jevcrawl-vs-zyte.png",
    "path": "/compare/jevcrawl-vs-zyte",
    "published": "2026-10-01",
    "section": "tools",
    "title": "jevcrawl vs Zyte for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-zyte"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 730
  },
  "version": 1
}
