{
  "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.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"
      }
    },
    "b": {
      "slug": "scrapfly",
      "name": "Scrapfly",
      "vendor": "Scrapfly (Joam Intelligence, LLC)",
      "vendorUrl": "https://scrapfly.io",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scrape API with datacenter or residential proxies, JS rendering and an anti-bot Unblocker, plus screenshot, LLM extraction, crawler and hosted Cloud Browser APIs on one credit balance.",
      "url": "https://www.anchorterminal.com/tools/scrapfly",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapfly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapfly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapfly.json",
      "repo": "https://github.com/scrapfly/scrapfly-mcp",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.scrapfly.io/scrape",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapfly-sdk"
        },
        {
          "registry": "npm",
          "name": "scrapfly-sdk"
        },
        {
          "registry": "npm",
          "name": "scrapfly-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the `key` query parameter (their canonical form) or the `X-Scrapfly-Api-Key` header. Keys are per project, `scp-live-` for live and `scp-test-` for sandbox. The hosted MCP accepts OAuth 2.0, a Bearer key or `?key=` in the URL.",
      "pricing": "freemium",
      "pricingNotes": "1,000 free credits on signup, no card. Discovery $30 a month (200,000 credits), Pro $100 (1 million), Startup $250 (2.5 million), Enterprise $500 (5.5 million), custom from $1,200. Annual billing gives 2 months free. A datacenter request costs 1 credit, residential 25, browser rendering adds 5, and the Unblocker can add target-specific fees that aren't published. Extra credits run $5 per 10,000 on Discovery down to $1.20 on Enterprise, and Discovery and Free stop at quota (https://scrapfly.io/pricing).",
      "priceSummary": "$30 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in llms.txt, the docs index or pricing.md (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 61,
      "popularity": {
        "githubStars": 14,
        "npmWeekly": 21337,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://scrapfly.io/docs",
      "llmsTxt": "https://scrapfly.io/docs/llms.txt",
      "registryName": "io.scrapfly.mcp/mcp",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "web.extract",
        "web.crawl",
        "browser.hosted",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "mcp",
        "llms-txt",
        "proxies",
        "python",
        "typescript",
        "openapi",
        "closed-source"
      ],
      "lastRelease": "2026-09-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.8,
        "grade": "B",
        "agentReady": false,
        "rank": 107,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes. The MCP server loads 61 tools at once.",
        "strengths": [
          "Error catalogue of 100+ ERR:: codes, each with HTTP status, retryable and billed flags and a doc link",
          "Hosted MCP with OAuth open to all plans, and API keys restrictable to products since 15 April 2026",
          "MCP tools carry readOnlyHint, destructiveHint and idempotentHint, and mutating vault and alert tools need confirm=true",
          "SOC 2 Type II and ISO 27001 claims, a public SOC 3 report and a published DPA",
          "1,000 free credits with no card, and official SDKs in Python, TypeScript, Go and Rust"
        ],
        "weaknesses": [
          "The open-source MCP server registers 61 tools at once, a heavy tools/list",
          "The canonical API auth form and one MCP option put the key in the URL query string",
          "Status page shows an overall state only, with no components or incident history, and status.scrapfly.io doesn't resolve",
          "Residential requests cost 25 credits and per-target Unblocker surcharges aren't published",
          "No SLA, and the terms disclaim uptime"
        ],
        "agentNotes": [
          "Send `X-Scrapfly-Api-Key` as a header rather than `key=` so the key stays out of logs",
          "Pass `unblocker=false` to the MCP web_scrape tool for plain pages, since it's on when omitted. `asp` is the deprecated alias",
          "Set `cost_budget` on each scrape so an Unblocker upgrade can't blow through credits",
          "Check `retryable` in the error body before retrying, and stop on `ERR::THROTTLE::MAX_API_CREDIT_BUDGET_EXCEEDED`",
          "Use web_get_page for a simple fetch and save cloud_browser_open for pages that need clicks"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.8
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 50,
          "schema": 95,
          "security": 70,
          "transparency": 58
        },
        "provenanceScore": 96
      },
      "connect": {
        "http": "curl -G \"https://api.scrapfly.io/scrape\" -H \"X-Scrapfly-Api-Key: $SCRAPFLY_API_KEY\" \\\n  --data-urlencode \"url=https://example.com\" -d \"format=markdown\"",
        "claudeCode": "claude mcp add --transport http scrapfly https://mcp.scrapfly.io/mcp",
        "config": {
          "mcpServers": {
            "scrapfly": {
              "args": [
                "mcp-remote",
                "https://mcp.scrapfly.io/mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapfly"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Discovery plan",
          "unit": "month",
          "usd": 30,
          "note": "200,000 credits, hard cap at quota"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 100,
          "note": "1,000,000 credits, extra at $3.50 per 10,000"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 250,
          "note": "2,500,000 credits, extra at $2 per 10,000"
        },
        {
          "item": "Enterprise plan",
          "unit": "month",
          "usd": 500,
          "note": "5,500,000 credits, extra at $1.20 per 10,000"
        },
        {
          "item": "Datacenter request on Discovery",
          "unit": "1k-requests",
          "usd": 0.15,
          "note": "1 credit a request, no rendering"
        },
        {
          "item": "Residential request on Discovery",
          "unit": "1k-requests",
          "usd": 3.75,
          "note": "25 credits a request"
        },
        {
          "item": "Extra credit on Discovery",
          "unit": "credit",
          "usd": 0.0005,
          "note": "$5 per 10,000"
        }
      ],
      "provenance": {
        "legalEntity": "Joam Intelligence, LLC",
        "domain": "scrapfly.io",
        "domainRegistered": "2018-09-12",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapfly.io/terms-of-service",
        "privacy": "https://scrapfly.io/privacy-policy",
        "statusPage": "https://scrapfly.io/status",
        "changelog": "https://scrapfly.io/docs/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "scrapfly.io/status shows an overall state with no components or history. status.scrapfly.io, linked from llms.txt, still didn't resolve in DNS on 2026-10-01.",
          "The terms were updated on 2026-09-30 and now name only Joam Intelligence, LLC, governed by US law, with no postal address.",
          "security.txt expires 2027-03-29, per the 30 September check."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapfly.json",
      "live": {
        "slug": "scrapfly",
        "probe": {
          "target": "https://api.scrapfly.io/scrape",
          "method": "get",
          "lastAt": "2026-10-05T00:57:27.841101961Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 445,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 441,
          "p95ms24h": 481,
          "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://scrapfly.io/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.432759406Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.scrapfly.mcp/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-mcp",
            "version": "1.3.4",
            "seenAt": "2026-10-04T16:39:16.388360785Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "seenAt": "2026-10-04T16:39:15.601373792Z"
          },
          {
            "registry": "pypi",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:39:15.414338042Z"
          }
        ],
        "githubStars": 14,
        "npmWeekly": 20536,
        "pypiWeekly": 57312,
        "securityTxt": {
          "url": "https://scrapfly.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-02T15:15:40Z",
          "checkedAt": "2026-10-04T15:15:39.755631026Z"
        },
        "llmsTxt": {
          "url": "https://scrapfly.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.57015644Z"
        },
        "domain": {
          "domain": "scrapfly.io",
          "checkedAt": "2026-10-04T13:08:19.054714067Z"
        },
        "pages": [
          {
            "url": "https://scrapfly.io/docs/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:32.723703203Z",
            "changedAt": "2026-10-03T15:35:32.310065403Z",
            "fingerprint": "d4ec33117264"
          },
          {
            "url": "https://scrapfly.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:35.49209853Z",
            "changedAt": "2026-10-03T15:35:35.046049372Z",
            "fingerprint": "f25420398c41"
          },
          {
            "url": "https://scrapfly.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:36.870285473Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "39d17934c8b2"
          },
          {
            "url": "https://scrapfly.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:39.557905673Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6284dfb7667"
          }
        ],
        "updatedAt": "2026-10-05T00:57:27.841101961Z"
      }
    },
    "summary": "Scrapfly has a score of 69.8 (B) against Olostep's 63.1 (B). Both do scraping. The largest gap is security \u0026 auth, 42 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly",
    "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md",
    "slim": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly.min.md"
  },
  "markdown": "Scrapfly has a score of 69.8 (B) against Olostep's 63.1 (B). Both do scraping. The largest gap is security \u0026 auth, 42 points.\n\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- Scrapfly: grade B, 69.8/100, rank #107 of 452. Markdown https://www.anchorterminal.com/tools/scrapfly.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapfly.json\n\n## Which one, for what\n\nPick Olostep for reliability (+10), agent ergonomics (+7), payments \u0026 pricing (+25).\n\nPick Scrapfly for schema \u0026 documentation (+11), security \u0026 auth (+42), maintenance \u0026 community (+26), transparency \u0026 trust (+17).\n\n## Score by category\n\n| Category | Weight | Olostep | Scrapfly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 50 | Olostep +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 95 | Scrapfly +11 |\n| Agent ergonomics | 13% (16.2 this run) | 87 | 80 | Olostep +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 28 | 70 | Scrapfly +42 |\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 | 84 | Scrapfly +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 77 | Scrapfly +17 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.1 · B** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | Olostep | Scrapfly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Olostep Technologies, Inc. | Scrapfly (Joam Intelligence, LLC) |\n| Hosted endpoint | `https://api.olostep.com` | `https://api.scrapfly.io/scrape` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | payer tooling only | no |\n| Licence | MIT | none |\n| Tools exposed | 11 | 61 |\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 | yes | yes |\n| MCP registry | `io.github.olostep/olostep-mcp-server` | `io.scrapfly.mcp/mcp` |\n| Last release | 2026-07-15 | 2026-09-08 |\n| Popularity | 24 stars, 8.9k npm/wk, 2k PyPI/wk | 14 stars, 21k npm/wk |\n| Agent reviews | 3.5/5 (2) | 4/5 (2) |\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**Scrapfly.** The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes. The MCP server loads 61 tools at once.\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### Scrapfly\n\n1. Send `X-Scrapfly-Api-Key` as a header rather than `key=` so the key stays out of logs\n2. Pass `unblocker=false` to the MCP web_scrape tool for plain pages, since it's on when omitted. `asp` is the deprecated alias\n3. Set `cost_budget` on each scrape so an Unblocker upgrade can't blow through credits\n4. Check `retryable` in the error body before retrying, and stop on `ERR::THROTTLE::MAX_API_CREDIT_BUDGET_EXCEEDED`\n5. Use web_get_page for a simple fetch and save cloud_browser_open for pages that need clicks\n\n## Other comparisons with Olostep or Scrapfly\n\n- [Bright Data vs Olostep](https://www.anchorterminal.com/compare/bright-data-vs-olostep.md)\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [Jina Reader vs Olostep](https://www.anchorterminal.com/compare/jina-reader-vs-olostep.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.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 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- [Scrape.do vs Scrapfly](https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.md)\n- [ScrapeGraphAI vs Scrapfly](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.md)\n- [Scrapeless vs Scrapfly](https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.md)\n- [Scrapfly vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.md)\n- [Scrapfly vs ScrapingBee](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.md)\n- [Scrapfly vs Scrapingdog](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.md)\n- [Scrapfly vs Spider](https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud.md)\n- [Scrapfly vs ZenRows](https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.md)\n- [Firecrawl MCP vs Olostep](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-olostep.md)\n- [Firecrawl MCP vs Scrapfly](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.md)\n- [Apify MCP Server vs Olostep](https://www.anchorterminal.com/compare/apify-mcp-vs-olostep.md)\n- [Apify MCP Server vs Scrapfly](https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly.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": "Olostep vs Scrapfly",
        "url": ""
      }
    ],
    "description": "Scrapfly has a score of 69.8 (B) against Olostep's 63.1 (B). Both do scraping. The largest gap is security \u0026 auth, 42 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Olostep B 63.1",
      "Scrapfly B 69.8",
      "scores"
    ],
    "h1": "Olostep vs Scrapfly",
    "image": "https://www.anchorterminal.com/assets/og/compare-olostep-vs-scrapfly.png",
    "path": "/compare/olostep-vs-scrapfly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Olostep vs Scrapfly for AI agents, B 63.1 vs B 69.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapfly"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 330
  },
  "version": 1
}
