{
  "alternatives": [
    {
      "auth": "mixed",
      "capabilities": [
        "web.search",
        "web.extract",
        "web.crawl",
        "web.fetch",
        "search.answer",
        "search.research",
        "search.news",
        "search.images"
      ],
      "endpoint": "https://mcp.tavily.com/mcp/?tavilyApiKey=<key>",
      "grade": "BB",
      "json": "https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json",
      "keyless": true,
      "keylessBy": "x402: pay per call instead of a key",
      "kind": "mcp",
      "leadPriceUsd": 0.008,
      "leadUnit": "credit",
      "letme": "https://letme.dev/tavily-mcp",
      "markdown": "https://www.anchorterminal.com/tools/tavily-mcp.md",
      "name": "Tavily API + MCP",
      "priceSummary": "$7.50 / 1k req",
      "pricing": "freemium",
      "rank": 28,
      "sample": false,
      "score": 76.8,
      "slug": "tavily-mcp",
      "url": "https://www.anchorterminal.com/tools/tavily-mcp",
      "vendor": "Tavily",
      "where": "both",
      "x402": "partial"
    },
    {
      "auth": "mixed",
      "capabilities": [
        "scraping.actors",
        "web.crawl"
      ],
      "endpoint": "https://mcp.apify.com",
      "grade": "BB",
      "json": "https://www.anchorterminal.com/api/v1/tools/apify-mcp.json",
      "keyless": true,
      "keylessBy": "x402: pay per call instead of a key",
      "kind": "mcp",
      "leadPriceUsd": 0.2,
      "leadUnit": "compute-unit",
      "letme": "https://letme.dev/apify-mcp",
      "markdown": "https://www.anchorterminal.com/tools/apify-mcp.md",
      "name": "Apify MCP Server",
      "priceSummary": "$1 / call",
      "pricing": "freemium",
      "rank": 30,
      "sample": false,
      "score": 76.5,
      "slug": "apify-mcp",
      "url": "https://www.anchorterminal.com/tools/apify-mcp",
      "vendor": "Apify",
      "where": "both",
      "x402": "yes"
    },
    {
      "auth": "mixed",
      "capabilities": [
        "web.search",
        "web.fetch",
        "web.crawl",
        "web.extract"
      ],
      "endpoint": "https://mcp.firecrawl.dev/v2/mcp",
      "grade": "BB",
      "json": "https://www.anchorterminal.com/api/v1/tools/firecrawl-mcp.json",
      "keyless": true,
      "keylessBy": "auth notes: The same URL with no credential is the keyless tier (scrape, search, parse, rate-limited per IP)",
      "kind": "mcp",
      "leadPriceUsd": 5,
      "leadUnit": "1k-pages",
      "letme": "https://letme.dev/firecrawl-mcp",
      "markdown": "https://www.anchorterminal.com/tools/firecrawl-mcp.md",
      "name": "Firecrawl MCP",
      "priceSummary": "$19 / mo",
      "pricing": "freemium",
      "rank": 53,
      "sample": false,
      "score": 75.3,
      "slug": "firecrawl-mcp",
      "url": "https://www.anchorterminal.com/tools/firecrawl-mcp",
      "vendor": "Firecrawl (Mendable)",
      "where": "both",
      "x402": "no"
    }
  ],
  "calling": {
    "note": "letme picks today. Calling through letme (one key, payments) comes later; call the pick direct with the details above.",
    "open": false
  },
  "capability": "web.crawl",
  "directory": {
    "base": "https://www.anchorterminal.com",
    "build": "20261015T070651Z",
    "credit": "The grades and listings are Anchor Terminal's, CC BY 4.0, credit required: when you show or pass on a pick (to your user in an answer, in a product or a report), say it's from Anchor Terminal (anchorterminal.com) and link the listing.",
    "fetchedAt": "2026-10-15T07:13:16Z",
    "note": "Anchor Terminal grades the tools and publishes the grades; letme reads them from the same public files anyone can read. letme's terms are never an input to a grade.",
    "sameCompany": true
  },
  "filters": {
    "n": 3
  },
  "job": "sitemap.xml",
  "letme": "https://letme.dev/sitemap-xml",
  "live": false,
  "order": "in the rule's order",
  "pick": {
    "agentNotes": [
      "Check each output's `success` and `error_code` even on HTTP 200, because Scrape returns failed outputs beside successful ones and sets `isPartial`",
      "Set the client timeout above the scrape deadline, 90,000 ms by default. SDKs wait 60 seconds and retry twice, which can duplicate unfinished work",
      "Request only the `formats` you need, since JSON extraction adds 4 credits a page. Send crawls over 500 pages as a batch with an `Idempotency-Key` header"
    ],
    "auth": "mixed",
    "authNotes": "API key as `Authorization: Bearer`, created in the dashboard after a browser signup. Keys are Full access by default or Restricted to scopes (`data:execute`, `logs:read`, `monitors:read`/`write`, `batches:read`/`write`), two keys on Free and 50 on paid plans. The hosted MCP server uses OAuth with PKCE and `api.read`/`api.write` scopes, or a Bearer or `X-API-Key` header. An agent can start registration through auth.md, but a person completes signup and a 6-digit claim in a browser.",
    "capabilities": [
      "web.scrape",
      "web.extract",
      "web.crawl",
      "scraping.js-render",
      "scraping.proxies",
      "scraping.screenshot",
      "web.search",
      "search.answer",
      "docs.parse",
      "docs.ocr",
      "design.brand",
      "lead.enrichment",
      "market.news"
    ],
    "connect": {
      "claudeCode": "claude mcp add --transport http --scope user context https://mcp.context.dev/mcp",
      "config": {
        "mcpServers": {
          "context": {
            "type": "http",
            "url": "https://mcp.context.dev/mcp"
          }
        }
      },
      "http": "curl https://api.context.dev/v1/web/scrape \\\n  --request POST \\\n  --header \"Authorization: Bearer $CONTEXT_DEV_API_KEY\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"url\": \"https://example.com\", \"formats\": { \"markdown\": true }, \"sharedParams\": { \"mainContentOnly\": true }}'",
      "install": "npm install context.dev"
    },
    "docs": "https://docs.context.dev",
    "endpoint": "https://api.context.dev/v1",
    "grade": "A",
    "json": "https://www.anchorterminal.com/api/v1/tools/context-dev.json",
    "kind": "http-api",
    "leadPriceUsd": 0.79,
    "leadUnit": "1k-pages",
    "letme": "https://letme.dev/context-dev",
    "markdown": "https://www.anchorterminal.com/tools/context-dev.md",
    "name": "Context.dev",
    "priceSummary": "$19 / mo",
    "pricing": "freemium",
    "rank": 15,
    "sample": false,
    "score": 78.2,
    "slug": "context-dev",
    "url": "https://www.anchorterminal.com/tools/context-dev",
    "vendor": "Context Dev Inc.",
    "where": "hosted",
    "x402": "no"
  },
  "picking": true,
  "rule": "highest Anchor grade for the capability, then price, compared only between prices whose item names the job, in one unit (the unit most listings at that grade price the job in, usage before plans), then p95 latency, then the Anchor score, then the name",
  "understood": {
    "capability": "web.crawl",
    "confidence": "high",
    "job": "sitemap.xml",
    "matched": [
      {
        "word": "sitemap",
        "via": "phrase",
        "weight": 4
      }
    ],
    "score": 4,
    "words": "https://letme.dev/words.json"
  },
  "why": "Grade A, the highest for web.crawl among ranked listings; the next, Tavily API + MCP, holds BB."
}
