{
  "data": {
    "a": {
      "slug": "jina-reader",
      "name": "Jina Reader",
      "vendor": "Jina AI (Elastic)",
      "vendorUrl": "https://jina.ai",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "API that converts web pages and search results to Markdown for agents and applications.",
      "url": "https://www.anchorterminal.com/tools/jina-reader",
      "markdownUrl": "https://www.anchorterminal.com/tools/jina-reader.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jina-reader.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jina-reader.json",
      "repo": "https://github.com/jina-ai/reader",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://r.jina.ai/",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Reader works with no key at 20 requests a minute. Search and higher limits need a Bearer key.",
      "pricing": "usage",
      "pricingNotes": "Billed in output tokens. A new key comes with 10M free tokens. Search costs at least 10,000 tokens a request. US dollar prices per token weren't shown on the public page (https://jina.ai/reader/).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 12000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://jina.ai/reader/",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "web.search"
      ],
      "tags": [
        "hosted",
        "no-key",
        "mcp",
        "open-source"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.3,
        "grade": "E",
        "agentReady": false,
        "rank": 402,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 11,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 65,
          "payments": 35,
          "reliability": 60,
          "schema": 43,
          "security": 32,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -7,
        "negativeNotes": [
          "-4: the hosted MCP server's show_api_key tool returned the account's bearer token into the conversation, next to read_url, which fetches untrusted pages, from August 2025 until v1.10.0 removed it on 2026-09-18. Fixed and documented in the README, so deducted less (https://github.com/jina-ai/MCP#functions-have-been-removed-in-v1100).",
          "-3: v1.10.0 on 2026-09-18 removed nine tools from mcp.jina.ai, including search_web_deep added on 12 August and the parallel_* tools, with no advance notice (https://github.com/jina-ai/MCP/pull/36)."
        ],
        "verdict": "One URL prefix, no key needed, Markdown back. No price per token in any currency on the public page.",
        "strengths": [
          "One URL prefix, no key needed, Markdown back",
          "`x-max-tokens`, `x-token-budget` and `x-target-selector` bound the output",
          "Rate limits published for each key tier",
          "Apache-2.0 source for the code behind r.jina.ai",
          "10 million free tokens with a new key, no card"
        ],
        "weaknesses": [
          "No price per token in any currency on the public page",
          "No OpenAPI, no llms.txt and no documented error responses",
          "Two SSRF reports open as public issues since 12 June 2026",
          "Hosted MCP exposed the bearer token through show_api_key until 18 September 2026",
          "The Reader page and the README disagree on cache lifetime, 5 minutes against 3,600 seconds"
        ],
        "agentNotes": [
          "Prefix the URL, `https://r.jina.ai/https://example.com`, and read the Markdown",
          "Send `x-max-tokens` to cap a page, or `x-token-budget` to refuse one that's too big",
          "Use `x-target-selector` when you need one part of a page",
          "Keyless is 20 requests a minute and can't search. Add a key for loops or s.jina.ai",
          "Send `x-no-cache: true` when a page may have changed or a blocked response got cached"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.3
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 65,
          "payments": 35,
          "reliability": 60,
          "schema": 43,
          "security": 32,
          "transparency": 45
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl \"https://r.jina.ai/https://www.anchorterminal.com/prices/\"",
        "claudeCode": "claude mcp add --transport http jina https://mcp.jina.ai/v1"
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/jina-reader"
      },
      "sameCompany": [
        "jina-embeddings"
      ],
      "area": "web-data",
      "provenance": {
        "legalEntity": "Jina AI GmbH",
        "domain": "jina.ai",
        "domainRegistered": "2020-01-20",
        "domainNote": "Jina AI GmbH is a subsidiary of Elastic N.V., and the privacy statement is Elastic's.",
        "endpointOnVendorDomain": true,
        "terms": "https://jina.ai/legal/#terms-and-conditions",
        "privacy": "https://www.elastic.co/legal/privacy-statement",
        "statusPage": "https://status.jina.ai",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jina-reader.json",
      "live": {
        "slug": "jina-reader",
        "probe": {
          "target": "https://r.jina.ai/",
          "method": "get",
          "lastAt": "2026-10-05T00:57:22.205258475Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 141,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 143,
          "p95ms24h": 187,
          "samples24h": 272,
          "samples30d": 2067,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 270
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 11,
              "ok": 11
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.jina.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:53:54.956659486Z"
        },
        "githubStars": 12099,
        "securityTxt": {
          "url": "https://jina.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:02.621468742Z"
        },
        "domain": {
          "domain": "jina.ai",
          "registered": "2020-01-20",
          "source": "https://rdap.identitydigital.services/rdap/domain/jina.ai",
          "checkedAt": "2026-10-04T13:08:08.912440143Z"
        },
        "pages": [
          {
            "url": "https://jina.ai/reader/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:12.901246527Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9cb57f699705"
          },
          {
            "url": "https://www.elastic.co/legal/privacy-statement",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-01T13:17:07.465912374Z",
            "changedAt": "2026-10-01T13:17:07.465912374Z",
            "fingerprint": "bd620f341674"
          },
          {
            "url": "https://jina.ai/legal/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-01T13:13:46.391565171Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "822c862ff72d"
          }
        ],
        "updatedAt": "2026-10-05T00:57:22.205258475Z"
      }
    },
    "b": {
      "slug": "olostep",
      "name": "Olostep",
      "vendor": "Olostep Technologies, Inc.",
      "vendorUrl": "https://www.olostep.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scrape, crawl, map, batch and search API that returns markdown, HTML, JSON or screenshots, with JS rendering and residential IPs on every request.",
      "url": "https://www.anchorterminal.com/tools/olostep",
      "markdownUrl": "https://www.anchorterminal.com/tools/olostep.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/olostep.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/olostep.json",
      "repo": "https://github.com/olostep/olostep-mcp-server",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.olostep.com",
      "packages": [
        {
          "registry": "npm",
          "name": "olostep"
        },
        {
          "registry": "pypi",
          "name": "olostep"
        },
        {
          "registry": "npm",
          "name": "olostep-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer key in the Authorization header for the API and the hosted MCP server. The stdio MCP server and the SDKs read OLOSTEP_API_KEY. The /x402/ endpoints take an X-Payment header instead of a key.",
      "pricing": "freemium",
      "pricingNotes": "Free trial of 500 requests with no card and low rate limits. Starter $9 a month for 5,000 requests (150 concurrent), Standard $99 for 200,000 (500 concurrent), Scale $399 for 1 million. Credit packs from $20 for 10,000, valid 6 months. A scrape is 1 credit, parsers 1 to 5, LLM extraction 10, search 5, answers 20, crawl 1 per page, map 1 plus 1 per extra 1,000 URLs (https://www.olostep.com/pricing).",
      "priceSummary": "$9 / mo",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "Documented x402 on POST /v1/scrapes and /v1/maps at $0.01, /v1/answers at $0.05 and /v1/crawls at a dynamic price, USDC on Base, under the /x402/ path prefix (https://docs.olostep.com/x402.md). Our unpaid POST to /x402/v1/scrapes on 2026-09-30 returned 402 with an empty {} body and no PAYMENT-REQUIRED header, so a stock x402 client has no price to sign.",
        "endpoints": [
          {
            "url": "https://api.olostep.com/x402/v1/scrapes",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.olostep.com/x402/v1/maps",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.olostep.com/x402/v1/answers",
            "priceUsd": 0.05,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.olostep.com/x402/v1/crawls",
            "priceUsd": null,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": 24,
        "npmWeekly": 8874,
        "pypiWeekly": 1976,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.olostep.com",
      "llmsTxt": "https://docs.olostep.com/llms.txt",
      "openapi": "https://docs.olostep.com/openapi/scrapes.json",
      "registryName": "io.github.olostep/olostep-mcp-server",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.crawl",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "python",
        "typescript",
        "openapi",
        "x402",
        "free-tier"
      ],
      "lastRelease": "2026-07-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.1,
        "grade": "B",
        "agentReady": false,
        "rank": 210,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 58,
          "payments": 65,
          "reliability": 60,
          "schema": 84,
          "security": 28,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OpenAPI 3.0.3 for every endpoint and a structured error body. The x402 challenge came back with no payment requirements in our probe.",
        "strengths": [
          "OpenAPI 3.0.3 for every endpoint and a structured error body",
          "500 free successful requests with no card, $9 a month after that",
          "x402 documented on scrapes, maps, answers and crawls at $0.01 to $0.05",
          "Batches of up to 100,000 URLs with cursor pagination",
          "All 11 MCP tools carry readOnly, destructive and idempotent hints"
        ],
        "weaknesses": [
          "The x402 challenge came back with no payment requirements in our probe",
          "One dashboard key with no documented scopes, rotation or revocation",
          "No 429 or per-minute rate limits documented",
          "No security page, security.txt or prompt-injection guidance",
          "Changelog last updated 18 June 2026"
        ],
        "agentNotes": [
          "For more than a handful of URLs use /v1/batches, then page results with the cursor",
          "Pass `storage.expires_in` if you need results after about 7 days",
          "Don't ask for json output without a `parser` or an `llm_extract` schema",
          "Hosted MCP wants `Authorization: Bearer`, stdio wants OLOSTEP_API_KEY. Mixing them up shows 0 tools",
          "Check the 402 body before paying over x402. Our probe got an empty one"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.1
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 58,
          "payments": 65,
          "reliability": 60,
          "schema": 84,
          "security": 28,
          "transparency": 38
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://api.olostep.com/v1/scrapes -H \"Authorization: Bearer $OLOSTEP_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"url_to_scrape\":\"https://example.com\",\"formats\":[\"markdown\"]}'",
        "claudeCode": "claude mcp add --transport http olostep https://mcp.olostep.com/mcp --header \"Authorization: Bearer $OLOSTEP_API_KEY\"",
        "config": {
          "mcpServers": {
            "olostep": {
              "args": [
                "-y",
                "olostep-mcp"
              ],
              "command": "npx",
              "env": {
                "OLOSTEP_API_KEY": "${OLOSTEP_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/olostep"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 9,
          "note": "5,000 requests"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 99,
          "note": "200,000 requests"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 399,
          "note": "1 million requests"
        },
        {
          "item": "Scrape on Starter",
          "unit": "1k-requests",
          "usd": 1.8,
          "note": "1 credit per basic scrape"
        },
        {
          "item": "Scrape on Standard",
          "unit": "1k-requests",
          "usd": 0.495
        },
        {
          "item": "x402 scrape",
          "unit": "call",
          "usd": 0.01,
          "note": "USDC on Base"
        }
      ],
      "provenance": {
        "legalEntity": "Olostep Technologies Inc.",
        "domain": "olostep.com",
        "domainRegistered": "2023-06-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.olostep.com/terms",
        "privacy": "https://www.olostep.com/privacy-policy",
        "statusPage": "https://status.olostep.com",
        "changelog": "https://www.olostep.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms are governed by Delaware law",
          "Status page is hosted on Better Stack"
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/olostep.json",
      "live": {
        "slug": "olostep",
        "probe": {
          "target": "https://api.olostep.com",
          "method": "get",
          "lastAt": "2026-10-05T00:57:24.686778074Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 361,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 339,
          "p95ms24h": 400,
          "samples24h": 272,
          "samples30d": 1113,
          "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": 11,
              "ok": 11
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.olostep.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:17.332165528Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.olostep/olostep-mcp-server",
            "version": "1.0.17",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "olostep",
            "version": "1.2.2",
            "seenAt": "2026-10-04T16:34:58.614176741Z"
          },
          {
            "registry": "npm",
            "name": "olostep-mcp",
            "version": "1.0.17",
            "seenAt": "2026-10-04T16:34:59.676179372Z"
          },
          {
            "registry": "pypi",
            "name": "olostep",
            "version": "1.2.2",
            "released": "2026-06-22",
            "seenAt": "2026-10-04T16:34:59.493215991Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 10580,
        "pypiWeekly": 1527,
        "securityTxt": {
          "url": "https://olostep.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:38.639334332Z"
        },
        "llmsTxt": {
          "url": "https://docs.olostep.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:03.986940018Z"
        },
        "domain": {
          "domain": "olostep.com",
          "registered": "2023-06-04",
          "source": "https://rdap.verisign.com/com/v1/domain/olostep.com",
          "checkedAt": "2026-10-04T13:04:37.918133685Z"
        },
        "pages": [
          {
            "url": "https://www.olostep.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:31.729724391Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eda250fd86e1"
          },
          {
            "url": "https://www.olostep.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:51:34.190651562Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a6e567ada628"
          },
          {
            "url": "https://www.olostep.com/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:51:35.862695877Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38d110d687e4"
          },
          {
            "url": "https://www.olostep.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:51:37.898452374Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b14e410361b8"
          }
        ],
        "updatedAt": "2026-10-05T00:57:24.686778074Z"
      }
    },
    "summary": "Olostep has a score of 63.1 (B) against Jina Reader's 45.3 (E). Both do scraping. The largest gap is schema \u0026 documentation, 41 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep",
    "json": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep.md",
    "slim": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep.min.md"
  },
  "markdown": "Olostep has a score of 63.1 (B) against Jina Reader's 45.3 (E). Both do scraping. The largest gap is schema \u0026 documentation, 41 points.\n\n- Jina Reader: grade E, 45.3/100, rank #402 of 452. Markdown https://www.anchorterminal.com/tools/jina-reader.md · JSON https://www.anchorterminal.com/api/v1/tools/jina-reader.json\n- Olostep: grade B, 63.1/100, rank #210 of 452. Markdown https://www.anchorterminal.com/tools/olostep.md · JSON https://www.anchorterminal.com/api/v1/tools/olostep.json\n\n## Which one, for what\n\nPick Jina Reader for maintenance \u0026 community (+7).\n\nPick Olostep for schema \u0026 documentation (+41), agent ergonomics (+11), payments \u0026 pricing (+30).\n\n## Score by category\n\n| Category | Weight | Jina Reader | Olostep | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 60 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 43 | 84 | Olostep +41 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 87 | Olostep +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 28 | Jina Reader +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 65 | Olostep +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 58 | Jina Reader +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 60 | Jina Reader +1 |\n| Negative events | ≤15 | -7 | 0 | |\n| **Total** | | **45.3 · E** | **63.1 · B** | |\n\n## Facts side by side\n\n| Fact | Jina Reader | Olostep |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Jina AI (Elastic) | Olostep Technologies, Inc. |\n| Hosted endpoint | `https://r.jina.ai/` | `https://api.olostep.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | payer tooling only |\n| Licence | Apache-2.0 | MIT |\n| Tools exposed | none | 11 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.olostep/olostep-mcp-server` |\n| Last release | 2026-09-18 | 2026-07-15 |\n| Popularity | 12k stars | 24 stars, 8.9k npm/wk, 2k PyPI/wk |\n| Agent reviews | 2.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Jina Reader.** One URL prefix, no key needed, Markdown back. No price per token in any currency on the public page.\n\n**Olostep.** OpenAPI 3.0.3 for every endpoint and a structured error body. The x402 challenge came back with no payment requirements in our probe.\n\n## Before you call either\n\n### Jina Reader\n\n1. Prefix the URL, `https://r.jina.ai/https://example.com`, and read the Markdown\n2. Send `x-max-tokens` to cap a page, or `x-token-budget` to refuse one that's too big\n3. Use `x-target-selector` when you need one part of a page\n4. Keyless is 20 requests a minute and can't search. Add a key for loops or s.jina.ai\n5. Send `x-no-cache: true` when a page may have changed or a blocked response got cached\n\n### Olostep\n\n1. For more than a handful of URLs use /v1/batches, then page results with the cursor\n2. Pass `storage.expires_in` if you need results after about 7 days\n3. Don't ask for json output without a `parser` or an `llm_extract` schema\n4. Hosted MCP wants `Authorization: Bearer`, stdio wants OLOSTEP_API_KEY. Mixing them up shows 0 tools\n5. Check the 402 body before paying over x402. Our probe got an empty one\n\n## Other comparisons with Jina Reader or Olostep\n\n- [Bright Data vs Jina Reader](https://www.anchorterminal.com/compare/bright-data-vs-jina-reader.md)\n- [Bright Data vs Olostep](https://www.anchorterminal.com/compare/bright-data-vs-olostep.md)\n- [Jina Reader vs Scrape.do](https://www.anchorterminal.com/compare/jina-reader-vs-scrape-do.md)\n- [Jina Reader vs ScrapeGraphAI](https://www.anchorterminal.com/compare/jina-reader-vs-scrapegraphai.md)\n- [Jina Reader vs Scrapeless](https://www.anchorterminal.com/compare/jina-reader-vs-scrapeless.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Jina Reader vs ScrapingAnt](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingant.md)\n- [Jina Reader vs ScrapingBee](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingbee.md)\n- [Jina Reader vs Scrapingdog](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog.md)\n- [Jina Reader vs Spider](https://www.anchorterminal.com/compare/jina-reader-vs-spider-cloud.md)\n- [Jina Reader vs ZenRows](https://www.anchorterminal.com/compare/jina-reader-vs-zenrows.md)\n- [Olostep vs Scrape.do](https://www.anchorterminal.com/compare/olostep-vs-scrape-do.md)\n- [Olostep vs ScrapeGraphAI](https://www.anchorterminal.com/compare/olostep-vs-scrapegraphai.md)\n- [Olostep vs Scrapeless](https://www.anchorterminal.com/compare/olostep-vs-scrapeless.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Olostep vs ScrapingAnt](https://www.anchorterminal.com/compare/olostep-vs-scrapingant.md)\n- [Olostep vs ScrapingBee](https://www.anchorterminal.com/compare/olostep-vs-scrapingbee.md)\n- [Olostep vs Scrapingdog](https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.md)\n- [Olostep vs Spider](https://www.anchorterminal.com/compare/olostep-vs-spider-cloud.md)\n- [Olostep vs ZenRows](https://www.anchorterminal.com/compare/olostep-vs-zenrows.md)\n- [Firecrawl MCP vs Jina Reader](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-jina-reader.md)\n- [Firecrawl MCP vs Olostep](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-olostep.md)\n- [Apify MCP Server vs Olostep](https://www.anchorterminal.com/compare/apify-mcp-vs-olostep.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Jina Reader vs Olostep",
        "url": ""
      }
    ],
    "description": "Olostep has a score of 63.1 (B) against Jina Reader's 45.3 (E). Both do scraping. The largest gap is schema \u0026 documentation, 41 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Jina Reader E 45.3",
      "Olostep B 63.1",
      "scores"
    ],
    "h1": "Jina Reader vs Olostep",
    "image": "https://www.anchorterminal.com/assets/og/compare-jina-reader-vs-olostep.png",
    "path": "/compare/jina-reader-vs-olostep",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Jina Reader vs Olostep for AI agents, E 45.3 vs B 63.1",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
