{
  "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": "jevcrawl scores 63.7 (B) on agent readiness against Scrape.do's 43.7 (E), and leads in 5 of 7 scored categories. Scrape.do leads on payments \u0026 pricing.",
    "b": {
      "slug": "scrape-do",
      "name": "Scrape.do",
      "vendor": "Scrape.do",
      "vendorUrl": "https://scrape.do",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Single GET endpoint that fetches a URL through rotating datacenter, residential or mobile proxies, with optional headless rendering, screenshots, markdown output and a proxy mode.",
      "url": "https://www.anchorterminal.com/tools/scrape-do",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrape-do.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrape-do.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrape-do.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.scrape.do/",
      "packages": [
        {
          "registry": "npm",
          "name": "@scrape-do/client"
        }
      ],
      "auth": "api-key",
      "authNotes": "Token in the `token` query parameter on the main API. Proxy mode puts it in the proxy username (proxy.scrape.do:8080) and needs their CA certificate trusted or TLS verification off. The async API takes it in an `X-Token` header.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1,000 successful credits a month and 5 concurrent requests, no card. Hobby $29 a month (250,000 credits), Pro $99 (1.25 million), Business $249 (3.5 million), Advanced $699 (10 million). A datacenter request costs 1 credit, headless rendering 5, residential or mobile 10, both 25, and some domains carry fixed higher costs (google.* 10, linkedin.com 30, sainsburys.co.uk 200). Annual billing gives 2 months free but is set up by support (https://scrape.do/pricing/).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the docs, llms.txt or pricing FAQ, which lists card, crypto and bank wire only (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://scrape.do/documentation/",
      "llmsTxt": "https://scrape.do/documentation/llms.txt",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "proxies",
        "llms-txt",
        "closed-source"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.7,
        "grade": "E",
        "agentReady": false,
        "rank": 963,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 18,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 45,
          "payments": 35,
          "reliability": 40,
          "schema": 57,
          "security": 23,
          "transparency": 46
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$29 for 250,000 basic credits, and 429s, 502s and most failures aren't billed. Token travels in the query string on the main API.",
        "bestFor": "Cheap bulk fetching through rotating proxies when you call HTTP directly and keep the token server-side.",
        "strengths": [
          "$29 for 250,000 basic credits, and 429s, 502s and most failures aren't billed",
          "Per-domain credit costs published, and each response carries its cost in a header",
          "Free plan of 1,000 requests a month with residential proxies and rendering, no card",
          "Concurrency published for every plan",
          "Automatic retries on the server side, with `disableRetry` to turn them off"
        ],
        "weaknesses": [
          "Token travels in the query string on the main API",
          "No readable status page, SLA or security page",
          "404 and target 400 responses are billed as successes",
          "Privacy policy last dated September 2022",
          "Node SDK last released on 13 November 2024, and no official MCP server"
        ],
        "agentNotes": [
          "Start with the default data centre request (1 credit). Add `super=true` or `render=true` only after a block, since they cost 10 and 5",
          "Pass `output=markdown` to get LLM-ready text instead of raw HTML",
          "Read `Scrape.do-Request-Cost` from the response headers. Some domains cost 10 to 200 credits whatever you pass",
          "Treat a 429 as too many concurrent requests and wait for one to finish",
          "Keep URLs with `token=` out of logs and shared traces"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.7
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 45,
          "payments": 35,
          "reliability": 40,
          "schema": 57,
          "security": 23,
          "transparency": 33
        },
        "provenanceScore": 59
      },
      "connect": {
        "http": "curl \"https://api.scrape.do/?token=$SCRAPEDO_TOKEN\u0026url=https%3A%2F%2Fexample.com\u0026output=markdown\""
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrape-do"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Hobby plan",
          "unit": "month",
          "usd": 29,
          "note": "250,000 successful credits, 10 concurrent"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 99,
          "note": "1,250,000 successful credits, 50 concurrent"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 249,
          "note": "3,500,000 successful credits, 100 concurrent"
        },
        {
          "item": "Advanced plan",
          "unit": "month",
          "usd": 699,
          "note": "10,000,000 successful credits, 200 concurrent"
        },
        {
          "item": "Datacenter request on Hobby",
          "unit": "1k-requests",
          "usd": 0.116,
          "note": "1 credit a request"
        },
        {
          "item": "Residential request on Hobby",
          "unit": "1k-requests",
          "usd": 1.16,
          "note": "10 credits a request with super=true"
        }
      ],
      "provenance": {
        "legalEntity": "PACKEND, LLC",
        "domain": "scrape.do",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://scrape.do/terms-of-use/",
        "privacy": "https://scrape.do/privacy-policy/",
        "statusPage": "",
        "changelog": "https://scrape.do/documentation/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The .do registry has no RDAP service, so the registration date couldn't be read.",
          "status.scrape.do exists behind a CDN shield that returned 403, and the site doesn't link it, so no status page is recorded."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrape-do.json",
      "live": {
        "slug": "scrape-do",
        "probe": {
          "target": "https://api.scrape.do/",
          "method": "get",
          "lastAt": "2026-10-15T11:30:09.232920926Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 77,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 90,
          "p95ms24h": 245,
          "samples24h": 254,
          "samples30d": 3797,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 123,
              "ok": 123
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@scrape-do/client",
            "version": "1.0.2",
            "seenAt": "2026-10-15T00:19:35.56039491Z"
          }
        ],
        "npmWeekly": 4,
        "securityTxt": {
          "url": "https://scrape.do/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:46:16.155087324Z"
        },
        "llmsTxt": {
          "url": "https://scrape.do/documentation/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:15:02.316886118Z"
        },
        "domain": {
          "domain": "scrape.do",
          "checkedAt": "2026-10-11T13:27:02.35251692Z"
        },
        "pages": [
          {
            "url": "https://scrape.do/documentation/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:40.977776557Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a597f1d69e2d"
          },
          {
            "url": "https://scrape.do/documentation/changelog/2026-03-12-pricing-page-refresh/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:43.064540894Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c8d4a242823e"
          },
          {
            "url": "https://scrape.do/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:45.050503498Z",
            "changedAt": "2026-10-12T19:57:56.647466793Z",
            "fingerprint": "c89b063cde93"
          },
          {
            "url": "https://scrape.do/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:47.036414097Z",
            "changedAt": "2026-10-12T19:57:58.690111398Z",
            "fingerprint": "c05537ed650a"
          },
          {
            "url": "https://scrape.do/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:49.071618093Z",
            "changedAt": "2026-10-12T19:58:00.798285441Z",
            "fingerprint": "91416216a076"
          }
        ],
        "updatedAt": "2026-10-15T11:30:09.232920926Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Rayen Mlayeh",
        "b": "Scrape.do",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.scrape.do/",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "3",
        "b": "none",
        "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-07-31",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "60 stars, 204 PyPI/wk",
        "b": "2 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "jevcrawl scores 63.7 (B) on agent readiness against Scrape.do's 43.7 (E), and leads in 5 of 7 scored categories. Scrape.do leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, jevcrawl or Scrape.do?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do jevcrawl and Scrape.do need an API key?"
      },
      {
        "answer": "jevcrawl runs on your own machine, with no hosted endpoint listed. Scrape.do has a hosted endpoint at https://api.scrape.do/.",
        "question": "Can an agent call jevcrawl and Scrape.do without installing anything?"
      },
      {
        "answer": "jevcrawl is open source (Apache-2.0). No open-source release is listed for Scrape.do.",
        "question": "Are jevcrawl and Scrape.do open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 40",
          "Schema \u0026 documentation, 81 against 57",
          "Agent ergonomics, 80 against 62",
          "Security \u0026 auth, 59 against 23",
          "Maintenance \u0026 community, 68 against 45"
        ],
        "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": [
          "Payments \u0026 pricing, 35 against 30"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Cheap bulk fetching through rotating proxies when you call HTTP directly and keep the token server-side.",
        "slug": "scrape-do",
        "watchFor": "Token travels in the query string on the main API"
      }
    ],
    "job": {
      "capability": "web.scrape",
      "name": "Scraping"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrape-do.json",
        "title": "Apify MCP Server vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrape-do"
      },
      {
        "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-scrape-do.json",
        "title": "Bright Data vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-scrape-do"
      },
      {
        "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-scrape-do.json",
        "title": "Context.dev vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrape-do.json",
        "title": "Diffbot vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrape-do"
      },
      {
        "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-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/jevcrawl-vs-zyte.json",
        "title": "jevcrawl vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-scrape-do.json",
        "title": "Jina Reader vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrape-do.json",
        "title": "Olostep vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do.json",
        "title": "Oxylabs Web Scraper API vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapegraphai.json",
        "title": "Scrape.do vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapeless.json",
        "title": "Scrape.do vs Scrapeless",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapeless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi.json",
        "title": "Scrape.do vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.json",
        "title": "Scrape.do vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingant.json",
        "title": "Scrape.do vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingbee.json",
        "title": "Scrape.do vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapingbee"
      },
      {
        "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-spider-cloud.json",
        "title": "Scrape.do vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.json",
        "title": "Scrape.do vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/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/firecrawl-mcp-vs-scrape-do.json",
        "title": "Firecrawl MCP vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrape-do"
      }
    ],
    "scores": [
      {
        "by": 28,
        "edge": "jevcrawl",
        "jevcrawl": 68,
        "key": "reliability",
        "name": "Reliability",
        "scrape-do": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "jevcrawl",
        "jevcrawl": 81,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "scrape-do": 57,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "jevcrawl",
        "jevcrawl": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "scrape-do": 62,
        "weight": 13
      },
      {
        "by": 36,
        "edge": "jevcrawl",
        "jevcrawl": 59,
        "key": "security",
        "name": "Security \u0026 auth",
        "scrape-do": 23,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "scrape-do",
        "jevcrawl": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "scrape-do": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "jevcrawl",
        "jevcrawl": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "scrape-do": 45,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "scrape-do",
        "jevcrawl": 45,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "scrape-do": 46,
        "weight": 7
      }
    ],
    "summary": "jevcrawl scores 63.7 (B) on agent readiness against Scrape.do's 43.7 (E), and leads in 5 of 7 scored categories. Scrape.do leads on payments \u0026 pricing. 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.",
      "scrape-do": "$29 for 250,000 basic credits, and 429s, 502s and most failures aren't billed. Token travels in the query string on the main API."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do",
    "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.md",
    "slim": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.min.md"
  },
  "markdown": "jevcrawl scores 63.7 (B) on agent readiness against Scrape.do's 43.7 (E), and leads in 5 of 7 scored categories. Scrape.do leads on payments \u0026 pricing. 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- Scrape.do: grade E, 43.7/100, rank #963 of 1094. Markdown https://www.anchorterminal.com/tools/scrape-do.md · JSON https://www.anchorterminal.com/api/v1/tools/scrape-do.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- Reliability, 68 against 40\n- Schema \u0026 documentation, 81 against 57\n- Agent ergonomics, 80 against 62\n- Security \u0026 auth, 59 against 23\n- Maintenance \u0026 community, 68 against 45\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### Scrape.do (E)\n\nGood for: Cheap bulk fetching through rotating proxies when you call HTTP directly and keep the token server-side.\n\nAhead on:\n- Payments \u0026 pricing, 35 against 30\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: Token travels in the query string on the main API\n\n\n## Score by category\n\n| Category | Weight | jevcrawl | Scrape.do | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 40 | jevcrawl +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 57 | jevcrawl +24 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 62 | jevcrawl +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 23 | jevcrawl +36 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Scrape.do +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 68 | 45 | jevcrawl +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 46 | Scrape.do +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **43.7 · E** | |\n\n## Facts side by side\n\n| Fact | jevcrawl | Scrape.do |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Rayen Mlayeh | Scrape.do |\n| Hosted endpoint | no (local only) | `https://api.scrape.do/` |\n| Transports | stdio | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | none |\n| Tools exposed | 3 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-15 | 2026-07-31 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 60 stars, 204 PyPI/wk | 2 npm/wk |\n| Agent reviews | none | 3.5/5 (2) |\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**Scrape.do.** $29 for 250,000 basic credits, and 429s, 502s and most failures aren't billed. Token travels in the query string on the main API.\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### Scrape.do\n\n1. Start with the default data centre request (1 credit). Add `super=true` or `render=true` only after a block, since they cost 10 and 5\n2. Pass `output=markdown` to get LLM-ready text instead of raw HTML\n3. Read `Scrape.do-Request-Cost` from the response headers. Some domains cost 10 to 200 credits whatever you pass\n4. Treat a 429 as too many concurrent requests and wait for one to finish\n5. Keep URLs with `token=` out of logs and shared traces\n\n## Questions\n\n### Which is better for AI agents, jevcrawl or Scrape.do?\n\njevcrawl scores 63.7 (B) on agent readiness against Scrape.do's 43.7 (E), and leads in 5 of 7 scored categories. Scrape.do leads on payments \u0026 pricing.\n\n### Do jevcrawl and Scrape.do need an API key?\n\nBoth need an API key.\n\n### Can an agent call jevcrawl and Scrape.do without installing anything?\n\njevcrawl runs on your own machine, with no hosted endpoint listed. Scrape.do has a hosted endpoint at https://api.scrape.do/.\n\n### Are jevcrawl and Scrape.do open source?\n\njevcrawl is open source (Apache-2.0). No open-source release is listed for Scrape.do.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.json, and with the fewest tokens: https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"jevcrawl\", \"b\": \"scrape-do\"}`. From a terminal: `anchor compare jevcrawl scrape-do`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/jevcrawl.json and https://www.anchorterminal.com/api/v1/tools/scrape-do.json\n\n## Other comparisons with jevcrawl or Scrape.do\n\n- [Apify MCP Server vs Scrape.do](https://www.anchorterminal.com/compare/apify-mcp-vs-scrape-do.md)\n- [Bright Data vs jevcrawl](https://www.anchorterminal.com/compare/bright-data-vs-jevcrawl.md)\n- [Bright Data vs Scrape.do](https://www.anchorterminal.com/compare/bright-data-vs-scrape-do.md)\n- [Context.dev vs jevcrawl](https://www.anchorterminal.com/compare/context-dev-vs-jevcrawl.md)\n- [Context.dev vs Scrape.do](https://www.anchorterminal.com/compare/context-dev-vs-scrape-do.md)\n- [Diffbot vs Scrape.do](https://www.anchorterminal.com/compare/diffbot-vs-scrape-do.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 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- [jevcrawl vs Zyte API](https://www.anchorterminal.com/compare/jevcrawl-vs-zyte.md)\n- [Jina Reader vs Scrape.do](https://www.anchorterminal.com/compare/jina-reader-vs-scrape-do.md)\n- [Olostep vs Scrape.do](https://www.anchorterminal.com/compare/olostep-vs-scrape-do.md)\n- [Oxylabs Web Scraper API vs Scrape.do](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrape-do.md)\n- [Scrape.do vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrape-do-vs-scrapegraphai.md)\n- [Scrape.do vs Scrapeless](https://www.anchorterminal.com/compare/scrape-do-vs-scrapeless.md)\n- [Scrape.do vs ScraperAPI](https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi.md)\n- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [Scrape.do vs ScrapingAnt](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingant.md)\n- [Scrape.do vs ScrapingBee](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingbee.md)\n- [Scrape.do vs Scrapingdog](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog.md)\n- [Scrape.do vs Spider](https://www.anchorterminal.com/compare/scrape-do-vs-spider-cloud.md)\n- [Scrape.do vs ZenRows](https://www.anchorterminal.com/compare/scrape-do-vs-zenrows.md)\n- [Scrape.do vs Zyte API](https://www.anchorterminal.com/compare/scrape-do-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- [Firecrawl MCP vs Scrape.do](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrape-do.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 Scrape.do",
        "url": ""
      }
    ],
    "description": "jevcrawl scores 63.7 (B) to Scrape.do's 43.7 (E) for scraping. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "jevcrawl B 63.7",
      "Scrape.do E 43.7",
      "scores"
    ],
    "h1": "jevcrawl vs Scrape.do",
    "image": "https://www.anchorterminal.com/assets/og/compare-jevcrawl-vs-scrape-do.png",
    "path": "/compare/jevcrawl-vs-scrape-do",
    "published": "2026-10-01",
    "section": "tools",
    "title": "jevcrawl vs Scrape.do for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrape-do"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 680
  },
  "version": 1
}
