{
  "data": {
    "a": {
      "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,
        "grade": "B",
        "agentReady": false,
        "rank": 370,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 58,
          "payments": 65,
          "reliability": 60,
          "schema": 84,
          "security": 28,
          "transparency": 58
        },
        "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.",
        "bestFor": "Bulk scraping on a budget and for batch jobs of thousands of URLs.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 58,
          "payments": 65,
          "reliability": 60,
          "schema": 84,
          "security": 28,
          "transparency": 38
        },
        "provenanceScore": 78
      },
      "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": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/olostep.json",
      "live": {
        "slug": "olostep",
        "probe": {
          "target": "https://api.olostep.com",
          "method": "get",
          "lastAt": "2026-10-09T11:46:35.857599142Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 343,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 343,
          "p95ms24h": 408,
          "samples24h": 259,
          "samples30d": 2311,
          "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": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.olostep.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:14.378059747Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.olostep/olostep-mcp-server",
            "version": "1.0.17",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "olostep",
            "version": "1.2.2",
            "seenAt": "2026-10-08T16:23:06.445945146Z"
          },
          {
            "registry": "npm",
            "name": "olostep-mcp",
            "version": "1.0.17",
            "seenAt": "2026-10-08T16:23:07.05275703Z"
          },
          {
            "registry": "pypi",
            "name": "olostep",
            "version": "1.2.2",
            "released": "2026-06-22",
            "seenAt": "2026-10-08T16:23:06.865299162Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 11231,
        "pypiWeekly": 1133,
        "securityTxt": {
          "url": "https://olostep.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:30.860503752Z"
        },
        "llmsTxt": {
          "url": "https://docs.olostep.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:42.986234216Z"
        },
        "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-08T18:29:25.586187053Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eda250fd86e1"
          },
          {
            "url": "https://www.olostep.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:29:27.909417436Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a6e567ada628"
          },
          {
            "url": "https://www.olostep.com/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:29:29.715286329Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38d110d687e4"
          },
          {
            "url": "https://www.olostep.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:29:31.776350322Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b14e410361b8"
          }
        ],
        "updatedAt": "2026-10-09T11:46:35.857599142Z"
      }
    },
    "answer": "Zyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing.",
    "b": {
      "slug": "zyte",
      "name": "Zyte API",
      "vendor": "Zyte Group Limited",
      "vendorUrl": "https://www.zyte.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Zyte API is a hosted web scraping API from Zyte Group Limited of Cork, Ireland. One endpoint returns a page's HTTP body, browser-rendered HTML, a screenshot or extracted structured data, with ban avoidance handled by the service.",
      "url": "https://www.anchorterminal.com/tools/zyte",
      "markdownUrl": "https://www.anchorterminal.com/tools/zyte.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zyte.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zyte.json",
      "repo": "https://github.com/zytedata/python-zyte-api",
      "license": "Proprietary service under Zyte's terms of service. The Python client is BSD 3-Clause, and the Agentic Web Data plugin is under Zyte's own end-user licence",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.zyte.com/v1/extract",
      "packages": [
        {
          "registry": "pypi",
          "name": "zyte-api"
        },
        {
          "registry": "pypi",
          "name": "scrapy-zyte-api"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key from the Zyte dashboard, sent as the HTTP Basic username with an empty password. An organisation can hold several keys, and an owner can put a blocking spending limit on each. The Stats API takes a separate dashboard key. Zyte MCP signs in with OAuth (scope `zapi:read` in its metadata) and then calls the API with a dedicated key, `mcp_access_key`. CDP browser sessions need a paid plan or spending limit and business verification.",
      "pricing": "usage",
      "pricingNotes": "$5 free credit for the first billing month on signup, with no card per the site, so an agent's owner can start without a contract. After that, pay-as-you-go from $0.13 to $1.27 per 1,000 successful HTTP requests and $1.01 to $16.08 per 1,000 browser requests, by the target site's tier (1 to 5). Screenshots add $1.34 per 1,000 and automatic extraction $0.27 to $1.07 per 1,000. Monthly commitments of $100 to $500 take 25 to 52 per cent off. Failed, banned and rate-limited requests are free (https://www.zyte.com/pricing/, https://docs.zyte.com/zyte-api/pricing.md).",
      "priceSummary": "$0.13 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "The official Python client documents x402 payment with an Ethereum key against `https://api-x402.zyte.com/v1/` (`python-zyte-api`, `docs/use/x402.rst`, since 0.8.0 of 7 August 2025). One unauthenticated POST to `/v1/extract` on that host on 2026-10-09 returned 401 `/auth/not-valid` with `WWW-Authenticate: Basic` and no 402 challenge. docs.zyte.com and the pricing page don't mention x402 (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 34,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 41866,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.zyte.com/zyte-api/get-started.html",
      "llmsTxt": "https://docs.zyte.com/llms.txt",
      "openapi": "https://docs.zyte.com/zyte-api/usage/reference.md",
      "capabilities": [
        "web.scrape",
        "scraping.anti-bot",
        "scraping.js-render",
        "scraping.proxies",
        "web.extract",
        "scraping.screenshot",
        "browser.hosted",
        "search.serp"
      ],
      "tags": [
        "hosted",
        "usage-based",
        "free-trial",
        "no-card",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "proxies",
        "python",
        "status-page",
        "iso-27001",
        "closed-source"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.7,
        "grade": "B",
        "agentReady": false,
        "rank": 166,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 40,
          "reliability": 85,
          "schema": 85,
          "security": 55,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "One POST endpoint with an OpenAPI 3 contract picks proxies, browser rendering and extraction per site, bills only successful responses, and sends problem+json errors with Retry-After. Prices vary by target site across five tiers, so cost per request isn't known before the site is assigned one, and no dated API changelog was found.",
        "bestFor": "An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.",
        "strengths": [
          "OpenAPI 3.0.3 contract for `/v1/extract` printed in the reference, with 51 enums and request examples, plus llms.txt and Markdown twins of the docs pages",
          "Only successful responses are billed. Rate-limited, banned and failed requests are free, per the pricing page and the terms",
          "429, 503 and 520 responses carry `Retry-After`, and the docs publish a backoff table for each retry",
          "Blocking spend limits can be set per API key, and the MCP server uses its own key, `mcp_access_key`, signed in over OAuth",
          "Status page with ten components and incident history, ISO 27001 certification and a list of 36 sub-processors with addresses"
        ],
        "weaknesses": [
          "Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go",
          "No dated changelog or deprecation policy for the API was found in the 150-page docs sitemap, and the terms allow changes with or without notice",
          "The terms let Zyte use Service Data, data feeds and code from the services for product development and product training",
          "The official client documents x402 at `api-x402.zyte.com`, but our one unauthenticated request there on 9 October 2026 got 401 and no payment challenge",
          "Zyte MCP lists 34 tools, 26 of them for Scrapy Cloud, and some delete schedules and collections with no undo",
          "No security.txt, no paid bug bounty, and one official client language (Python)"
        ],
        "agentNotes": [
          "Send the API key as the Basic auth username with an empty password to `https://api.zyte.com/v1/extract`. Set only one of `httpResponseBody` or `browserHtml`, or one extraction field",
          "Ask for `httpResponseBody` before `browserHtml`. Browser requests cost about eight to thirteen times more per tier",
          "Retry 429, 503 and 520 after the `Retry-After` seconds, with backoff. They aren't billed. Don't retry 400, 401, 422 or 451",
          "Read `statusCode` in a 200 response. A target site's 404 comes back as a successful, billed Zyte API response",
          "Have the owner set a blocking spending limit on the key you use. A 403 `/auth/account-suspended` means the limit or the trial month ended"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.7
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 40,
          "reliability": 85,
          "schema": 85,
          "security": 55,
          "transparency": 58
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "pip install zyte-api",
        "http": "curl \\\n    --user YOUR_ZYTE_API_KEY: \\\n    --header 'Content-Type: application/json' \\\n    --data '{\"url\": \"https://toscrape.com\", \"httpResponseBody\": true}' \\\n    --compressed \\\n    https://api.zyte.com/v1/extract",
        "claudeCode": "claude mcp add --transport http zyte https://mcp.zyte.com/v1/mcp",
        "config": {
          "mcpServers": {
            "zyte": {
              "type": "http",
              "url": "https://mcp.zyte.com/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/zyte"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "HTTP request, tier 1 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 0.13,
          "note": "Tiers 2 to 5 cost $0.23, $0.44, $0.70 and $1.27"
        },
        {
          "item": "HTTP request, tier 5 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 1.27,
          "note": "Only successful responses are billed"
        },
        {
          "item": "Browser request, tier 1 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 1.01,
          "note": "Tiers 2 to 5 cost $2.01, $4.02, $8.04 and $16.08"
        },
        {
          "item": "Browser request, tier 5 site, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 16.08,
          "note": "Actions and network capture cost extra"
        },
        {
          "item": "Screenshot, added to a browser request",
          "unit": "1k-requests",
          "usd": 1.34,
          "note": "Pay-as-you-go price"
        },
        {
          "item": "HTTP request, tier 1 site, $500 commitment",
          "unit": "1k-requests",
          "usd": 0.06,
          "note": "52 per cent volume discount"
        }
      ],
      "provenance": {
        "legalEntity": "Zyte Group Limited",
        "domain": "zyte.com",
        "domainRegistered": "1999-02-22",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zyte.com/terms-policies/terms-of-service/",
        "privacy": "https://www.zyte.com/terms-policies/privacy-policy/",
        "statusPage": "https://status.zyte.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of service (last updated 22 September 2026) define Zyte as Zyte Group Limited, an Irish company, number 492771, with a notice address at 12 South Mall, Cork. They contain a Zyte API Terms section, so they govern the API.",
          "The privacy policy is dated 30 August 2024 and covers the websites and the services. It says it does not apply to personal data a customer collects with the services.",
          "www.zyte.com/.well-known/security.txt returned 404. Reports go through the responsible disclosure programme page, which pays no rewards.",
          "No dated changelog for the API was found. The Python client and the agent plugin each keep one in their repository.",
          "RDAP at Verisign gives a registration date of 1999-02-22 for zyte.com.",
          "The API answers at api.zyte.com and the MCP server at mcp.zyte.com. Its OAuth metadata names auth.app.zyte.com as the authorisation server."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zyte.json",
      "live": {
        "slug": "zyte",
        "probe": {
          "target": "https://api.zyte.com/v1/extract",
          "method": "get",
          "lastAt": "2026-10-09T11:46:47.588760345Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 351,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 349,
          "p95ms24h": 440,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zyte.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:41:22.655137133Z"
        },
        "updatedAt": "2026-10-09T11:46:47.588760345Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Olostep Technologies, Inc.",
        "b": "Zyte Group Limited",
        "name": "Vendor"
      },
      {
        "a": "https://api.olostep.com",
        "b": "https://api.zyte.com/v1/extract",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.495 per 1,000 requests",
        "b": "not published",
        "name": "Price for scraping"
      },
      {
        "a": "payer tooling only",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "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": "11",
        "b": "34",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.olostep/olostep-mcp-server",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-07-15",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "2025-07-15",
        "b": "2026-09-22",
        "name": "Terms last updated"
      },
      {
        "a": "2025-07-15",
        "b": "2024-08-30",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "24 stars, 8.9k npm/wk, 2k PyPI/wk",
        "b": "42k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Olostep or Zyte API?"
      },
      {
        "answer": "Olostep needs an API key. Zyte API takes an API key or an OAuth sign-in.",
        "question": "Do Olostep and Zyte API need an API key?"
      },
      {
        "answer": "Yes. Olostep has a hosted endpoint at https://api.olostep.com and Zyte API at https://api.zyte.com/v1/extract.",
        "question": "Can an agent call Olostep and Zyte API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 87 against 72",
          "Payments \u0026 pricing, 65 against 40"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Bulk scraping on a budget and for batch jobs of thousands of URLs.",
        "slug": "olostep",
        "watchFor": "The x402 challenge came back with no payment requirements in our probe"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 60",
          "Security \u0026 auth, 55 against 28",
          "Maintenance \u0026 community, 77 against 58",
          "Transparency \u0026 trust, 66 against 58"
        ],
        "also": null,
        "goodFor": "An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.",
        "slug": "zyte",
        "watchFor": "Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go"
      }
    ],
    "job": {
      "capability": "web.scrape",
      "name": "Scraping"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-olostep.json",
        "title": "Firecrawl MCP vs Olostep",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-olostep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-olostep.json",
        "title": "Bright Data vs Olostep",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-olostep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-zyte.json",
        "title": "Bright Data vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep.json",
        "title": "Jina Reader vs Olostep",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-olostep"
      },
      {
        "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-oxylabs-web-scraper.json",
        "title": "Olostep vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-oxylabs-web-scraper"
      },
      {
        "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/olostep-vs-scrapegraphai.json",
        "title": "Olostep vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapeless.json",
        "title": "Olostep vs Scrapeless",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapeless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly.json",
        "title": "Olostep vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapingant.json",
        "title": "Olostep vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapingbee.json",
        "title": "Olostep vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.json",
        "title": "Olostep vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-spider-cloud.json",
        "title": "Olostep vs Spider",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-zenrows.json",
        "title": "Olostep vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-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/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-olostep.json",
        "title": "Apify MCP Server vs Olostep",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-olostep"
      }
    ],
    "scores": [
      {
        "by": 25,
        "edge": "zyte",
        "key": "reliability",
        "name": "Reliability",
        "olostep": 60,
        "weight": 16,
        "zyte": 85
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "zyte",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "olostep": 84,
        "weight": 13,
        "zyte": 85
      },
      {
        "by": 15,
        "edge": "olostep",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "olostep": 87,
        "weight": 13,
        "zyte": 72
      },
      {
        "by": 27,
        "edge": "zyte",
        "key": "security",
        "name": "Security \u0026 auth",
        "olostep": 28,
        "weight": 14,
        "zyte": 55
      },
      {
        "by": 25,
        "edge": "olostep",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "olostep": 65,
        "weight": 10,
        "zyte": 40
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "zyte",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "olostep": 58,
        "weight": 7,
        "zyte": 77
      },
      {
        "by": 8,
        "edge": "zyte",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "olostep": 58,
        "weight": 7,
        "zyte": 66
      }
    ],
    "summary": "Zyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing. Both do scraping.",
    "verdicts": {
      "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.",
      "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/olostep-vs-zyte",
    "json": "https://www.anchorterminal.com/compare/olostep-vs-zyte.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/olostep-vs-zyte.md",
    "slim": "https://www.anchorterminal.com/compare/olostep-vs-zyte.min.md"
  },
  "markdown": "Zyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing. Both do scraping.\n\n- Olostep: grade B, 63/100, rank #370 of 842. Markdown https://www.anchorterminal.com/tools/olostep.md · JSON https://www.anchorterminal.com/api/v1/tools/olostep.json\n- Zyte API: grade B, 69.7/100, rank #166 of 842. Markdown https://www.anchorterminal.com/tools/zyte.md · JSON https://www.anchorterminal.com/api/v1/tools/zyte.json\n\n## Which one, for what\n\n### Olostep (B)\n\nGood for: Bulk scraping on a budget and for batch jobs of thousands of URLs.\n\nAhead on:\n- Agent ergonomics, 87 against 72\n- Payments \u0026 pricing, 65 against 40\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: The x402 challenge came back with no payment requirements in our probe\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 60\n- Security \u0026 auth, 55 against 28\n- Maintenance \u0026 community, 77 against 58\n- Transparency \u0026 trust, 66 against 58\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 | Olostep | Zyte API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 85 | Zyte API +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 85 | Zyte API +1 |\n| Agent ergonomics | 13% (16.2 this run) | 87 | 72 | Olostep +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 28 | 55 | Zyte API +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 65 | 40 | Olostep +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 58 | 77 | Zyte API +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 66 | Zyte API +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63 · B** | **69.7 · B** | |\n\n## Facts side by side\n\n| Fact | Olostep | Zyte API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Olostep Technologies, Inc. | Zyte Group Limited |\n| Hosted endpoint | `https://api.olostep.com` | `https://api.zyte.com/v1/extract` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| Price for scraping | $0.495 per 1,000 requests | not published |\n| x402 | payer tooling only | no |\n| Licence | MIT | 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 | 11 | 34 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.olostep/olostep-mcp-server` | not listed |\n| Last release | 2026-07-15 | 2026-10-05 |\n| Terms last updated | 2025-07-15 | 2026-09-22 |\n| Privacy policy last updated | 2025-07-15 | 2024-08-30 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 24 stars, 8.9k npm/wk, 2k PyPI/wk | 42k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\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**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### 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### 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, Olostep or Zyte API?\n\nZyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing.\n\n### Do Olostep and Zyte API need an API key?\n\nOlostep needs an API key. Zyte API takes an API key or an OAuth sign-in.\n\n### Can an agent call Olostep and Zyte API without installing anything?\n\nYes. Olostep has a hosted endpoint at https://api.olostep.com and Zyte API at https://api.zyte.com/v1/extract.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/olostep-vs-zyte.json, and with the fewest tokens: https://www.anchorterminal.com/compare/olostep-vs-zyte.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"olostep\", \"b\": \"zyte\"}`. From a terminal: `anchor compare olostep zyte`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/olostep.json and https://www.anchorterminal.com/api/v1/tools/zyte.json\n\n## Other comparisons with Olostep or Zyte API\n\n- [Firecrawl MCP vs Olostep](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-olostep.md)\n- [Bright Data vs Olostep](https://www.anchorterminal.com/compare/bright-data-vs-olostep.md)\n- [Bright Data vs Zyte API](https://www.anchorterminal.com/compare/bright-data-vs-zyte.md)\n- [Jina Reader vs Olostep](https://www.anchorterminal.com/compare/jina-reader-vs-olostep.md)\n- [Jina Reader vs Zyte API](https://www.anchorterminal.com/compare/jina-reader-vs-zyte.md)\n- [Olostep vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/olostep-vs-oxylabs-web-scraper.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- [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- [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 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-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Olostep vs Zyte API",
        "url": ""
      }
    ],
    "description": "Zyte API scores 69.7 (B) on agent readiness against Olostep's 63 (B), and leads in 5 of 7 scored categories. Olostep leads on agent ergonomics and payments \u0026 pricing. Both do scraping. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Olostep B 63",
      "Zyte API B 69.7",
      "scores"
    ],
    "h1": "Olostep vs Zyte API",
    "image": "https://www.anchorterminal.com/assets/og/compare-olostep-vs-zyte.png",
    "path": "/compare/olostep-vs-zyte",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Olostep vs Zyte API for AI agents, B 63 vs B 69.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/olostep-vs-zyte"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
