{
  "data": {
    "a": {
      "slug": "nexscope",
      "name": "Nexscope",
      "vendor": "ECOCREATE TECHNOLOGY PTE. LTD.",
      "vendorUrl": "https://www.nexscope.ai",
      "kind": "platform",
      "category": "web-scrapers",
      "summary": "Nexscope is a hosted platform for ecommerce sellers with marketplace product, keyword and competitor data for Amazon, TikTok Shop, Walmart, Temu, 1688 and others, plus AI product images and video, through a web app, REST API and remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/nexscope",
      "markdownUrl": "https://www.anchorterminal.com/tools/nexscope.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nexscope.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nexscope.json",
      "dns": "nexscope.grade.anchorterminal.com",
      "repo": "https://github.com/nexscope-ai/nexscope-ecommerce-api",
      "license": "Proprietary hosted service under the Nexscope terms (last updated 8 October 2026), whose contracting party is ECOCREATE TECHNOLOGY PTE. LTD. of Singapore. The OpenAPI file's licence is 'Proprietary API; use subject to Nexscope Terms'. In github.com/nexscope-ai/nexscope-ecommerce-api only the example clients, validation scripts, tests and workflow are MIT. The API documentation, catalogue, definitions and sample data stay copyright Nexscope",
      "transports": [
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://api.nexscope.ai/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "The remote MCP server takes OAuth 2.1 (authorisation code with PKCE, scope `mcp:tools`) in clients that support it, or a Nexscope API key as `Authorization: Bearer nk-...`, which the tool pages call a compatibility option. The REST API takes the same key as a Bearer header. A person signs in and creates the key under API Access, API Keys. The full key is shown once, and keys can be expired, disabled or deleted, per the help page's troubleshooting. No key scopes, rotation rule or key-management API were found. Creative API key access needs an active subscription. Trial credits don't enable it. The OAuth metadata on api.nexscope.ai was not read (https://www.nexscope.ai/mcp-map/amazon-search, https://www.nexscope.ai/help/skills-external-access, https://github.com/nexscope-ai/nexscope-ecommerce-api, checked 2026-11-10).",
      "pricing": "paid",
      "pricingNotes": "Credits on a monthly subscription. A Free Trial gives 1,000 credits for 3 days with no card, at 1 API and 1 MCP request a second and 1 concurrent each, with no video API. Starter is $29 a month for 30,000 credits (3 requests a second, 2 concurrent), Growth $55 for 75,000 (5 and 4) and Pro $129 for 150,000 (10 and 8), each half price for the first period, with yearly billing and credits that reset monthly and don't roll over. Pay-as-you-go top-ups buy Data credits only, with no subscription. Each tool has its own credit cost, at least 10 for a Data API call. Amazon Search shows 'from 21 credits per call' and a recent average of 30. Refunds within 7 days if unused, per the terms. The home page listed Growth at $69 on the same day (https://www.nexscope.ai/pricing, https://www.nexscope.ai/mcp-map, https://www.nexscope.ai/terms, checked 2026-11-10).",
      "priceSummary": "$0.001 / credit",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the API quickstart, the MCP map, llms.txt, the visible part of the OpenAPI file or the GitHub repository on 2026-11-10. Credits come from a subscription or a Data top-up after a browser sign-in (https://www.nexscope.ai/pricing).",
        "endpoints": []
      },
      "toolCount": 382,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-10"
      },
      "docsUrl": "https://www.nexscope.ai/api-docs",
      "llmsTxt": "https://www.nexscope.ai/llms.txt",
      "openapi": "https://api.nexscope.ai/openapi.json",
      "registryName": "io.github.nexscope/ecommerce",
      "capabilities": [
        "web.extract",
        "shopping.search",
        "shopping.prices",
        "seo.keywords",
        "seo.backlinks",
        "search.serp",
        "image.generate",
        "image.edit",
        "video.generate",
        "video.image-to-video"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "marketplace",
        "shopping",
        "images",
        "video",
        "credits",
        "subscription",
        "free-trial",
        "no-card",
        "new"
      ],
      "lastRelease": "2026-11-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.2,
        "grade": "D",
        "agentReady": false,
        "rank": 1191,
        "ranked": true,
        "rankOf": 1520,
        "categoryRank": 28,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 65,
          "payments": 35,
          "reliability": 39,
          "schema": 64,
          "security": 41,
          "transparency": 41
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-10"
        },
        "negative": 0,
        "verdict": "An agent can reach Amazon, TikTok Shop, Temu, 1688 and other marketplace data, plus image and video models, on one credit balance through a remote MCP server with OAuth or a REST API with a public OpenAPI file. The connection loads 382 tools at once, and there is no status page, changelog or idempotency key.",
        "bestFor": "Agents that research ecommerce products, competitors, keywords, sourcing and patents across Amazon, TikTok Shop, Walmart, Temu, 1688 and other marketplaces, and that also make listing images and video, on one credit balance.",
        "strengths": [
          "Marketplace product, keyword, competitor and sourcing data across more than ten marketplaces behind one key and one MCP endpoint",
          "OAuth 2.1 with PKCE and a `mcp:tools` scope on the MCP server, or a Bearer key shown once",
          "A public OpenAPI 3.1 file and a GitHub repository with request and response definitions, samples and standard-library clients for every documented API",
          "Per-plan API and MCP request limits published, and a 3-day trial of 1,000 credits with no card",
          "1688 order, payment-link, receipt and cancel calls each need an explicit JSON `true` confirmation field"
        ],
        "weaknesses": [
          "The MCP connection advertises the full catalogue of 382 tools, with no toolsets or read-only subset",
          "No status page, SLA, public changelog or security.txt found",
          "No idempotency keys, and business errors answer HTTP 200 unless a header asks otherwise",
          "The privacy policy states no retention periods and names no hosting, AI or data suppliers",
          "Many Data definitions are field descriptors rather than JSON Schema, and the Amazon Search tool page omits the `keyword` argument its own examples pass"
        ],
        "agentNotes": [
          "Check the outer `code` is 0 before reading `data`, or send `X-Nexscope-Http-Status: semantic` to get HTTP error statuses.",
          "Call an image or video tool once, keep the `taskId`, and poll `nexscope_media_task_result`. A second call bills a second job.",
          "Read the tool's credit cost before a call. Each tool costs at least 10 credits and some cost over 300.",
          "Before you set a 1688 confirmation field to `true`, show the user the preview and get approval.",
          "If the server returns 429 or 503, wait for `Retry-After` when present and back off."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.2
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 65,
          "payments": 35,
          "reliability": 39,
          "schema": 64,
          "security": 41,
          "transparency": 33
        },
        "provenanceScore": 48,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-10",
            "maintenance": "2026-11-10",
            "payments": "2026-11-10",
            "reliability": "2026-11-10",
            "schema": "2026-11-10",
            "security": "2026-11-10",
            "transparency": "2026-11-10"
          },
          "last": "2026-11-10",
          "oldest": "2026-11-10",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl --fail-with-body -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/amazon-search/run' \\\n  -H \"Authorization: Bearer $NEXSCOPE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Nexscope-Http-Status: semantic' \\\n  -d '{\"keyword\":\"phone case\",\"page\":1}'",
        "config": {
          "mcpServers": {
            "nexscope": {
              "headers": {
                "Authorization": "Bearer YOUR_NEXSCOPE_API_KEY"
              },
              "type": "streamableHttp",
              "url": "https://api.nexscope.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.extract",
        "tool": "https://letme.dev/nexscope"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Nexscope credit (Starter)",
          "unit": "credit",
          "usd": 0.00097,
          "note": "$29 a month for 30,000 credits, half price in the first month. Credits reset monthly"
        },
        {
          "item": "Nexscope credit (Pro)",
          "unit": "credit",
          "usd": 0.00086,
          "note": "$129 a month for 150,000 credits"
        },
        {
          "item": "Amazon Search tool call (Starter)",
          "unit": "call",
          "usd": 0.029,
          "note": "A recent average of 30 credits, range 16 to 94, per the MCP tool page on 10 November 2026. About 20 results a page"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 29,
          "note": "30,000 credits, 3 API and 3 MCP requests a second, 2 concurrent each"
        }
      ],
      "provenance": {
        "legalEntity": "ECOCREATE TECHNOLOGY PTE. LTD.",
        "domain": "nexscope.ai",
        "domainRegistered": "2026-03-04",
        "domainNote": "RDAP (Identity Digital) gives nexscope.ai a registration date of 4 March 2026 through GoDaddy, with the registrant behind Domains By Proxy. The terms and privacy policy name ECOCREATE TECHNOLOGY PTE. LTD., 'a company incorporated in Singapore', with no registration number or street address.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.nexscope.ai/terms",
        "privacy": "https://www.nexscope.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-10",
        "notes": [
          "The terms (last updated 8 October 2026) name ECOCREATE TECHNOLOGY PTE. LTD. under the laws of Singapore with SIAC arbitration seated in Singapore, cap liability at the amount paid in the six months before a claim, promise no availability, permit the official APIs and MCP integrations within plan limits, forbid bots and scrapers outside them, and give notice of material changes through the service or by email.",
          "The privacy policy (last updated 8 October 2026) names the same company, says uploaded materials are not used to train AI models, names Google Analytics, Microsoft Clarity, Ahrefs Analytics, Google Ads, X advertising and FirstPromoter, lists hosting, storage, AI processing, payment, email, support and authentication providers only by type, gives no retention periods ('this policy does not specify a single deletion deadline for all data') and mentions no DPA.",
          "https://www.nexscope.ai/.well-known/security.txt answered a client error. No status page or changelog is linked from the home page, llms.txt, the API quickstart or the MCP map.",
          "robots.txt on www.nexscope.ai gives `*` and twelve named crawlers, ClaudeBot among them, the same rules and disallows /api/ and /share/. Nothing there was fetched. api.nexscope.ai publishes no robots.txt (/robots.txt answers a JSON login error). Only /openapi.json and one GET to /mcp were sent there, per the batch. The MCP registry's /robots.txt answered a client error.",
          "firstReleased is 2026-08-07, the date on Nexscope's launch post ('Updated Aug 07, 2026', no earlier publication date shown), which names API, MCP and Skills as the ways to connect an agent and 1,000 free starting credits. The API repository dates its snapshot of an already public directory of 225 APIs to 10 September 2026, and the OpenAPI version label is 2026-08-28-public-catalog-v1. The domain dates from 4 March 2026 and the npm `nexscope` skills CLI from 20 March 2026, but neither reaches the API. lastRelease is 2026-11-09, when the 1688 procurement API contracts were synced as released."
        ],
        "score": 48
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nexscope.json",
      "live": {
        "slug": "nexscope",
        "probe": {
          "target": "https://api.nexscope.ai/mcp",
          "method": "get",
          "lastAt": "2026-11-11T06:59:50.048088824Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 305,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 271,
          "p95ms24h": 358,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-11",
              "probes": 43,
              "ok": 43
            }
          ],
          "since": "2026-11-11T02:53:20.057234625Z"
        },
        "githubStars": 18,
        "updatedAt": "2026-11-11T06:59:50.048088824Z"
      },
      "streak": {
        "days": 0,
        "from": "2026-11-11",
        "sinceWatching": true,
        "best": 0
      }
    },
    "answer": "Scrapfly scores 74.5 (BB) on agent readiness against Nexscope's 46.2 (D), and leads in every scored category.",
    "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",
      "dns": "scrapfly.grade.anchorterminal.com",
      "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": 62,
      "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-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 86,
        "ranked": true,
        "rankOf": 1520,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 85,
          "schema": 95,
          "security": 75,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "-3 for an unadvised security fix in the listing's own MCP server. Before v1.4.0 (15 October 2026), a caller of the multi-caller HTTP server could look up and drive another caller's Cloud Browser session, since session lookup wasn't scoped to the API key. Commit 5263030 (1 October) fixed it, and the code comments describe the cross-caller exposure, but no advisory or release note says so. GitHub's advisory page couldn't be read. https://github.com/scrapfly/scrapfly-mcp/commit/52630304aadca11ad4d8c42adbd4cf1d920c0d68"
        ],
        "verdict": "The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes, and the Statuspage history shows no incident since May 2026. The MCP server loads 62 tools at once, and the API's canonical form puts the key in the URL.",
        "bestFor": "An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.",
        "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",
          "Statuspage history with 25 components and no incident posted since 21 May 2026",
          "1,000 free credits with no card, and official SDKs in Python, TypeScript, Go and Rust"
        ],
        "weaknesses": [
          "The open-source MCP server registers 62 tools at once, a heavy tools/list",
          "The canonical API auth form and one MCP option put the key in the URL query string",
          "MCP v1.4.0 fixed cross-caller Cloud Browser session access in the HTTP server with no advisory or release note",
          "Residential requests cost 25 credits and per-target Unblocker surcharges aren't published",
          "No uptime 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": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.5
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 40,
          "reliability": 85,
          "schema": 95,
          "security": 75,
          "transparency": 58
        },
        "provenanceScore": 92,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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-11-01",
        "notes": [
          "scrapfly.io/status answers with Statuspage's status JSON for the page at scrapfly.statuspage.io, which has 25 components and incident history back to 2022 (read on 2026-11-01). status.scrapfly.io didn't resolve 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 at scrapfly.io/.well-known/security.txt gives legal@scrapfly.io and expires 2027-04-30 (read on 2026-11-01)."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapfly.json",
      "live": {
        "slug": "scrapfly",
        "probe": {
          "target": "https://api.scrapfly.io/scrape",
          "method": "get",
          "lastAt": "2026-11-11T06:59:59.716904058Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 496,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 463,
          "p95ms24h": 583,
          "samples24h": 244,
          "samples30d": 7731,
          "days": [
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-09",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-10",
              "probes": 244,
              "ok": 244
            },
            {
              "date": "2026-11-11",
              "probes": 72,
              "ok": 72
            }
          ],
          "since": "2026-10-08T00:00:00Z"
        },
        "vendorStatus": {
          "page": "https://scrapfly.io/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-11T05:35:46.108203704Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.scrapfly.mcp/mcp",
            "version": "1.5.0",
            "seenAt": "2026-11-10T19:22:02.357354042Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-mcp",
            "version": "1.5.2",
            "seenAt": "2026-11-11T06:34:17.941248076Z"
          },
          {
            "registry": "npm",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "seenAt": "2026-11-11T06:34:17.554546311Z"
          },
          {
            "registry": "pypi",
            "name": "scrapfly-sdk",
            "version": "0.12.0",
            "released": "2026-09-08",
            "seenAt": "2026-11-11T06:34:17.316415634Z"
          }
        ],
        "githubStars": 15,
        "npmWeekly": 35954,
        "pypiWeekly": 91349,
        "securityTxt": {
          "url": "https://scrapfly.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-09T16:08:19Z",
          "checkedAt": "2026-11-10T16:08:18.705638879Z"
        },
        "llmsTxt": {
          "url": "https://scrapfly.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-10T15:44:33.936592065Z"
        },
        "domain": {
          "domain": "scrapfly.io",
          "checkedAt": "2026-11-08T15:02:03.605311266Z"
        },
        "pages": [
          {
            "url": "https://scrapfly.io/docs/release-notes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-10T16:30:29.095676268Z",
            "changedAt": "2026-10-30T05:47:57.421528308Z",
            "fingerprint": "8a91b5eccc7d"
          },
          {
            "url": "https://scrapfly.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-10T16:30:31.952078464Z",
            "changedAt": "2026-10-03T15:35:35.046049372Z",
            "fingerprint": "f25420398c41"
          },
          {
            "url": "https://scrapfly.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-10T16:30:33.25170348Z",
            "changedAt": "2026-10-22T01:25:11.179303727Z",
            "fingerprint": "87d893df699e"
          },
          {
            "url": "https://scrapfly.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-10T16:30:35.396824926Z",
            "changedAt": "2026-10-09T18:45:01.532788038Z",
            "fingerprint": "418fa790a7a3"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.scrapfly.io/mcp",
          "checkedAt": "2026-11-11T02:44:28.002277824Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:31.289598768Z"
        },
        "github": {
          "repo": "scrapfly/scrapfly-mcp",
          "checkedAt": "2026-11-09T10:59:38.239305459Z",
          "stars": 15,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-09T09:55:46Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 1,
          "issuesClosed90d": 1,
          "prsMerged90d": 3,
          "ci": {
            "branch": "main",
            "runs": 33,
            "success": 33,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-09T09:55:55Z"
          },
          "replies": {
            "sampled": 2,
            "unanswered": 0,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-11T06:59:59.716904058Z"
      },
      "streak": {
        "days": 16,
        "from": "2026-10-26",
        "last": {
          "kind": "breaking",
          "date": "2026-10-26",
          "what": "Cloud Browser on Scrapium 156 drops the CDP command `Storage.getRelatedWebsiteSets`, with no replacement",
          "source": "https://scrapfly.io/docs/release-notes"
        },
        "best": 18
      }
    },
    "edges": [
      {
        "by": 46,
        "category": "reliability",
        "leads": "scrapfly",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines, graded on the remote MCP server and the REST API at api.nexscope.ai. No status page is linked from the home page, llms.txt, the API quickstart or the MCP map, and none was found (0). With no page there is no incident history to read (5). The pricing page publishes requests a second and concurrency per plan, the same for API and MCP, with 1 and 1 on the trial, 3 and 2 on Starter, 5 and 4 on Growth, 10 and 8 on Pro (15). The quickstart calls 429 an 'execution admission rate limit' and says to honour `Retry-After` on 429 and 503 when present. No idempotency key exists. The repository says 'Do not blindly retry POST requests' and to check whether a task was created before resubmitting, and the MCP tool pages say a reconnecting client should query existing async work rather than resubmit. SoldFetch earned 15 with idempotency keys and SandBase 11 with keys on some writes, so guidance without keys earns 9 (9 of 15). No SLA, and the terms say 'We cannot guarantee the Service will be available at all times' (0). No beta or preview label on the API or the MCP server (10). 0+5+15+9+0+10 = 39.",
          "b": "scrapfly.io/status answers with Statuspage's status JSON, which names its page as scrapfly.statuspage.io. That page has 25 components and incident history back to 2022, read through its history feed on 1 November. The 1 October check read only the overall state and found no history (20, was 10). The newest incident is a Scrapium rendering fault on 21 May 2026, so nothing is posted in the 90 days from 3 August (30, was 5). Concurrency per plan is published (5 on Discovery to 100 on Enterprise) and each project has a configurable per-minute throttle (15). The error catalogue marks every code retryable or not and has three ERR::THROTTLE codes, but we found no Retry-After header or backoff guidance on the errors or throttling pages (10 of 15). The terms disclaim uptime and no uptime SLA is published, and the pricing page's SLA mentions cover support response on Enterprise (0). The Scrape API is GA. Vault and alerting are beta, outside the main surface (10). 20+30+15+10+0+10 = 85."
        },
        "scores": {
          "a": 39,
          "b": 85
        }
      },
      {
        "by": 36,
        "category": "ergonomics",
        "leads": "scrapfly",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read on the MCP server, with the REST API where a line covers it. The MCP map lists 382 tools and says the category manifests 'narrow metadata for your integration; the MCP connection still advertises the full catalog'. That is more than 30 tools with no toolsets, dynamic loading or read-only subset found (5). Search tools page by `page` (about 20 results), with filters such as marketplace, category node, sort and device per tool, but no general pagination model or field selection, and output size depends on each tool (12 of 20). By default business errors answer HTTP 200 with an outer `code`. The `X-Nexscope-Http-Status: semantic` header maps them to HTTP statuses, the OpenAPI file names codes such as `DATA_IMAGE_DOWNLOAD_FAILED` and `CAPABILITY_BACKEND_UNAVAILABLE` in field text, and MCP errors aren't documented. SandBase earned 16 with typed bridge errors (11 of 20). Data calls only read. No idempotency keys and no readOnlyHint or destructiveHint documented. Async jobs return a `taskId` with a poll tool and a rule not to resubmit, and 1688 order, payment-link, receipt and cancel calls need an explicit JSON `true` confirmation (8 of 20). Few required parameters with defaults on most. No official SDK package, only standard-library clients in the repository for JavaScript and Python, which SoldFetch earned 8 for (8 of 15). 5+12+11+8+8 = 44.",
          "b": "The open-source server registers 62 tools by default in v1.4.0 (5 web scraping, 2 account, 9 Cloud Browser sessions, 17 page interaction, 2 WebMCP, 15 credential vault, 12 alerts), all at once, and the docs list a smaller core. There's a code path to mount interaction tools per session, but registration is always-on for clients that don't refetch. On the API side, format=markdown and the extraction API keep responses small, and since v1.4.0 the scrape tools report `api_cost` and `cost_details` (10 of 25). Output format, extraction templates, crawler limits and 100-URL batches (15 of 20). Error codes an agent can branch on, with retryable and billed flags (20). Tools carry readOnlyHint, destructiveHint, idempotentHint and openWorldHint, and mutating vault and alert tools need confirm=true after a preview (20). web_get_page works with a URL alone, and official SDKs exist for Python, TypeScript, Go and Rust (15). 10+15+20+20+15 = 80."
        },
        "scores": {
          "a": 44,
          "b": 80
        }
      },
      {
        "by": 34,
        "category": "security",
        "leads": "scrapfly",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "The MCP server takes OAuth 2.1 with PKCE and one scope, `mcp:tools`, per the tool pages, or a Bearer `nk-` API key. Keys are created by a person under API Access, shown once, and can be expired, disabled or deleted, with no scopes or rotation found. The OAuth metadata on api.nexscope.ai wasn't read. No query-string key option was found. Manifold earned 22 with OAuth and hashed keys whose storage it documents (20 of 30). Most tools read. Writes exist (1688 procurement on the user's own buyer account, Amazon Ads entity operations through an owned connection, paid generation jobs), and the 1688 calls need an explicit JSON `true` per action after a preview, with the guide saying to get the user's approval first. Credits cap spend. No read-only key or tool allowlist (12 of 20). Tools return third-party listings, reviews, social posts and web pages, and no prompt-injection guidance was found. Manifold, the closest marketing-data MCP, took 0 (0). The Account credits and Account usage APIs, `costToken` in data responses and credits charged on task results give per-call visibility. No key-level audit was found (9 of 15). security.txt answered a client error. No disclosure policy, bug bounty or certification found (0 of 20). 20+12+0+9+0 = 41.",
          "b": "OAuth 2 on the hosted MCP with dashboard revocation, open to all plans. API keys are per project, live or test, and since 15 April 2026 can be restricted to products (30). The canonical API form puts the key in the key query parameter and the MCP also accepts ?key=, so less 10 (20 of 30). Product-restricted keys, confirm=true on every mutating vault and alert tool, info_api_key off in server-key mode, and the self-hosted HTTP server binds loopback by default. Since v1.4.0 Cloud Browser sessions are scoped to the API key that opened them (15 of 20). The source gates mutating vault tools behind a preview step because prompt injection can reach them and redacts keys from CDP URLs. We found no user-facing guidance on untrusted page content (8 of 15). Monitoring shows every call as a log with its error, credit cost line by line and Unblocker state, with replay, per the 24 October release notes, as well as per-domain metrics and alerting. The 1 October check couldn't confirm per-request logs (15, was 10). security.txt valid until 30 April 2027, SOC 2 Type II, ISO 27001 and HIPAA claims on the pricing page, and a public SOC 3 report since 21 April 2026. No bug bounty found (17 of 20). 20+15+8+15+17 = 75."
        },
        "scores": {
          "a": 41,
          "b": 75
        }
      },
      {
        "by": 34,
        "category": "transparency",
        "leads": "scrapfly",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. The service is closed. The terms (8 October 2026) name ECOCREATE TECHNOLOGY PTE. LTD. under Singapore law with no registration number or address. The repository's MIT licence covers client code only, and the documentation and definitions stay copyright Nexscope. Scrapewise earned 15 for closed terms with MIT side code (15 of 30). The privacy policy (8 October 2026) says uploads are not used to train AI models and that connected selling-partner data is deleted or de-identified when no longer needed, but 'this policy does not specify a single deletion deadline for all data', and no DPA was found. SandBase took 12 with no retention periods (10 of 30). No deprecation policy or dated notices. The terms promise notice of material changes before they take effect where practicable, and the MCP map keeps a legacy v1 beside v2 (3 of 20). Analytics and advertising vendors are named (Google Analytics, Microsoft Clarity, Ahrefs, Google Ads, X, FirstPromoter), but hosting, AI processing and payment providers only by type, with no data locations. The repository's source notes say supplier references 'are presented as Nexscope', so the data suppliers go unnamed except LinkFox Agent for 1688 authorisation (5 of 20). 15+10+3+5 = 33. The provenance half is computed from the provenance block.",
          "b": "Closed service with terms updated 2026-09-30 under US law. SDKs are BSD 2-Clause, and the MCP source is public with no LICENSE file and ISC in package.json (15 of 30). Privacy policy updated 14 May 2026 with a published DPA and HIPAA BAA, but retention is as long as necessary, and the retention of scraped content isn't stated (18 of 30). Release notes date deprecations and removals, for example Scrapium v153 dropping legacy network interception on 11 September. No standing deprecation policy found (15 of 20). Stripe, Google Analytics, Google Ads and Google Cloud are named, with SCC and Data Privacy Framework transfers, but there's no full subprocessor list (10 of 20). The release notes still date each CDP removal, most recently `Storage.getRelatedWebsiteSets` in Scrapium v156 on 26 October. Not otherwise re-read on 1 November. 15+18+15+10 = 58."
        },
        "scores": {
          "a": 41,
          "b": 75
        }
      },
      {
        "by": 31,
        "category": "schema",
        "leads": "scrapfly",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A public OpenAPI 3.1 file at api.nexscope.ai/openapi.json, about 3.8 MB, linked from the quickstart. Visible request bodies are typed with required fields, patterns, enums and `additionalProperties: false`, but responses are open `data` objects and the components section, with the security scheme and the shared error response, wasn't reached. In the repository 166 of 252 request definitions are field descriptors rather than JSON Schema. The hosted tools/list wasn't read. SoldFetch took 17 with untyped responses and SandBase 22 with components unread (19 of 25). llms.txt on www.nexscope.ai and Markdown references for every API in the repository (10). MCP tool descriptions are one line ('Find Amazon products by keyword and marketplace. Results come back as structured JSON.'), with no when-not-to-use. The repository's references carry long trigger text ('trigger this skill whenever their need involves real-time Amazon search results'), not guidance on when to pick another tool (10 of 20). Tool pages list types, defaults, enums and length limits, but the Amazon Search page marks no argument required and omits the `keyword` its own examples pass, and many limits sit in prose (8 of 15). Every API has a request sample, a response fixture and cURL, JavaScript and Python clients, though most fixtures are labelled historical. Errors are an HTTP table, two named codes (11209, 12001) and a semantic error response whose schema wasn't read. MCP errors aren't documented (10 of 15). Path versioning under /v1, MCP v2 beside a legacy v1, and a dated OpenAPI version label, but no public changelog. SandBase earned 7 on the same pattern (7 of 15). 19+10+10+8+10+7 = 64.",
          "b": "A Swagger reference per the 30 September check, and the MCP server exposes it as a web_scraping_openapi_specification resource. Every MCP tool has JSON Schema inputs generated from typed Go structs (25). llms.txt and Markdown twins such as pricing.md per the 30 September check. robots.txt still disallows /docs/llms.txt and the .md twins for crawlers it doesn't name, so they weren't re-read on 1 November (10). Descriptions say when to use a tool and when to switch, for example web_get_page falls back to web_scrape for tuning and to cloud_browser_open for interaction. A few are long and steer the model's next step (17 of 20). Typed inputs with enums, for example the vault service discriminator, and required fields (13 of 15). Error catalogue of 100+ ERR:: codes, each with HTTP status, retryable and billed flags and its own doc link (15). Dated release notes, newest 26 October 2026 (15). 25+10+17+13+15+15 = 95."
        },
        "scores": {
          "a": 64,
          "b": 95
        }
      },
      {
        "by": 19,
        "category": "maintenance",
        "leads": "scrapfly",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with a public documentation repository. The repository synced the released 1688 procurement contracts on 9 November 2026 and committed again on 10 November (30). No releases or changelog. The dated record is the registry's four versions on 14 and 16 October, repository commits on 8, 9, 20 and 29 October and 2, 9 and 10 November, and source notes dating WooCommerce (29 October) and design search (2 November) additions. SoldFetch earned 10 for dated commits without releases (10 of 20). No public changelog. Support is service@nexscope.ai, WhatsApp and a booked call, untested. The repository's one merged pull request came from the organisation itself, and GitHub's API refused us, so issues weren't read (5 of 15). The official MCP registry lists `io.github.nexscope/ecommerce`, active, latest 1.0.3 of 16 October 2026, read first-hand (15). A CI workflow runs offline catalogue validation and unit tests on standard-library clients with no dependencies. The run results weren't read (5 of 10). 30+10+5+15+5 = 65.",
          "b": "Scrapium v156 in the release notes on 26 October 2026 and MCP v1.4.0 on 15 October (30). MCP tags v1.3.1 to v1.3.3 (26 and 27 August), v1.3.4 (8 September) and v1.4.0 (15 October), SDKs 0.12.0 on 8 September, and dated release notes on 14, 24 and 26 August, 11, 23 and 25 September, 7, 24 and 26 October (20). Dated release notes most weeks and a support address. We couldn't read GitHub issues, since github.com refuses our reader (12 of 25). In the official MCP registry as io.scrapfly.mcp/mcp under the vendor's domain, though the entry still lists 1.0.0, and the SDKs are current (15). MCP moved to Go 1.27 on 23 October. Its CI runs only a reference check and the npm publish, while the TypeScript SDK runs tests in CI (7 of 10). 30+20+12+15+7 = 84."
        },
        "scores": {
          "a": 65,
          "b": 84
        }
      }
    ],
    "facts": [
      {
        "a": "Platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ECOCREATE TECHNOLOGY PTE. LTD.",
        "b": "Scrapfly (Joam Intelligence, LLC)",
        "name": "Vendor"
      },
      {
        "a": "https://api.nexscope.ai/mcp",
        "b": "https://api.scrapfly.io/scrape",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the Nexscope terms (last updated 8 October 2026), whose contracting party is ECOCREATE TECHNOLOGY PTE. LTD. of Singapore. The OpenAPI file's licence is 'Proprietary API; use subject to Nexscope Terms'. In github.com/nexscope-ai/nexscope-ecommerce-api only the example clients, validation scripts, tests and workflow are MIT. The API documentation, catalogue, definitions and sample data stay copyright Nexscope",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "382",
        "b": "62",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.nexscope/ecommerce",
        "b": "io.scrapfly.mcp/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-09",
        "b": "2026-10-15",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "2026-09-30",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "2026-05-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "14 stars, 21k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Scrapfly scores 74.5 (BB) on agent readiness against Nexscope's 46.2 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Nexscope or Scrapfly?"
      },
      {
        "answer": "Yes. Nexscope has a hosted endpoint at https://api.nexscope.ai/mcp and Scrapfly at https://api.scrapfly.io/scrape.",
        "question": "Can an agent call Nexscope and Scrapfly without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Scrapfly loses 3 points for them"
        ],
        "goodFor": "Agents that research ecommerce products, competitors, keywords, sourcing and patents across Amazon, TikTok Shop, Walmart, Temu, 1688 and other marketplaces, and that also make listing images and video, on one credit balance.",
        "slug": "nexscope",
        "watchFor": "The MCP connection advertises the full catalogue of 382 tools, with no toolsets or read-only subset"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 39",
          "Schema \u0026 documentation, 95 against 64",
          "Agent ergonomics, 80 against 44",
          "Security \u0026 auth, 75 against 41",
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 84 against 65",
          "Transparency \u0026 trust, 75 against 41"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.",
        "slug": "scrapfly",
        "watchFor": "The open-source MCP server registers 62 tools at once, a heavy tools/list"
      }
    ],
    "history": {
      "nexscope": null,
      "scrapfly": [
        {
          "causes": [
            "evidence",
            "event"
          ],
          "date": "2026-11-01",
          "delta": 4.9,
          "from": 69.6,
          "fromGrade": "B",
          "to": 74.5,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 69.8,
          "fromGrade": "B",
          "to": 69.6,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "web.extract",
      "name": "Extraction"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.json",
        "title": "Bright Data vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browseract-vs-scrapfly.json",
        "title": "BrowserAct vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/browseract-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-scrapfly.json",
        "title": "Context.dev vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crawl4ai-vs-scrapfly.json",
        "title": "Crawl4AI vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/crawl4ai-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crw-vs-scrapfly.json",
        "title": "fastCRW vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/crw-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decodo-vs-scrapfly.json",
        "title": "Decodo Web Data API vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/decodo-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.json",
        "title": "Jina Reader vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microlink-vs-scrapfly.json",
        "title": "Microlink vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/microlink-vs-scrapfly"
      },
      {
        "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/outcrawl-vs-scrapfly.json",
        "title": "Outcrawl vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/outcrawl-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.json",
        "title": "Oxylabs Web Scraper API vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly.json",
        "title": "Scrape.do vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly.json",
        "title": "ScrapeGraphAI vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly.json",
        "title": "Scrapeless vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly.json",
        "title": "ScraperAPI vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapewise-vs-scrapfly.json",
        "title": "Scrapewise vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapewise-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.json",
        "title": "Scrapfly vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee.json",
        "title": "Scrapfly vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.json",
        "title": "Scrapfly vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud.json",
        "title": "Scrapfly vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-webscraping-ai.json",
        "title": "Scrapfly vs WebScraping.AI",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-webscraping-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.json",
        "title": "Scrapfly vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-zenrows"
      },
      {
        "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/browseract-vs-nexscope.json",
        "title": "BrowserAct vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/browseract-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-nexscope.json",
        "title": "Context.dev vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crawl4ai-vs-nexscope.json",
        "title": "Crawl4AI vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/crawl4ai-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crw-vs-nexscope.json",
        "title": "fastCRW vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/crw-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decodo-vs-nexscope.json",
        "title": "Decodo Web Data API vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/decodo-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-nexscope.json",
        "title": "Diffbot vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapfly.json",
        "title": "Diffbot vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-nexscope.json",
        "title": "Firecrawl MCP vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-nexscope.json",
        "title": "jevcrawl vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microlink-vs-nexscope.json",
        "title": "Microlink vs Nexscope",
        "url": "https://www.anchorterminal.com/compare/microlink-vs-nexscope"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-olostep.json",
        "title": "Nexscope vs Olostep",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-olostep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-outcrawl.json",
        "title": "Nexscope vs Outcrawl",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-outcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-oxylabs-web-scraper.json",
        "title": "Nexscope vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-printfriendly-mcp.json",
        "title": "Nexscope vs PrintFriendly MCP server",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-printfriendly-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-qovia.json",
        "title": "Nexscope vs Qovia",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-qovia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapeatlas.json",
        "title": "Nexscope vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapegraphai.json",
        "title": "Nexscope vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapeops.json",
        "title": "Nexscope vs ScrapeOps Proxy API Aggregator",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapeops"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scraperapi.json",
        "title": "Nexscope vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapewise.json",
        "title": "Nexscope vs Scrapewise",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapewise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingant.json",
        "title": "Nexscope vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingbee.json",
        "title": "Nexscope vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingdog.json",
        "title": "Nexscope vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-soldfetch.json",
        "title": "Nexscope vs SoldFetch",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-soldfetch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-spider-cloud.json",
        "title": "Nexscope vs Spider",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-webscraping-ai.json",
        "title": "Nexscope vs WebScraping.AI",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-webscraping-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-zenrows.json",
        "title": "Nexscope vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nexscope-vs-zyte.json",
        "title": "Nexscope vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/nexscope-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qovia-vs-scrapfly.json",
        "title": "Qovia vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/qovia-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.json",
        "title": "ScrapeAtlas vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapfly-vs-soldfetch.json",
        "title": "Scrapfly vs SoldFetch",
        "url": "https://www.anchorterminal.com/compare/scrapfly-vs-soldfetch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly.json",
        "title": "Apify MCP Server vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly.json",
        "title": "jevcrawl vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.json",
        "title": "Firecrawl MCP vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeops-vs-scrapfly.json",
        "title": "ScrapeOps Proxy API Aggregator vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeops-vs-scrapfly"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 46,
        "edge": "scrapfly",
        "key": "reliability",
        "name": "Reliability",
        "nexscope": 39,
        "scrapfly": 85,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "edge": "scrapfly",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nexscope": 64,
        "scrapfly": 95,
        "weight": 13
      },
      {
        "by": 36,
        "edge": "scrapfly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nexscope": 44,
        "scrapfly": 80,
        "weight": 13
      },
      {
        "by": 34,
        "edge": "scrapfly",
        "key": "security",
        "name": "Security \u0026 auth",
        "nexscope": 41,
        "scrapfly": 75,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "scrapfly",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nexscope": 35,
        "scrapfly": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "scrapfly",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nexscope": 65,
        "scrapfly": 84,
        "weight": 7
      },
      {
        "by": 34,
        "edge": "scrapfly",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nexscope": 41,
        "scrapfly": 75,
        "weight": 7
      }
    ],
    "summary": "Scrapfly scores 74.5 (BB) on agent readiness against Nexscope's 46.2 (D), and leads in every scored category. Both do extraction.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "nexscope": "An agent can reach Amazon, TikTok Shop, Temu, 1688 and other marketplace data, plus image and video models, on one credit balance through a remote MCP server with OAuth or a REST API with a public OpenAPI file. The connection loads 382 tools at once, and there is no status page, changelog or idempotency key.",
      "scrapfly": "The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes, and the Statuspage history shows no incident since May 2026. The MCP server loads 62 tools at once, and the API's canonical form puts the key in the URL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nexscope-vs-scrapfly",
    "json": "https://www.anchorterminal.com/compare/nexscope-vs-scrapfly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nexscope-vs-scrapfly.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/nexscope-vs-scrapfly.min.md"
  },
  "markdown": "Scrapfly scores 74.5 (BB) on agent readiness against Nexscope's 46.2 (D), and leads in every scored category. Both do extraction.\n\n- Nexscope: grade D, 46.2/100, rank #1191 of 1520. Markdown https://www.anchorterminal.com/tools/nexscope.md · JSON https://www.anchorterminal.com/api/v1/tools/nexscope.json\n- Scrapfly: grade BB, 74.5/100, rank #86 of 1520. Markdown https://www.anchorterminal.com/tools/scrapfly.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapfly.json\n- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md\n- All 533 scrapers comparisons: https://www.anchorterminal.com/compare/web-scrapers/index.md\n\n## Which one, for what\n\n### Nexscope (D)\n\nGood for: Agents that research ecommerce products, competitors, keywords, sourcing and patents across Amazon, TikTok Shop, Walmart, Temu, 1688 and other marketplaces, and that also make listing images and video, on one credit balance.\n\nAlso in its favour:\n- No incidents deducted, where Scrapfly loses 3 points for them\n\nWatch for: The MCP connection advertises the full catalogue of 382 tools, with no toolsets or read-only subset\n\n### Scrapfly (BB)\n\nGood for: An agent that needs scrape, screenshot, extraction, crawl and a hosted browser from one key, with errors it can branch on.\n\nAhead on:\n- Reliability, 85 against 39\n- Schema \u0026 documentation, 95 against 64\n- Agent ergonomics, 80 against 44\n- Security \u0026 auth, 75 against 41\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 84 against 65\n- Transparency \u0026 trust, 75 against 41\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: The open-source MCP server registers 62 tools at once, a heavy tools/list\n\n\n## Why the edge\n\n### Reliability: Scrapfly +46\n\n- Nexscope (39): Hosted lines, graded on the remote MCP server and the REST API at api.nexscope.ai. No status page is linked from the home page, llms.txt, the API quickstart or the MCP map, and none was found (0). With no page there is no incident history to read (5). The pricing page publishes requests a second and concurrency per plan, the same for API and MCP, with 1 and 1 on the trial, 3 and 2 on Starter, 5 and 4 on Growth, 10 and 8 on Pro (15). The quickstart calls 429 an 'execution admission rate limit' and says to honour `Retry-After` on 429 and 503 when present. No idempotency key exists. The repository says 'Do not blindly retry POST requests' and to check whether a task was created before resubmitting, and the MCP tool pages say a reconnecting client should query existing async work rather than resubmit. SoldFetch earned 15 with idempotency keys and SandBase 11 with keys on some writes, so guidance without keys earns 9 (9 of 15). No SLA, and the terms say 'We cannot guarantee the Service will be available at all times' (0). No beta or preview label on the API or the MCP server (10). 0+5+15+9+0+10 = 39.\n- Scrapfly (85): scrapfly.io/status answers with Statuspage's status JSON, which names its page as scrapfly.statuspage.io. That page has 25 components and incident history back to 2022, read through its history feed on 1 November. The 1 October check read only the overall state and found no history (20, was 10). The newest incident is a Scrapium rendering fault on 21 May 2026, so nothing is posted in the 90 days from 3 August (30, was 5). Concurrency per plan is published (5 on Discovery to 100 on Enterprise) and each project has a configurable per-minute throttle (15). The error catalogue marks every code retryable or not and has three ERR::THROTTLE codes, but we found no Retry-After header or backoff guidance on the errors or throttling pages (10 of 15). The terms disclaim uptime and no uptime SLA is published, and the pricing page's SLA mentions cover support response on Enterprise (0). The Scrape API is GA. Vault and alerting are beta, outside the main surface (10). 20+30+15+10+0+10 = 85.\n\n### Agent ergonomics: Scrapfly +36\n\n- Nexscope (44): Read on the MCP server, with the REST API where a line covers it. The MCP map lists 382 tools and says the category manifests 'narrow metadata for your integration; the MCP connection still advertises the full catalog'. That is more than 30 tools with no toolsets, dynamic loading or read-only subset found (5). Search tools page by `page` (about 20 results), with filters such as marketplace, category node, sort and device per tool, but no general pagination model or field selection, and output size depends on each tool (12 of 20). By default business errors answer HTTP 200 with an outer `code`. The `X-Nexscope-Http-Status: semantic` header maps them to HTTP statuses, the OpenAPI file names codes such as `DATA_IMAGE_DOWNLOAD_FAILED` and `CAPABILITY_BACKEND_UNAVAILABLE` in field text, and MCP errors aren't documented. SandBase earned 16 with typed bridge errors (11 of 20). Data calls only read. No idempotency keys and no readOnlyHint or destructiveHint documented. Async jobs return a `taskId` with a poll tool and a rule not to resubmit, and 1688 order, payment-link, receipt and cancel calls need an explicit JSON `true` confirmation (8 of 20). Few required parameters with defaults on most. No official SDK package, only standard-library clients in the repository for JavaScript and Python, which SoldFetch earned 8 for (8 of 15). 5+12+11+8+8 = 44.\n- Scrapfly (80): The open-source server registers 62 tools by default in v1.4.0 (5 web scraping, 2 account, 9 Cloud Browser sessions, 17 page interaction, 2 WebMCP, 15 credential vault, 12 alerts), all at once, and the docs list a smaller core. There's a code path to mount interaction tools per session, but registration is always-on for clients that don't refetch. On the API side, format=markdown and the extraction API keep responses small, and since v1.4.0 the scrape tools report `api_cost` and `cost_details` (10 of 25). Output format, extraction templates, crawler limits and 100-URL batches (15 of 20). Error codes an agent can branch on, with retryable and billed flags (20). Tools carry readOnlyHint, destructiveHint, idempotentHint and openWorldHint, and mutating vault and alert tools need confirm=true after a preview (20). web_get_page works with a URL alone, and official SDKs exist for Python, TypeScript, Go and Rust (15). 10+15+20+20+15 = 80.\n\n### Security \u0026 auth: Scrapfly +34\n\n- Nexscope (41): The MCP server takes OAuth 2.1 with PKCE and one scope, `mcp:tools`, per the tool pages, or a Bearer `nk-` API key. Keys are created by a person under API Access, shown once, and can be expired, disabled or deleted, with no scopes or rotation found. The OAuth metadata on api.nexscope.ai wasn't read. No query-string key option was found. Manifold earned 22 with OAuth and hashed keys whose storage it documents (20 of 30). Most tools read. Writes exist (1688 procurement on the user's own buyer account, Amazon Ads entity operations through an owned connection, paid generation jobs), and the 1688 calls need an explicit JSON `true` per action after a preview, with the guide saying to get the user's approval first. Credits cap spend. No read-only key or tool allowlist (12 of 20). Tools return third-party listings, reviews, social posts and web pages, and no prompt-injection guidance was found. Manifold, the closest marketing-data MCP, took 0 (0). The Account credits and Account usage APIs, `costToken` in data responses and credits charged on task results give per-call visibility. No key-level audit was found (9 of 15). security.txt answered a client error. No disclosure policy, bug bounty or certification found (0 of 20). 20+12+0+9+0 = 41.\n- Scrapfly (75): OAuth 2 on the hosted MCP with dashboard revocation, open to all plans. API keys are per project, live or test, and since 15 April 2026 can be restricted to products (30). The canonical API form puts the key in the key query parameter and the MCP also accepts ?key=, so less 10 (20 of 30). Product-restricted keys, confirm=true on every mutating vault and alert tool, info_api_key off in server-key mode, and the self-hosted HTTP server binds loopback by default. Since v1.4.0 Cloud Browser sessions are scoped to the API key that opened them (15 of 20). The source gates mutating vault tools behind a preview step because prompt injection can reach them and redacts keys from CDP URLs. We found no user-facing guidance on untrusted page content (8 of 15). Monitoring shows every call as a log with its error, credit cost line by line and Unblocker state, with replay, per the 24 October release notes, as well as per-domain metrics and alerting. The 1 October check couldn't confirm per-request logs (15, was 10). security.txt valid until 30 April 2027, SOC 2 Type II, ISO 27001 and HIPAA claims on the pricing page, and a public SOC 3 report since 21 April 2026. No bug bounty found (17 of 20). 20+15+8+15+17 = 75.\n\n### Transparency \u0026 trust: Scrapfly +34\n\n- Nexscope (41): The editorial half. The service is closed. The terms (8 October 2026) name ECOCREATE TECHNOLOGY PTE. LTD. under Singapore law with no registration number or address. The repository's MIT licence covers client code only, and the documentation and definitions stay copyright Nexscope. Scrapewise earned 15 for closed terms with MIT side code (15 of 30). The privacy policy (8 October 2026) says uploads are not used to train AI models and that connected selling-partner data is deleted or de-identified when no longer needed, but 'this policy does not specify a single deletion deadline for all data', and no DPA was found. SandBase took 12 with no retention periods (10 of 30). No deprecation policy or dated notices. The terms promise notice of material changes before they take effect where practicable, and the MCP map keeps a legacy v1 beside v2 (3 of 20). Analytics and advertising vendors are named (Google Analytics, Microsoft Clarity, Ahrefs, Google Ads, X, FirstPromoter), but hosting, AI processing and payment providers only by type, with no data locations. The repository's source notes say supplier references 'are presented as Nexscope', so the data suppliers go unnamed except LinkFox Agent for 1688 authorisation (5 of 20). 15+10+3+5 = 33. The provenance half is computed from the provenance block.\n- Scrapfly (75): Closed service with terms updated 2026-09-30 under US law. SDKs are BSD 2-Clause, and the MCP source is public with no LICENSE file and ISC in package.json (15 of 30). Privacy policy updated 14 May 2026 with a published DPA and HIPAA BAA, but retention is as long as necessary, and the retention of scraped content isn't stated (18 of 30). Release notes date deprecations and removals, for example Scrapium v153 dropping legacy network interception on 11 September. No standing deprecation policy found (15 of 20). Stripe, Google Analytics, Google Ads and Google Cloud are named, with SCC and Data Privacy Framework transfers, but there's no full subprocessor list (10 of 20). The release notes still date each CDP removal, most recently `Storage.getRelatedWebsiteSets` in Scrapium v156 on 26 October. Not otherwise re-read on 1 November. 15+18+15+10 = 58.\n\n### Schema \u0026 documentation: Scrapfly +31\n\n- Nexscope (64): A public OpenAPI 3.1 file at api.nexscope.ai/openapi.json, about 3.8 MB, linked from the quickstart. Visible request bodies are typed with required fields, patterns, enums and `additionalProperties: false`, but responses are open `data` objects and the components section, with the security scheme and the shared error response, wasn't reached. In the repository 166 of 252 request definitions are field descriptors rather than JSON Schema. The hosted tools/list wasn't read. SoldFetch took 17 with untyped responses and SandBase 22 with components unread (19 of 25). llms.txt on www.nexscope.ai and Markdown references for every API in the repository (10). MCP tool descriptions are one line ('Find Amazon products by keyword and marketplace. Results come back as structured JSON.'), with no when-not-to-use. The repository's references carry long trigger text ('trigger this skill whenever their need involves real-time Amazon search results'), not guidance on when to pick another tool (10 of 20). Tool pages list types, defaults, enums and length limits, but the Amazon Search page marks no argument required and omits the `keyword` its own examples pass, and many limits sit in prose (8 of 15). Every API has a request sample, a response fixture and cURL, JavaScript and Python clients, though most fixtures are labelled historical. Errors are an HTTP table, two named codes (11209, 12001) and a semantic error response whose schema wasn't read. MCP errors aren't documented (10 of 15). Path versioning under /v1, MCP v2 beside a legacy v1, and a dated OpenAPI version label, but no public changelog. SandBase earned 7 on the same pattern (7 of 15). 19+10+10+8+10+7 = 64.\n- Scrapfly (95): A Swagger reference per the 30 September check, and the MCP server exposes it as a web_scraping_openapi_specification resource. Every MCP tool has JSON Schema inputs generated from typed Go structs (25). llms.txt and Markdown twins such as pricing.md per the 30 September check. robots.txt still disallows /docs/llms.txt and the .md twins for crawlers it doesn't name, so they weren't re-read on 1 November (10). Descriptions say when to use a tool and when to switch, for example web_get_page falls back to web_scrape for tuning and to cloud_browser_open for interaction. A few are long and steer the model's next step (17 of 20). Typed inputs with enums, for example the vault service discriminator, and required fields (13 of 15). Error catalogue of 100+ ERR:: codes, each with HTTP status, retryable and billed flags and its own doc link (15). Dated release notes, newest 26 October 2026 (15). 25+10+17+13+15+15 = 95.\n\n### Maintenance \u0026 community: Scrapfly +19\n\n- Nexscope (65): Read as a closed service with a public documentation repository. The repository synced the released 1688 procurement contracts on 9 November 2026 and committed again on 10 November (30). No releases or changelog. The dated record is the registry's four versions on 14 and 16 October, repository commits on 8, 9, 20 and 29 October and 2, 9 and 10 November, and source notes dating WooCommerce (29 October) and design search (2 November) additions. SoldFetch earned 10 for dated commits without releases (10 of 20). No public changelog. Support is service@nexscope.ai, WhatsApp and a booked call, untested. The repository's one merged pull request came from the organisation itself, and GitHub's API refused us, so issues weren't read (5 of 15). The official MCP registry lists `io.github.nexscope/ecommerce`, active, latest 1.0.3 of 16 October 2026, read first-hand (15). A CI workflow runs offline catalogue validation and unit tests on standard-library clients with no dependencies. The run results weren't read (5 of 10). 30+10+5+15+5 = 65.\n- Scrapfly (84): Scrapium v156 in the release notes on 26 October 2026 and MCP v1.4.0 on 15 October (30). MCP tags v1.3.1 to v1.3.3 (26 and 27 August), v1.3.4 (8 September) and v1.4.0 (15 October), SDKs 0.12.0 on 8 September, and dated release notes on 14, 24 and 26 August, 11, 23 and 25 September, 7, 24 and 26 October (20). Dated release notes most weeks and a support address. We couldn't read GitHub issues, since github.com refuses our reader (12 of 25). In the official MCP registry as io.scrapfly.mcp/mcp under the vendor's domain, though the entry still lists 1.0.0, and the SDKs are current (15). MCP moved to Go 1.27 on 23 October. Its CI runs only a reference check and the npm publish, while the TypeScript SDK runs tests in CI (7 of 10). 30+20+12+15+7 = 84.\n\n## Score by category\n\n| Category | Weight | Nexscope | Scrapfly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 39 | 85 | Scrapfly +46 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 95 | Scrapfly +31 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 80 | Scrapfly +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 75 | Scrapfly +34 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Scrapfly +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 84 | Scrapfly +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 41 | 75 | Scrapfly +34 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **46.2 · D** | **74.5 · BB** | |\n\n## Facts side by side\n\n| Fact | Nexscope | Scrapfly |\n| --- | --- | --- |\n| Kind | Platform | HTTP API |\n| Vendor | ECOCREATE TECHNOLOGY PTE. LTD. | Scrapfly (Joam Intelligence, LLC) |\n| Hosted endpoint | `https://api.nexscope.ai/mcp` | `https://api.scrapfly.io/scrape` |\n| Transports | Streamable HTTP, HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Nexscope terms (last updated 8 October 2026), whose contracting party is ECOCREATE TECHNOLOGY PTE. LTD. of Singapore. The OpenAPI file's licence is 'Proprietary API; use subject to Nexscope Terms'. In github.com/nexscope-ai/nexscope-ecommerce-api only the example clients, validation scripts, tests and workflow are MIT. The API documentation, catalogue, definitions and sample data stay copyright Nexscope | none |\n| Tools exposed | 382 | 62 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.nexscope/ecommerce` | `io.scrapfly.mcp/mcp` |\n| Last release | 2026-11-09 | 2026-10-15 |\n| Terms last updated | not read yet | 2026-09-30 |\n| Privacy policy last updated | not read yet | 2026-05-14 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | yes |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | none | 14 stars, 21k npm/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## How the scores have moved\n\n### Nexscope\n\nNo score change since it was listed.\n\n### Scrapfly\n\n- +4.9 on 1 November 2026 (B to BB): new evidence, negative event\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**Nexscope.** An agent can reach Amazon, TikTok Shop, Temu, 1688 and other marketplace data, plus image and video models, on one credit balance through a remote MCP server with OAuth or a REST API with a public OpenAPI file. The connection loads 382 tools at once, and there is no status page, changelog or idempotency key.\n\n**Scrapfly.** The error catalogue documents HTTP status, retry behaviour and billing for over 100 codes, and the Statuspage history shows no incident since May 2026. The MCP server loads 62 tools at once, and the API's canonical form puts the key in the URL.\n\n## Before you call either\n\n### Nexscope\n\n1. Check the outer `code` is 0 before reading `data`, or send `X-Nexscope-Http-Status: semantic` to get HTTP error statuses.\n2. Call an image or video tool once, keep the `taskId`, and poll `nexscope_media_task_result`. A second call bills a second job.\n3. Read the tool's credit cost before a call. Each tool costs at least 10 credits and some cost over 300.\n4. Before you set a 1688 confirmation field to `true`, show the user the preview and get approval.\n5. If the server returns 429 or 503, wait for `Retry-After` when present and back off.\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## Questions\n\n### Which is better for AI agents, Nexscope or Scrapfly?\n\nScrapfly scores 74.5 (BB) on agent readiness against Nexscope's 46.2 (D), and leads in every scored category.\n\n### Can an agent call Nexscope and Scrapfly without installing anything?\n\nYes. Nexscope has a hosted endpoint at https://api.nexscope.ai/mcp and Scrapfly at https://api.scrapfly.io/scrape.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nexscope-vs-scrapfly.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nexscope-vs-scrapfly.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nexscope\", \"b\": \"scrapfly\"}`. From a terminal: `anchor compare nexscope scrapfly`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nexscope.json and https://www.anchorterminal.com/api/v1/tools/scrapfly.json\n\n## Other comparisons with Nexscope or Scrapfly\n\n- [Bright Data vs Scrapfly](https://www.anchorterminal.com/compare/bright-data-vs-scrapfly.md)\n- [BrowserAct vs Scrapfly](https://www.anchorterminal.com/compare/browseract-vs-scrapfly.md)\n- [Context.dev vs Scrapfly](https://www.anchorterminal.com/compare/context-dev-vs-scrapfly.md)\n- [Crawl4AI vs Scrapfly](https://www.anchorterminal.com/compare/crawl4ai-vs-scrapfly.md)\n- [fastCRW vs Scrapfly](https://www.anchorterminal.com/compare/crw-vs-scrapfly.md)\n- [Decodo Web Data API vs Scrapfly](https://www.anchorterminal.com/compare/decodo-vs-scrapfly.md)\n- [Jina Reader vs Scrapfly](https://www.anchorterminal.com/compare/jina-reader-vs-scrapfly.md)\n- [Microlink vs Scrapfly](https://www.anchorterminal.com/compare/microlink-vs-scrapfly.md)\n- [Olostep vs Scrapfly](https://www.anchorterminal.com/compare/olostep-vs-scrapfly.md)\n- [Outcrawl vs Scrapfly](https://www.anchorterminal.com/compare/outcrawl-vs-scrapfly.md)\n- [Oxylabs Web Scraper API vs Scrapfly](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapfly.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- [ScraperAPI vs Scrapfly](https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly.md)\n- [Scrapewise vs Scrapfly](https://www.anchorterminal.com/compare/scrapewise-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 WebScraping.AI](https://www.anchorterminal.com/compare/scrapfly-vs-webscraping-ai.md)\n- [Scrapfly vs ZenRows](https://www.anchorterminal.com/compare/scrapfly-vs-zenrows.md)\n- [Scrapfly vs Zyte API](https://www.anchorterminal.com/compare/scrapfly-vs-zyte.md)\n- [BrowserAct vs Nexscope](https://www.anchorterminal.com/compare/browseract-vs-nexscope.md)\n- [Context.dev vs Nexscope](https://www.anchorterminal.com/compare/context-dev-vs-nexscope.md)\n- [Crawl4AI vs Nexscope](https://www.anchorterminal.com/compare/crawl4ai-vs-nexscope.md)\n- [fastCRW vs Nexscope](https://www.anchorterminal.com/compare/crw-vs-nexscope.md)\n- [Decodo Web Data API vs Nexscope](https://www.anchorterminal.com/compare/decodo-vs-nexscope.md)\n- [Diffbot vs Nexscope](https://www.anchorterminal.com/compare/diffbot-vs-nexscope.md)\n- [Diffbot vs Scrapfly](https://www.anchorterminal.com/compare/diffbot-vs-scrapfly.md)\n- [Firecrawl MCP vs Nexscope](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-nexscope.md)\n- [jevcrawl vs Nexscope](https://www.anchorterminal.com/compare/jevcrawl-vs-nexscope.md)\n- [Microlink vs Nexscope](https://www.anchorterminal.com/compare/microlink-vs-nexscope.md)\n- [Nexscope vs Olostep](https://www.anchorterminal.com/compare/nexscope-vs-olostep.md)\n- [Nexscope vs Outcrawl](https://www.anchorterminal.com/compare/nexscope-vs-outcrawl.md)\n- [Nexscope vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/nexscope-vs-oxylabs-web-scraper.md)\n- [Nexscope vs PrintFriendly MCP server](https://www.anchorterminal.com/compare/nexscope-vs-printfriendly-mcp.md)\n- [Nexscope vs Qovia](https://www.anchorterminal.com/compare/nexscope-vs-qovia.md)\n- [Nexscope vs ScrapeAtlas](https://www.anchorterminal.com/compare/nexscope-vs-scrapeatlas.md)\n- [Nexscope vs ScrapeGraphAI](https://www.anchorterminal.com/compare/nexscope-vs-scrapegraphai.md)\n- [Nexscope vs ScrapeOps Proxy API Aggregator](https://www.anchorterminal.com/compare/nexscope-vs-scrapeops.md)\n- [Nexscope vs ScraperAPI](https://www.anchorterminal.com/compare/nexscope-vs-scraperapi.md)\n- [Nexscope vs Scrapewise](https://www.anchorterminal.com/compare/nexscope-vs-scrapewise.md)\n- [Nexscope vs ScrapingAnt](https://www.anchorterminal.com/compare/nexscope-vs-scrapingant.md)\n- [Nexscope vs ScrapingBee](https://www.anchorterminal.com/compare/nexscope-vs-scrapingbee.md)\n- [Nexscope vs Scrapingdog](https://www.anchorterminal.com/compare/nexscope-vs-scrapingdog.md)\n- [Nexscope vs SoldFetch](https://www.anchorterminal.com/compare/nexscope-vs-soldfetch.md)\n- [Nexscope vs Spider](https://www.anchorterminal.com/compare/nexscope-vs-spider-cloud.md)\n- [Nexscope vs WebScraping.AI](https://www.anchorterminal.com/compare/nexscope-vs-webscraping-ai.md)\n- [Nexscope vs ZenRows](https://www.anchorterminal.com/compare/nexscope-vs-zenrows.md)\n- [Nexscope vs Zyte API](https://www.anchorterminal.com/compare/nexscope-vs-zyte.md)\n- [Qovia vs Scrapfly](https://www.anchorterminal.com/compare/qovia-vs-scrapfly.md)\n- [ScrapeAtlas vs Scrapfly](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.md)\n- [Scrapfly vs SoldFetch](https://www.anchorterminal.com/compare/scrapfly-vs-soldfetch.md)\n- [Apify MCP Server vs Scrapfly](https://www.anchorterminal.com/compare/apify-mcp-vs-scrapfly.md)\n- [jevcrawl vs Scrapfly](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapfly.md)\n- [Firecrawl MCP vs Scrapfly](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapfly.md)\n- [ScrapeOps Proxy API Aggregator vs Scrapfly](https://www.anchorterminal.com/compare/scrapeops-vs-scrapfly.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-11",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Nexscope vs Scrapfly",
        "url": ""
      }
    ],
    "description": "Scrapfly scores 74.5 (BB) to Nexscope's 46.2 (D) for extraction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Nexscope D 46.2",
      "Scrapfly BB 74.5",
      "scores"
    ],
    "h1": "Nexscope vs Scrapfly",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/nexscope-vs-scrapfly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Nexscope vs Scrapfly for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-11",
    "url": "https://www.anchorterminal.com/compare/nexscope-vs-scrapfly"
  },
  "tokens": {
    "markdown": 6800,
    "slim": 1230
  },
  "version": 1
}
