{
  "data": {
    "a": {
      "slug": "exa-mcp",
      "name": "Exa API + MCP",
      "vendor": "Exa",
      "vendorUrl": "https://exa.ai",
      "kind": "mcp",
      "category": "search",
      "summary": "Exa's REST API over its own web index, with the official MCP server in front of it.",
      "url": "https://www.anchorterminal.com/tools/exa-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/exa-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/exa-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/exa-mcp.json",
      "dns": "exa-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/exa-labs/exa-mcp-server",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.exa.ai/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "exa-js"
        },
        {
          "registry": "pypi",
          "name": "exa-py"
        },
        {
          "registry": "npm",
          "name": "exa-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as `Authorization: Bearer` or `x-api-key` header, created at dashboard.exa.ai. POST /search and /contents also accept an x402 `PAYMENT-SIGNATURE` header instead of a key. MCP server: Anonymous use with rate limits; optional API key via ?exaApiKey=, Authorization: Bearer or x-api-key header; OAuth login at https://mcp.exa.ai/mcp?login.",
      "pricing": "freemium",
      "pricingNotes": "$10 free credit a month (resets on the 1st) plus a one-time $10 sign-up bonus, no payment method required. Pay as you go per 1,000 requests, lite search $4, auto $7, deep-lite and deep $12, each with up to 10 results and $1 per 1,000 extra results. Legacy types keep their prices, instant $4, fast $7, deep-reasoning $15. Contents $1 per 1,000 pages per content type, answer $5 per 1,000, monitors $15 per 1,000. Agent API $0.012 to $1.00 a run by effort, ultra usage-based. Dynamic Highlights and the 19 October index additions at no extra charge. Enterprise volume pricing by quote (https://exa.ai/pricing).",
      "priceSummary": "$0.007 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "Official 'Pay with x402' guide. POST /search and /contents accept x402 with USDC on Arc, Base (eip155:8453), World Chain or Solana, including Circle Gateway nanopayments, and the guide prices `lite` at $0.004 a request. An unpaid POST /search returned 402 on 2026-09-30; the guide was re-read on 2026-10-21 without a probe (https://exa.ai/docs/integrations/payments/x402/quickstart.md)",
        "endpoints": [
          {
            "url": "https://api.exa.ai/search",
            "priceUsd": 0.007,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.exa.ai/contents",
            "priceUsd": 0.001,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 4900,
        "npmWeekly": 1076635,
        "pypiWeekly": 1406207,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://exa.ai/docs",
      "llmsTxt": "https://exa.ai/docs/llms.txt",
      "openapi": "https://exa.ai/docs/exa-spec.yaml",
      "registryName": "ai.exa/exa",
      "capabilities": [
        "web.search",
        "web.fetch",
        "web.extract",
        "search.answer",
        "search.research",
        "search.news"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "x402",
        "freemium",
        "llms-txt",
        "no-card",
        "openapi",
        "python",
        "typescript",
        "enterprise",
        "webhooks",
        "mcp"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.8,
        "grade": "B",
        "agentReady": false,
        "rank": 303,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 77,
          "schema": 86,
          "security": 43,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -9,
        "negativeNotes": [
          "2026-04-15. Exa's own fix (#292) says Agnost analytics on the hosted MCP captured headers, query parameters and full URLs from every request and sent them to api.agnost.ai, which leaked user API keys passed as `x-api-key` or `?exaApiKey=`. Fixed the same day, but disclosed only in the commit message, with no advisory or rotation notice that we found. Decayed for the fix, so -6 (https://github.com/exa-labs/exa-mcp-server/commit/49797a5376217da506853b12163f21db9f9c95b8)",
          "2026-10-01. The MCP server calls Agnost's `trackMCP` on startup in both the hosted and the npm stdio builds, with no README mention and no opt-out. Inputs, outputs and errors are switched off, so the events are tool names and timings. -3 (https://github.com/exa-labs/exa-mcp-server/blob/main/src/mcp-handler.ts)"
        ],
        "verdict": "x402 on /search and /contents in USDC on Arc, Base, World Chain or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits, and the server still sends usage events to that service without saying so.",
        "bestFor": "Agents that search in natural language and want short highlights or page text in the same call, and for keyless or wallet-paid use.",
        "strengths": [
          "x402 on /search and /contents in USDC on Arc, Base, World Chain or Solana, so an agent can pay per call with no account",
          "Two default MCP tools for keyless use, about 1,250 characters of descriptions, and every tool marked read-only",
          "Keys can be minted by API with their own rate limit and budget",
          "Public OpenAPI, llms.txt, an error-codes page, and search warnings for request fields that have no effect",
          "$10 of credit a month with no payment method, and `lite` search at $4 per 1,000"
        ],
        "weaknesses": [
          "The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits",
          "Agnost usage analytics in the MCP server with no disclosure or opt-out",
          "The privacy policy says query data trains Exa's models and gives no retention period",
          "No security.txt, no SECURITY.md and no prompt-injection guidance",
          "Agents API had 4 hours 56 minutes of elevated run failures on 21 to 22 September, though it read partial"
        ],
        "agentNotes": [
          "Send the key as `x-api-key` or a Bearer header, never `?exaApiKey=` in the MCP URL",
          "Ask for highlights rather than full text, and cap `maxCharacters` on `web_fetch_exa`",
          "Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10",
          "On 429, honour `Retry-After`. The QPS limit is shared by every key on the team",
          "Use `type: \"lite\"` for cheap searches, and `auto` when you need summaries, live fetches or other parameters `lite` rejects",
          "Dynamic Highlights still needs the `Exa-Beta: dynamic-highlights-2026-08-28` header per the docs, despite the GA announcement",
          "Set `budget.maxCostDollars` on `agent_run`, which a keyed MCP connection may now expose by default"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.8
          }
        ],
        "editorialScores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 77,
          "schema": 86,
          "security": 43,
          "transparency": 44
        },
        "provenanceScore": 78,
        "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 -s -X POST https://api.exa.ai/search \\\n  -H \"Authorization: Bearer $EXA_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"recent techniques for improving retrieval in RAG systems\",\"type\":\"auto\",\"contents\":{\"highlights\":true}}'",
        "claudeCode": "claude mcp add --transport http exa https://mcp.exa.ai/mcp",
        "config": {
          "mcpServers": {
            "exa": {
              "url": "https://mcp.exa.ai/mcp"
            }
          }
        },
        "x402": "curl -s https://api.exa.ai/search -H 'content-type: application/json' -d '{\"query\":\"x402 facilitators\",\"numResults\":5}' -i\n# HTTP/1.1 402 Payment Required\n# PAYMENT-REQUIRED: \u003cbase64 JSON: accepts[{scheme:\"exact\",network:\"eip155:8453\",amount:\"7000\",asset:USDC,payTo:...}]\u003e\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed authorization\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/exa-mcp"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search, auto",
          "unit": "1k-requests",
          "usd": 7,
          "note": "up to 10 results; legacy fast at the same price"
        },
        {
          "item": "Search, lite",
          "unit": "1k-requests",
          "usd": 4,
          "note": "up to 10 results, cached content only; legacy instant at the same price"
        },
        {
          "item": "Search, deep",
          "unit": "1k-requests",
          "usd": 12
        },
        {
          "item": "Contents",
          "unit": "1k-pages",
          "usd": 1,
          "note": "per content type"
        },
        {
          "item": "Answer",
          "unit": "1k-requests",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "Exa Labs Inc.",
        "domain": "exa.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": true,
        "terms": "https://exa.ai/assets/Exa_Labs_Terms_of_Service.pdf",
        "privacy": "https://exa.ai/privacy-policy",
        "statusPage": "https://status.exa.ai",
        "changelog": "https://exa.ai/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/exa-mcp.json",
      "live": {
        "slug": "exa-mcp",
        "probe": {
          "target": "https://mcp.exa.ai/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:23.74519558Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 216,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 196,
          "p95ms24h": 282,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 187,
              "ok": 187
            }
          ],
          "outages": [
            {
              "start": "2026-10-04T18:58:14.45236595Z",
              "end": "2026-10-04T19:19:43.996268604Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.exa.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:44.8033304Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.exa/exa",
            "version": "3.4.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "exa-js",
            "version": "2.28.0",
            "seenAt": "2026-11-06T23:24:46.769729434Z"
          },
          {
            "registry": "npm",
            "name": "exa-mcp-server",
            "version": "3.4.3",
            "seenAt": "2026-11-06T23:24:47.103957165Z"
          },
          {
            "registry": "pypi",
            "name": "exa-py",
            "version": "2.28.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:24:46.995373694Z"
          }
        ],
        "githubStars": 5217,
        "npmWeekly": 1284133,
        "pypiWeekly": 1742613,
        "securityTxt": {
          "url": "https://exa.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:26.705262529Z"
        },
        "llmsTxt": {
          "url": "https://exa.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:26.530117736Z"
        },
        "domain": {
          "domain": "exa.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/exa.ai",
          "checkedAt": "2026-11-01T14:09:42.785389124Z"
        },
        "pages": [
          {
            "url": "https://exa.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:26.291664584Z",
            "changedAt": "2026-10-31T06:12:14.620098073Z",
            "fingerprint": "5b93588655e5"
          },
          {
            "url": "https://raw.githubusercontent.com/exa-labs/exa-js/master/CHANGELOG.md",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:46.052371042Z",
            "changedAt": "2026-11-07T14:20:46.052371042Z",
            "fingerprint": "84da85c45d54"
          },
          {
            "url": "https://exa.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:28.728957066Z",
            "changedAt": "2026-11-05T12:33:03.85120504Z",
            "fingerprint": "106c5a929e0c"
          },
          {
            "url": "https://exa.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:30.414400698Z",
            "changedAt": "2026-11-04T08:23:41.374682103Z",
            "fingerprint": "79a6a0daee52"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.exa.ai/mcp",
          "checkedAt": "2026-11-07T01:44:17.887674793Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "web_search_exa",
              "title": "Web Search",
              "description": "Search the web for any topic and get clean, ready-to-use content.\n\n      Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.\n      Returns: Clean text content from top search results.\n\n      Query tips:\n      describe the ideal page, not keywords. \"blog post comparing React and Vue performance\" not \"React vs Vue\".\n      Use category:people / category:company to search through Linkedin profiles / companies respectively.\n      If highlights are insufficient, follow up with web_fetch_exa on the best URLs.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "numResults": {
                    "description": "Number of search results to return (default: 10).",
                    "type": "number"
                  },
                  "objective": {
                    "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
                    "maxLength": 4096,
                    "minLength": 1,
                    "type": "string"
                  },
                  "query": {
                    "description": "Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:\u003ctype\u003e (company, people) to focus results — e.g. 'category:people John Doe software engineer'.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "query",
                  "objective"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "web_fetch_exa",
              "title": "Fetch Web Pages",
              "description": "Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL.\n\nBest for: Extracting full content from known URLs. Batch multiple URLs in one call.\nReturns: Clean text content and metadata from the page(s).",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "maxCharacters": {
                    "description": "Maximum characters to extract per page (default: 3000)",
                    "minimum": 1,
                    "type": "number"
                  },
                  "urls": {
                    "description": "URLs to read. Batch multiple URLs in one call.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 605,
          "changedAt": "2026-09-28T21:55:38.894181746Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 605,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 0
            },
            "findings": [
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 2 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "github": {
          "repo": "exa-labs/exa-mcp-server",
          "checkedAt": "2026-11-02T08:46:58.334507141Z",
          "stars": 5208,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T01:26:06Z",
          "openIssues": 5,
          "openPRs": 3,
          "issuesOpened90d": 29,
          "issuesClosed90d": 36,
          "prsMerged90d": 22,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 47,
            "failure": 3,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T01:26:32Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 4,
            "medianDays": 29.6
          }
        },
        "updatedAt": "2026-11-07T18:20:23.74519558Z"
      }
    },
    "answer": "Exa API + MCP and NewsCatcher score within a point of each other on agent readiness, 67.8 (B) and 67.5 (B). NewsCatcher leads on schema \u0026 documentation and transparency \u0026 trust.",
    "b": {
      "slug": "newscatcher",
      "name": "NewsCatcher",
      "vendor": "NewsCatcher, Inc.",
      "vendorUrl": "https://www.newscatcherapi.com",
      "kind": "http-api",
      "category": "search",
      "summary": "NewsCatcher's API searches the last 30 days of news in every language, grouped into stories, and runs a background agent that builds tables of events or company news, through REST and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/newscatcher",
      "markdownUrl": "https://www.anchorterminal.com/tools/newscatcher.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/newscatcher.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/newscatcher.json",
      "dns": "newscatcher.grade.anchorterminal.com",
      "repo": "https://github.com/Newscatcher/newscatcher-mcp",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.newscatcherapi.com/mcp",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key from the NewsCatcher platform after a browser signup, sent in the `x-api-key` header. One key works for the News API and the agent; several keys can be made and revoked in the platform. The MCP server also accepts `Authorization: Bearer` or `?apiKey=` in the URL; OAuth is announced as coming soon. No scopes found.",
      "pricing": "usage",
      "pricingNotes": "Prepaid credits at $1 per 1,000 (top-ups from $25, valid 12 months). Search costs 1, 5 or 10 credits by effort, a story 1, `/articles` 5 per call. Agent runs 1,000 to 6,000 credits. 10,000 free credits every 30 days. Failed and refused requests aren't charged.",
      "priceSummary": "$1 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs, the pricing page or the OpenAPI specs (checked 2026-11-06). An empty balance returns 402 with no payment requirements; top-ups go through the platform.",
        "endpoints": []
      },
      "toolCount": 15,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.newscatcherapi.com/docs/get-started/overview",
      "llmsTxt": "https://www.newscatcherapi.com/docs/llms.txt",
      "openapi": "https://github.com/NewscatcherAPI/docs/blob/main/api-reference/news-api/openapi.json",
      "capabilities": [
        "search.news",
        "search.research",
        "web.search"
      ],
      "tags": [
        "hosted",
        "usage",
        "prepaid",
        "free-tier",
        "mcp",
        "remote-mcp",
        "openapi",
        "llms-txt",
        "status-page",
        "yc"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.5,
        "grade": "B",
        "agentReady": false,
        "rank": 321,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 76,
          "payments": 30,
          "reliability": 67,
          "schema": 94,
          "security": 45,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise.",
        "bestFor": "Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.",
        "strengths": [
          "OpenAPI 3.1 specs for the News API and the agent, llms.txt, Markdown pages and a docs MCP server",
          "Hosted MCP server with 15 tools in four toolsets, selectable with `?tools=`, and read-only, destructive and idempotent hints on every tool",
          "Documented errors with retry advice per status, 429 with Retry-After, and refused or failed requests never charged",
          "Published credit prices, $1 per 1,000 credits, and 10,000 free credits every 30 days",
          "Terms say inputs and generated data are never used to train models, with a dated sub-processor list"
        ],
        "weaknesses": [
          "The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026",
          "The MCP server documents `?apiKey=` in the URL for clients without headers, and keys have no scopes found",
          "No SLA below a signed Enterprise agreement; the status page monitors one News API component",
          "API logs, which can include query text, are archived indefinitely after 90 days",
          "The pricing page and the docs disagree on whether empty agent runs are charged and on the price of `/articles`"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header, and use a separate key for the MCP server so it can be revoked alone",
          "Call `start_research` with `dry_run` first, since agent runs cost 1,000 to 6,000 credits",
          "Use `effort=low` for quick lookups; the default `medium` costs five times as much",
          "Use `/articles` or `list_articles` for news older than 30 days or exact counts; `/search` covers 30 days only",
          "On 429 or 503 wait for Retry-After, and quote the Correlation-ID header to support"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.5
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 76,
          "payments": 30,
          "reliability": 67,
          "schema": 94,
          "security": 45,
          "transparency": 73
        },
        "provenanceScore": 85,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://api.newscatcherapi.com/news-api/search\" \\\n  -H \"x-api-key: $NEWSCATCHER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"q\": \"hurricane recovery florida\", \"limit\": 5}'",
        "claudeCode": "claude mcp add --transport http newscatcher https://mcp.newscatcherapi.com/mcp --header \"x-api-key: YOUR_API_KEY\"",
        "config": {
          "mcpServers": {
            "newscatcher": {
              "headers": {
                "x-api-key": "YOUR_API_KEY"
              },
              "url": "https://mcp.newscatcherapi.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/search.news",
        "tool": "https://letme.dev/newscatcher"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "News search, low effort",
          "unit": "1k-requests",
          "usd": 1,
          "note": "1 credit a search at $1 per 1,000 credits"
        },
        {
          "item": "News search, medium effort (default)",
          "unit": "1k-requests",
          "usd": 5,
          "note": "5 credits"
        },
        {
          "item": "News search, high effort",
          "unit": "1k-requests",
          "usd": 10,
          "note": "10 credits"
        },
        {
          "item": "Articles listing",
          "unit": "1k-requests",
          "usd": 5,
          "note": "5 credits a call per the docs; the pricing page says 15 a page"
        },
        {
          "item": "Agent event research, fast run",
          "unit": "tx",
          "usd": 1,
          "note": "1,000 credits, 50 rows included; standard $3, max $6"
        },
        {
          "item": "Credit",
          "unit": "credit",
          "usd": 0.001,
          "note": "Top-ups from $25 for 25,000 credits, valid 12 months"
        }
      ],
      "provenance": {
        "legalEntity": "NewsCatcher, Inc.",
        "domain": "newscatcherapi.com",
        "domainRegistered": "2020-02-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.newscatcherapi.com/company/legal/terms-and-conditions",
        "privacy": "https://www.newscatcherapi.com/company/legal/privacy-policy",
        "statusPage": "https://status.newscatcherapi.com/",
        "changelog": "https://www.newscatcherapi.com/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The service terms (Terms and Conditions) and the website Terms of Service are both dated 2 November 2026 and name NewsCatcher, Inc. under Delaware law.",
          "The website Terms of Service forbid using the site or its content 'to spam, phish, pharm, pretext, spider, crawl, or scrape'. Recorded as a fact; only public pages were read, within robots.txt.",
          "www.newscatcherapi.com/robots.txt disallows /~gitbook, /*?ref= and /api/ for all agents; none of the pages read is under those paths. status.newscatcherapi.com allows all.",
          "/.well-known/security.txt answers 404. The MCP repository's SECURITY.md takes private reports through GitHub with a 3-business-day acknowledgement target.",
          "Status page on Hyperping with one News API component, 99.820% uptime for August to November 2026 and one incident in the 90 days, on 1 September 2026.",
          "RDAP gives newscatcherapi.com a registration date of 16 February 2020."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/newscatcher.json",
      "live": {
        "slug": "newscatcher",
        "probe": {
          "target": "https://mcp.newscatcherapi.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:41.854849144Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 305,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 167,
          "p95ms24h": 346,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.newscatcherapi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:15.638845153Z"
        },
        "githubStars": 0,
        "securityTxt": {
          "url": "https://newscatcherapi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:58.85886795Z"
        },
        "llmsTxt": {
          "url": "https://www.newscatcherapi.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:19.853404264Z"
        },
        "pages": [
          {
            "url": "https://www.newscatcherapi.com/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:00.60078463Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "849b66383503"
          },
          {
            "url": "https://www.newscatcherapi.com/company/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:56.385466242Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "818e0cf9f82d"
          },
          {
            "url": "https://www.newscatcherapi.com/company/legal/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:58.548719689Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "79f84eff4353"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.newscatcherapi.com/mcp",
          "checkedAt": "2026-11-07T01:46:25.078047109Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:25.078047109Z"
        },
        "updatedAt": "2026-11-07T18:20:41.854849144Z"
      }
    },
    "edges": [
      {
        "by": 60,
        "category": "payments",
        "leads": "exa-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "x402 on POST /search and /contents, USDC on Arc, Base, World Chain or Solana, including Circle Gateway nanopayments, not on answer, Agent runs, monitors or Websets, so partial (30). Per-call prices published without login, $0.004 for `lite` (and legacy `instant`) to $0.015 for legacy deep-reasoning per search (20). $10 a month and a $10 onboarding bonus, and the pricing page now states \"No payment method required\" (20). An agent can pay by x402 with no account, and the hosted MCP works anonymously within rate limits (20).",
          "b": "No x402, MPP or L402 (0). Credit prices per call published without login, and credits cost $1 per 1,000 through top-ups from $25 (20). 10,000 free credits every 30 days on a $0 plan, and the first top-up moves an account to pay as you go. No page says whether a card is needed to open the free plan, so half (10). A person signs up in the platform in a browser to get a key (0). NewsMCP's keyless tier belongs to a separate product and isn't counted. 0 + 20 + 10 + 0 = 30."
        },
        "scores": {
          "a": 90,
          "b": 30
        }
      },
      {
        "by": 18,
        "category": "transparency",
        "leads": "newscatcher",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The MCP server is MIT and the API is closed with published terms (20). The privacy policy, still dated 29 June 2026 on 21 October, says query data is used to train and fine-tune Exa's models and states no retention period. Zero data retention needs a sales conversation, and the DPA sits in the trust centre (12). Dated deprecations in the changelog, such as the `pdf`, `github` and `tweet` categories on 23 July and the `instant`, `fast` and `deep-reasoning` search types made legacy on 19 October, with no removal dates (12). The MCP server, hosted and on npm, sends usage events to Agnost (api.agnost.ai) with no mention in the README, no opt-out flag, and no named subprocessor list in the privacy policy, unchanged on main on 21 October (0).",
          "b": "The API is closed under terms of 2 November 2026 naming NewsCatcher, Inc., and the MCP server is MIT, so between the two bands (20 of 30). The terms say inputs and generated data are not used to train models, a DPA applies automatically, and the privacy policy gives retention periods (server logs 7 days, API logs with query text 90 days, then archived indefinitely, billing records about seven years). They agree with each other, but indefinite archives of query logs hold it back (22 of 30). The terms promise 30 days' email notice before a paid product or API version is discontinued, with refunds of unused credits, and the v3 News API has a migration guide (15 of 20). A sub-processor list dated 2 November 2026 with each provider's location and the data it handles. The MCP repository deploys to Vercel and can send pseudonymised analytics to PostHog, and neither appears on the list (16 of 20). 20 + 22 + 15 + 16 = 73."
        },
        "scores": {
          "a": 61,
          "b": 79
        }
      },
      {
        "by": 12,
        "category": "ergonomics",
        "leads": "exa-mcp",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "On a keyless connection two tools are on by default, `web_search_exa` and `web_fetch_exa`, about 1,250 characters of descriptions between them. Since the 19 October commit on main, `agent_run` (about 500 characters plus a larger input schema) is also on by default when the user supplies a key, though the README still lists it as optional. `?tools=` turns on `web_search_advanced_exa` and picks the set (25). `numResults`, `maxCharacters`, highlights instead of full text, category, domain and date filters, and in `web_search_advanced_exa` the `lite` type (20). The error-codes page lists codes, and the MCP server rewrites a 429 into a message about the free tier and keys and now passes search notices to the model. Errors reach the model as text rather than a code (16). Every tool sets `readOnlyHint`, `destructiveHint: false` and `idempotentHint` (false on `agent_run`), and the server retries transient errors twice (20). Only `query` is required. Python and TypeScript SDKs (15).",
          "b": "15 MCP tools in four toolsets, chosen per connection with `?tools=`, and tools return compact text rather than the full JSON. 15 for 11 to 30 tools plus 7 for toolsets (22 of 25). `limit`, `search_window`, effort, language, country, publisher, coverage and content-type filters, sorting, and paging on `/articles`; agent tables come back up to 200 rows at a time over MCP (20). Every status is documented with whether to retry; the agent returns stable `code` values, while the News API body has a `status_code` and a message meant for people (17 of 20). Every tool carries readOnlyHint and idempotentHint, writes carry destructiveHint, `start_research` has a free `dry_run`, and refused or failed calls aren't charged. No idempotency key for starting runs (17 of 20). Only `q` is required, with medium effort and a 7-day window as defaults. No official SDK for the current API was found; the docs show raw HTTP in three languages (8 of 15). 22 + 20 + 17 + 17 + 8 = 84."
        },
        "scores": {
          "a": 96,
          "b": 84
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "exa-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "exa-py and exa-js 2.27.0 tagged on 30 October 2026, after 2.26.0 and the API changelog entry of 19 October (30). 14 tags of each SDK from v2.17.0 (7 August) to v2.27.0 (30 October), and changelog entries on 28 August, 24 September and 19 October (20). 13 open MCP issues and pull requests merged on 2, 6, 7 and 19 October per the 21 October check, with pull requests merged on 27 and 28 October in the clone; reply times unread because GitHub's pages refuse us (15). Official registry entry ai.exa/exa under Exa's own domain, latest 3.4.1 (published 23 September), and current Python and TypeScript SDKs (15). CI typechecks and tests the MCP server on every push. The npm package (3.4.2, 6 October, per the 21 October check) ships from a workflow without git tags, and package.json on main is still 3.4.2 on 1 November (8).",
          "b": "Read for a closed service, with the MCP repository read as code. News API 1.1.0 and Agent 1.5.0 on 4 November 2026, MCP server 0.1.0 on 6 November and v3 News API 3.25.0 on 6 November (30). In the 90 days from 8 August, the 30 October launch, News API 1.1.0, Agent 1.5.0, MCP 0.1.0 and v3 releases 3.19.0 to 3.25.0 (20). Public dated changelogs, support by email and Pylon, and a security policy with a 3-business-day target. The MCP repository is a day old, so there are no issues to judge (10 of 15). The CatchAll MCP server is in the official registry under the verified namespace com.newscatcherapi, but the new server isn't, and no official SDK for the current API was found; the Enterprise APIs list libraries (8 of 15). The MCP repository runs its test suite in CI with a read-only token; pass state not read (8 of 10). 30 + 20 + 10 + 8 + 8 = 76."
        },
        "scores": {
          "a": 88,
          "b": 76
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "exa-mcp",
        "name": "Reliability",
        "reasons": {
          "a": "Instatus page at status.exa.ai with Search API, Exa MCP, Agents API and Websets components and dated history (20). In the 90 days to 1 November, history/1 shows the Search API's 1-minute blip (16 September), a 1 hour 24 minute latency incident (18 September) and 2 hours 21 minutes of elevated latency with some failed requests (21 September), and the Agents API's 25 minutes of runs failing to start (18 September, labelled major) and 4 hours 56 minutes in which 'some agent runs may fail to start or complete' (21 to 22 September). August is per the 21 October check, not re-read on 1 November (history/2 answers 404 again), with a 10-minute Search API major outage on 14 August and a 53-minute latency incident. No notices in October or November. By this run's reading each hit one product or a subset of requests and none was an hour of a core API down, so all are minor (20, up from 10, where the 21 to 22 September Agents API incident had been counted as a major). Rate limits published per endpoint, 10 QPS search and answer, 5 QPS deep, 100 QPS contents, 5 QPS and 50 active Agent runs (15). 429 with `Retry-After` when available and exponential backoff advice. We found no idempotency guidance for creating Agent runs, which cost money (12). No SLA found. The pricing page lists \"Enterprise SLAs\" on the contract plan, with no terms published (0). Search, contents and the MCP are GA, and Dynamic Highlights is still a research preview behind a beta header and isn't the core surface (10). 20 + 20 + 15 + 12 + 0 + 10 = 77.",
          "b": "Read with the hosted lines, for the News API, the agent and the hosted MCP server. status.newscatcherapi.com (Hyperping) shows one News API component with 99.820% uptime from August to November 2026 and an incident history. The agent and the MCP server have no component of their own (20). In the 90 days from 8 August, one incident, on 1 September 2026, when the vendor wrote that for about four hours a higher-than-usual number of requests to the production News API timed out because of one client's queries. Read as one major (10). Rate limits published per plan, 1 request a second free and up to 10 on pay as you go, with exact limits from the free `GET /subscription` (15). 429 carries Retry-After with instructions to retry the same request, 503 carries Retry-After, and failed or refused requests are not charged. Agent runs and monitor creation have no idempotency keys (12 of 15). An uptime SLA exists only in signed Enterprise agreements; none is published (0). Generally available since 30 October 2026, with OAuth for the MCP server announced as coming soon (10). 20 + 10 + 15 + 12 + 0 + 10 = 67."
        },
        "scores": {
          "a": 77,
          "b": 67
        }
      },
      {
        "by": 8,
        "category": "schema",
        "leads": "newscatcher",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI at exa.ai/docs/exa-spec.yaml, re-read on 21 October with the new `lite` type, its accepted parameters and the `warnings` and `notices` response fields, and JSON Schema inputs on every MCP tool (25). llms.txt and Markdown docs (10). `web_search_exa` tells the model how to phrase a query and when to follow up with `web_fetch_exa`, and deprecated tools name their replacement. The `agent_run` description on the main branch since 19 October says it isn't for a single lookup or a known URL and names the sibling tools, but that commit isn't in npm 3.4.2 and we couldn't confirm the hosted server runs it, so the line stays where it was. Nothing else says when not to use a tool (15). Inputs coerce loosely. `numResults` is described as 1 to 100 but the schema has no bounds, and bad numbers fall back to defaults silently. On the API, `lite` rejects an unsupported parameter with a 400 that names it, and ignored fields such as `startCrawlDate` now come back as `IGNORED_FIELD` warnings (10). An error-codes page and examples on every endpoint page (13). Dated changelog with deprecations, the latest entry 19 October. The MCP repository has no tags, so versions show only in package.json and the registry (13).",
          "b": "OpenAPI 3.1 for the News API (version 1.3.9, 4 paths) and the agent (version 1.5.1, 33 paths), linked from llms.txt, and typed JSON Schema on every MCP tool through Pydantic (25). llms.txt, a Markdown copy of every page and a docs MCP server (10). MCP tool descriptions say when to use each and which tool to use instead, such as `list_articles` for older news; the REST reference explains each endpoint and the 'Choose an API' page compares them (17 of 20). Inputs are typed with enums for effort, mode and dimensions, length and range limits such as a 500-character query and limit 1 to 100, and required fields marked (13 of 15). Runnable examples in curl, Python and JavaScript, and an error table with retry advice for every status. The agent spec carries no response examples (14 of 15). Versioned APIs with a dated changelog, the latest entries on 4 November 2026, and separate changelogs for the v3 News API and CatchAll (15). 25 + 10 + 17 + 13 + 14 + 15 = 94."
        },
        "scores": {
          "a": 86,
          "b": 94
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Exa",
        "b": "NewsCatcher, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.exa.ai/mcp",
        "b": "https://mcp.newscatcherapi.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$4 per 1,000 requests",
        "b": "$1 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "yes, from $0.007/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "15",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "ai.exa/exa",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "2026-11-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "2026-11-02",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "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": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Exa API + MCP and NewsCatcher score within a point of each other on agent readiness, 67.8 (B) and 67.5 (B). NewsCatcher leads on schema \u0026 documentation and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Exa API + MCP or NewsCatcher?"
      },
      {
        "answer": "NewsCatcher, at $1 per 1,000 requests against $4 per 1,000 requests for Exa API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Exa API + MCP or NewsCatcher?"
      },
      {
        "answer": "Exa API + MCP takes an API key or an OAuth sign-in. NewsCatcher needs an API key. An agent can also pay Exa API + MCP per call over x402, with no account.",
        "question": "Do Exa API + MCP and NewsCatcher need an API key?"
      },
      {
        "answer": "Yes. Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp and NewsCatcher at https://mcp.newscatcherapi.com/mcp.",
        "question": "Can an agent call Exa API + MCP and NewsCatcher without installing anything?"
      },
      {
        "answer": "Exa API + MCP is open source (MIT). No open-source release is listed for NewsCatcher.",
        "question": "Are Exa API + MCP and NewsCatcher open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 67",
          "Agent ergonomics, 96 against 84",
          "Payments \u0026 pricing, 90 against 30",
          "Maintenance \u0026 community, 88 against 76"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "Runs on your own machine",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "Agents that search in natural language and want short highlights or page text in the same call, and for keyless or wallet-paid use.",
        "slug": "exa-mcp",
        "watchFor": "The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 94 against 86",
          "Transparency \u0026 trust, 79 against 61"
        ],
        "also": [
          "Cheaper for web search, $1 against $4 per 1,000 requests",
          "No incidents deducted, where Exa API + MCP loses 9 points for them"
        ],
        "goodFor": "Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.",
        "slug": "newscatcher",
        "watchFor": "The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026"
      }
    ],
    "history": {
      "exa-mcp": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 2,
          "from": 65.8,
          "fromGrade": "B",
          "to": 67.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.3,
          "from": 66.1,
          "fromGrade": "B",
          "to": 65.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 66,
          "fromGrade": "B",
          "to": 66.1,
          "toGrade": "B"
        }
      ],
      "newscatcher": null
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-exa-mcp.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.json",
        "title": "Grounding with Bing Search vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.json",
        "title": "Grounding with Bing Search vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-exa-mcp.json",
        "title": "Brave Search API + MCP vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher.json",
        "title": "Brave Search API + MCP vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-exa-mcp.json",
        "title": "Cloudflare Web Search API vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher.json",
        "title": "Cloudflare Web Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-exa-mcp.json",
        "title": "DeepSeek Search and Fetch API vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.json",
        "title": "DeepSeek Search and Fetch API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp.json",
        "title": "Exa API + MCP vs Firecrawl MCP",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.json",
        "title": "Exa API + MCP vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.json",
        "title": "Exa API + MCP vs Linkup",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.json",
        "title": "Exa API + MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api.json",
        "title": "Exa API + MCP vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.json",
        "title": "Exa API + MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-searchapi-io.json",
        "title": "Exa API + MCP vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi.json",
        "title": "Exa API + MCP vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serper.json",
        "title": "Exa API + MCP vs Serper",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse.json",
        "title": "Exa API + MCP vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite.json",
        "title": "Exa API + MCP vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-specstream.json",
        "title": "Exa API + MCP vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.json",
        "title": "Exa API + MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search.json",
        "title": "Exa API + MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-valyu.json",
        "title": "Exa API + MCP vs Valyu",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-you-com-api.json",
        "title": "Exa API + MCP vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher.json",
        "title": "Kagi Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher.json",
        "title": "Linkup vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-newscatcher.json",
        "title": "Mojeek Web Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.json",
        "title": "NewsCatcher vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api.json",
        "title": "NewsCatcher vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search.json",
        "title": "NewsCatcher vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-exa-mcp.json",
        "title": "Arcmira vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-newscatcher.json",
        "title": "Arcmira vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-grep-ai.json",
        "title": "Exa API + MCP vs Grep AI",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-grep-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher.json",
        "title": "Grep AI vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-specstream.json",
        "title": "NewsCatcher vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.json",
        "title": "Exa API + MCP vs Fetch (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io.json",
        "title": "NewsCatcher vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.json",
        "title": "NewsCatcher vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serper.json",
        "title": "NewsCatcher vs Serper",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.json",
        "title": "NewsCatcher vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.json",
        "title": "NewsCatcher vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.json",
        "title": "NewsCatcher vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-valyu.json",
        "title": "NewsCatcher vs Valyu",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api.json",
        "title": "NewsCatcher vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "exa-mcp",
        "exa-mcp": 77,
        "key": "reliability",
        "name": "Reliability",
        "newscatcher": 67,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "newscatcher",
        "exa-mcp": 86,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "newscatcher": 94,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "exa-mcp",
        "exa-mcp": 96,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "newscatcher": 84,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "newscatcher",
        "exa-mcp": 43,
        "key": "security",
        "name": "Security \u0026 auth",
        "newscatcher": 45,
        "weight": 14
      },
      {
        "by": 60,
        "edge": "exa-mcp",
        "exa-mcp": 90,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "newscatcher": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "exa-mcp",
        "exa-mcp": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "newscatcher": 76,
        "weight": 7
      },
      {
        "by": 18,
        "edge": "newscatcher",
        "exa-mcp": 61,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "newscatcher": 79,
        "weight": 7
      }
    ],
    "summary": "Exa API + MCP and NewsCatcher score within a point of each other on agent readiness, 67.8 (B) and 67.5 (B). NewsCatcher leads on schema \u0026 documentation and transparency \u0026 trust. Both do web search. NewsCatcher is cheaper for web search, $1 against $4 per 1,000 requests. Exa API + MCP accepts x402. NewsCatcher doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "exa-mcp": "x402 on /search and /contents in USDC on Arc, Base, World Chain or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits, and the server still sends usage events to that service without saying so.",
      "newscatcher": "One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher",
    "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.min.md"
  },
  "markdown": "Exa API + MCP and NewsCatcher score within a point of each other on agent readiness, 67.8 (B) and 67.5 (B). NewsCatcher leads on schema \u0026 documentation and transparency \u0026 trust. Both do web search. NewsCatcher is cheaper for web search, $1 against $4 per 1,000 requests. Exa API + MCP accepts x402. NewsCatcher doesn't.\n\n- Exa API + MCP: grade B, 67.8/100, rank #303 of 1486. Markdown https://www.anchorterminal.com/tools/exa-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/exa-mcp.json\n- NewsCatcher: grade B, 67.5/100, rank #321 of 1486. Markdown https://www.anchorterminal.com/tools/newscatcher.md · JSON https://www.anchorterminal.com/api/v1/tools/newscatcher.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 308 search comparisons: https://www.anchorterminal.com/compare/search/index.md\n\n## Which one, for what\n\n### Exa API + MCP (B)\n\nGood for: Agents that search in natural language and want short highlights or page text in the same call, and for keyless or wallet-paid use.\n\nAhead on:\n- Reliability, 77 against 67\n- Agent ergonomics, 96 against 84\n- Payments \u0026 pricing, 90 against 30\n- Maintenance \u0026 community, 88 against 76\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n- Runs on your own machine\n- Free to start without a card\n- Open source\n\nWatch for: The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits\n\n### NewsCatcher (B)\n\nGood for: Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.\n\nAhead on:\n- Schema \u0026 documentation, 94 against 86\n- Transparency \u0026 trust, 79 against 61\n\nAlso in its favour:\n- Cheaper for web search, $1 against $4 per 1,000 requests\n- No incidents deducted, where Exa API + MCP loses 9 points for them\n\nWatch for: The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Exa API + MCP +60\n\n- Exa API + MCP (90): x402 on POST /search and /contents, USDC on Arc, Base, World Chain or Solana, including Circle Gateway nanopayments, not on answer, Agent runs, monitors or Websets, so partial (30). Per-call prices published without login, $0.004 for `lite` (and legacy `instant`) to $0.015 for legacy deep-reasoning per search (20). $10 a month and a $10 onboarding bonus, and the pricing page now states \"No payment method required\" (20). An agent can pay by x402 with no account, and the hosted MCP works anonymously within rate limits (20).\n- NewsCatcher (30): No x402, MPP or L402 (0). Credit prices per call published without login, and credits cost $1 per 1,000 through top-ups from $25 (20). 10,000 free credits every 30 days on a $0 plan, and the first top-up moves an account to pay as you go. No page says whether a card is needed to open the free plan, so half (10). A person signs up in the platform in a browser to get a key (0). NewsMCP's keyless tier belongs to a separate product and isn't counted. 0 + 20 + 10 + 0 = 30.\n\n### Transparency \u0026 trust: NewsCatcher +18\n\n- Exa API + MCP (61): The MCP server is MIT and the API is closed with published terms (20). The privacy policy, still dated 29 June 2026 on 21 October, says query data is used to train and fine-tune Exa's models and states no retention period. Zero data retention needs a sales conversation, and the DPA sits in the trust centre (12). Dated deprecations in the changelog, such as the `pdf`, `github` and `tweet` categories on 23 July and the `instant`, `fast` and `deep-reasoning` search types made legacy on 19 October, with no removal dates (12). The MCP server, hosted and on npm, sends usage events to Agnost (api.agnost.ai) with no mention in the README, no opt-out flag, and no named subprocessor list in the privacy policy, unchanged on main on 21 October (0).\n- NewsCatcher (79): The API is closed under terms of 2 November 2026 naming NewsCatcher, Inc., and the MCP server is MIT, so between the two bands (20 of 30). The terms say inputs and generated data are not used to train models, a DPA applies automatically, and the privacy policy gives retention periods (server logs 7 days, API logs with query text 90 days, then archived indefinitely, billing records about seven years). They agree with each other, but indefinite archives of query logs hold it back (22 of 30). The terms promise 30 days' email notice before a paid product or API version is discontinued, with refunds of unused credits, and the v3 News API has a migration guide (15 of 20). A sub-processor list dated 2 November 2026 with each provider's location and the data it handles. The MCP repository deploys to Vercel and can send pseudonymised analytics to PostHog, and neither appears on the list (16 of 20). 20 + 22 + 15 + 16 = 73.\n\n### Agent ergonomics: Exa API + MCP +12\n\n- Exa API + MCP (96): On a keyless connection two tools are on by default, `web_search_exa` and `web_fetch_exa`, about 1,250 characters of descriptions between them. Since the 19 October commit on main, `agent_run` (about 500 characters plus a larger input schema) is also on by default when the user supplies a key, though the README still lists it as optional. `?tools=` turns on `web_search_advanced_exa` and picks the set (25). `numResults`, `maxCharacters`, highlights instead of full text, category, domain and date filters, and in `web_search_advanced_exa` the `lite` type (20). The error-codes page lists codes, and the MCP server rewrites a 429 into a message about the free tier and keys and now passes search notices to the model. Errors reach the model as text rather than a code (16). Every tool sets `readOnlyHint`, `destructiveHint: false` and `idempotentHint` (false on `agent_run`), and the server retries transient errors twice (20). Only `query` is required. Python and TypeScript SDKs (15).\n- NewsCatcher (84): 15 MCP tools in four toolsets, chosen per connection with `?tools=`, and tools return compact text rather than the full JSON. 15 for 11 to 30 tools plus 7 for toolsets (22 of 25). `limit`, `search_window`, effort, language, country, publisher, coverage and content-type filters, sorting, and paging on `/articles`; agent tables come back up to 200 rows at a time over MCP (20). Every status is documented with whether to retry; the agent returns stable `code` values, while the News API body has a `status_code` and a message meant for people (17 of 20). Every tool carries readOnlyHint and idempotentHint, writes carry destructiveHint, `start_research` has a free `dry_run`, and refused or failed calls aren't charged. No idempotency key for starting runs (17 of 20). Only `q` is required, with medium effort and a 7-day window as defaults. No official SDK for the current API was found; the docs show raw HTTP in three languages (8 of 15). 22 + 20 + 17 + 17 + 8 = 84.\n\n### Maintenance \u0026 community: Exa API + MCP +12\n\n- Exa API + MCP (88): exa-py and exa-js 2.27.0 tagged on 30 October 2026, after 2.26.0 and the API changelog entry of 19 October (30). 14 tags of each SDK from v2.17.0 (7 August) to v2.27.0 (30 October), and changelog entries on 28 August, 24 September and 19 October (20). 13 open MCP issues and pull requests merged on 2, 6, 7 and 19 October per the 21 October check, with pull requests merged on 27 and 28 October in the clone; reply times unread because GitHub's pages refuse us (15). Official registry entry ai.exa/exa under Exa's own domain, latest 3.4.1 (published 23 September), and current Python and TypeScript SDKs (15). CI typechecks and tests the MCP server on every push. The npm package (3.4.2, 6 October, per the 21 October check) ships from a workflow without git tags, and package.json on main is still 3.4.2 on 1 November (8).\n- NewsCatcher (76): Read for a closed service, with the MCP repository read as code. News API 1.1.0 and Agent 1.5.0 on 4 November 2026, MCP server 0.1.0 on 6 November and v3 News API 3.25.0 on 6 November (30). In the 90 days from 8 August, the 30 October launch, News API 1.1.0, Agent 1.5.0, MCP 0.1.0 and v3 releases 3.19.0 to 3.25.0 (20). Public dated changelogs, support by email and Pylon, and a security policy with a 3-business-day target. The MCP repository is a day old, so there are no issues to judge (10 of 15). The CatchAll MCP server is in the official registry under the verified namespace com.newscatcherapi, but the new server isn't, and no official SDK for the current API was found; the Enterprise APIs list libraries (8 of 15). The MCP repository runs its test suite in CI with a read-only token; pass state not read (8 of 10). 30 + 20 + 10 + 8 + 8 = 76.\n\n### Reliability: Exa API + MCP +10\n\n- Exa API + MCP (77): Instatus page at status.exa.ai with Search API, Exa MCP, Agents API and Websets components and dated history (20). In the 90 days to 1 November, history/1 shows the Search API's 1-minute blip (16 September), a 1 hour 24 minute latency incident (18 September) and 2 hours 21 minutes of elevated latency with some failed requests (21 September), and the Agents API's 25 minutes of runs failing to start (18 September, labelled major) and 4 hours 56 minutes in which 'some agent runs may fail to start or complete' (21 to 22 September). August is per the 21 October check, not re-read on 1 November (history/2 answers 404 again), with a 10-minute Search API major outage on 14 August and a 53-minute latency incident. No notices in October or November. By this run's reading each hit one product or a subset of requests and none was an hour of a core API down, so all are minor (20, up from 10, where the 21 to 22 September Agents API incident had been counted as a major). Rate limits published per endpoint, 10 QPS search and answer, 5 QPS deep, 100 QPS contents, 5 QPS and 50 active Agent runs (15). 429 with `Retry-After` when available and exponential backoff advice. We found no idempotency guidance for creating Agent runs, which cost money (12). No SLA found. The pricing page lists \"Enterprise SLAs\" on the contract plan, with no terms published (0). Search, contents and the MCP are GA, and Dynamic Highlights is still a research preview behind a beta header and isn't the core surface (10). 20 + 20 + 15 + 12 + 0 + 10 = 77.\n- NewsCatcher (67): Read with the hosted lines, for the News API, the agent and the hosted MCP server. status.newscatcherapi.com (Hyperping) shows one News API component with 99.820% uptime from August to November 2026 and an incident history. The agent and the MCP server have no component of their own (20). In the 90 days from 8 August, one incident, on 1 September 2026, when the vendor wrote that for about four hours a higher-than-usual number of requests to the production News API timed out because of one client's queries. Read as one major (10). Rate limits published per plan, 1 request a second free and up to 10 on pay as you go, with exact limits from the free `GET /subscription` (15). 429 carries Retry-After with instructions to retry the same request, 503 carries Retry-After, and failed or refused requests are not charged. Agent runs and monitor creation have no idempotency keys (12 of 15). An uptime SLA exists only in signed Enterprise agreements; none is published (0). Generally available since 30 October 2026, with OAuth for the MCP server announced as coming soon (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.\n\n### Schema \u0026 documentation: NewsCatcher +8\n\n- Exa API + MCP (86): OpenAPI at exa.ai/docs/exa-spec.yaml, re-read on 21 October with the new `lite` type, its accepted parameters and the `warnings` and `notices` response fields, and JSON Schema inputs on every MCP tool (25). llms.txt and Markdown docs (10). `web_search_exa` tells the model how to phrase a query and when to follow up with `web_fetch_exa`, and deprecated tools name their replacement. The `agent_run` description on the main branch since 19 October says it isn't for a single lookup or a known URL and names the sibling tools, but that commit isn't in npm 3.4.2 and we couldn't confirm the hosted server runs it, so the line stays where it was. Nothing else says when not to use a tool (15). Inputs coerce loosely. `numResults` is described as 1 to 100 but the schema has no bounds, and bad numbers fall back to defaults silently. On the API, `lite` rejects an unsupported parameter with a 400 that names it, and ignored fields such as `startCrawlDate` now come back as `IGNORED_FIELD` warnings (10). An error-codes page and examples on every endpoint page (13). Dated changelog with deprecations, the latest entry 19 October. The MCP repository has no tags, so versions show only in package.json and the registry (13).\n- NewsCatcher (94): OpenAPI 3.1 for the News API (version 1.3.9, 4 paths) and the agent (version 1.5.1, 33 paths), linked from llms.txt, and typed JSON Schema on every MCP tool through Pydantic (25). llms.txt, a Markdown copy of every page and a docs MCP server (10). MCP tool descriptions say when to use each and which tool to use instead, such as `list_articles` for older news; the REST reference explains each endpoint and the 'Choose an API' page compares them (17 of 20). Inputs are typed with enums for effort, mode and dimensions, length and range limits such as a 500-character query and limit 1 to 100, and required fields marked (13 of 15). Runnable examples in curl, Python and JavaScript, and an error table with retry advice for every status. The agent spec carries no response examples (14 of 15). Versioned APIs with a dated changelog, the latest entries on 4 November 2026, and separate changelogs for the v3 News API and CatchAll (15). 25 + 10 + 17 + 13 + 14 + 15 = 94.\n\n## Score by category\n\n| Category | Weight | Exa API + MCP | NewsCatcher | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 67 | Exa API + MCP +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 94 | NewsCatcher +8 |\n| Agent ergonomics | 13% (16.2 this run) | 96 | 84 | Exa API + MCP +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 45 | NewsCatcher +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 30 | Exa API + MCP +60 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 76 | Exa API + MCP +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 79 | NewsCatcher +18 |\n| Negative events | ≤15 | -9 | 0 | |\n| **Total** | | **67.8 · B** | **67.5 · B** | |\n\n## Facts side by side\n\n| Fact | Exa API + MCP | NewsCatcher |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Exa | NewsCatcher, Inc. |\n| Hosted endpoint | `https://mcp.exa.ai/mcp` | `https://mcp.newscatcherapi.com/mcp` |\n| Transports | stdio, Streamable HTTP, HTTP | Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Pay per use |\n| Price for web search | $4 per 1,000 requests | $1 per 1,000 requests |\n| x402 | yes, from $0.007/call | no |\n| Licence | MIT | none |\n| Tools exposed | 4 | 15 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| MCP registry | `ai.exa/exa` | not listed |\n| Last release | 2026-10-30 | 2026-11-06 |\n| Terms last updated | not read yet | 2026-11-02 |\n| Privacy policy last updated | 2026-06-29 | 2026-11-02 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | yes |\n| Popularity | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk | none |\n| Agent reviews | 4.5/5 (2) | none |\n\n## How the scores have moved\n\n### Exa API + MCP\n\n- +2.0 on 1 November 2026: correction\n- -0.3 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n\n### NewsCatcher\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Exa API + MCP.** x402 on /search and /contents in USDC on Arc, Base, World Chain or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits, and the server still sends usage events to that service without saying so.\n\n**NewsCatcher.** One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise.\n\n## Before you call either\n\n### Exa API + MCP\n\n1. Send the key as `x-api-key` or a Bearer header, never `?exaApiKey=` in the MCP URL\n2. Ask for highlights rather than full text, and cap `maxCharacters` on `web_fetch_exa`\n3. Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10\n4. On 429, honour `Retry-After`. The QPS limit is shared by every key on the team\n5. Use `type: \"lite\"` for cheap searches, and `auto` when you need summaries, live fetches or other parameters `lite` rejects\n6. Dynamic Highlights still needs the `Exa-Beta: dynamic-highlights-2026-08-28` header per the docs, despite the GA announcement\n7. Set `budget.maxCostDollars` on `agent_run`, which a keyed MCP connection may now expose by default\n\n### NewsCatcher\n\n1. Send the key in the `x-api-key` header, and use a separate key for the MCP server so it can be revoked alone\n2. Call `start_research` with `dry_run` first, since agent runs cost 1,000 to 6,000 credits\n3. Use `effort=low` for quick lookups; the default `medium` costs five times as much\n4. Use `/articles` or `list_articles` for news older than 30 days or exact counts; `/search` covers 30 days only\n5. On 429 or 503 wait for Retry-After, and quote the Correlation-ID header to support\n\n## Questions\n\n### Which is better for AI agents, Exa API + MCP or NewsCatcher?\n\nExa API + MCP and NewsCatcher score within a point of each other on agent readiness, 67.8 (B) and 67.5 (B). NewsCatcher leads on schema \u0026 documentation and transparency \u0026 trust.\n\n### Which is cheaper for web search, Exa API + MCP or NewsCatcher?\n\nNewsCatcher, at $1 per 1,000 requests against $4 per 1,000 requests for Exa API + MCP. These are the vendors' published prices for the job.\n\n### Do Exa API + MCP and NewsCatcher need an API key?\n\nExa API + MCP takes an API key or an OAuth sign-in. NewsCatcher needs an API key. An agent can also pay Exa API + MCP per call over x402, with no account.\n\n### Can an agent call Exa API + MCP and NewsCatcher without installing anything?\n\nYes. Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp and NewsCatcher at https://mcp.newscatcherapi.com/mcp.\n\n### Are Exa API + MCP and NewsCatcher open source?\n\nExa API + MCP is open source (MIT). No open-source release is listed for NewsCatcher.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.json, and with the fewest tokens: https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"exa-mcp\", \"b\": \"newscatcher\"}`. From a terminal: `anchor compare exa-mcp newscatcher`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/exa-mcp.json and https://www.anchorterminal.com/api/v1/tools/newscatcher.json\n\n## Other comparisons with Exa API + MCP or NewsCatcher\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs Exa API + MCP](https://www.anchorterminal.com/compare/agentcore-web-search-vs-exa-mcp.md)\n- [Web Search Tool on Amazon Bedrock AgentCore vs NewsCatcher](https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher.md)\n- [Grounding with Bing Search vs Exa API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.md)\n- [Grounding with Bing Search vs NewsCatcher](https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.md)\n- [Brave Search API + MCP vs Exa API + MCP](https://www.anchorterminal.com/compare/brave-search-mcp-vs-exa-mcp.md)\n- [Brave Search API + MCP vs NewsCatcher](https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher.md)\n- [Cloudflare Web Search API vs Exa API + MCP](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-exa-mcp.md)\n- [Cloudflare Web Search API vs NewsCatcher](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher.md)\n- [DeepSeek Search and Fetch API vs Exa API + MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-exa-mcp.md)\n- [DeepSeek Search and Fetch API vs NewsCatcher](https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.md)\n- [Exa API + MCP vs Firecrawl MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp.md)\n- [Exa API + MCP vs Kagi Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.md)\n- [Exa API + MCP vs Linkup](https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.md)\n- [Exa API + MCP vs Mojeek Web Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.md)\n- [Exa API + MCP vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api.md)\n- [Exa API + MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.md)\n- [Exa API + MCP vs SearchAPI.io](https://www.anchorterminal.com/compare/exa-mcp-vs-searchapi-io.md)\n- [Exa API + MCP vs SerpApi](https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi.md)\n- [Exa API + MCP vs Serper](https://www.anchorterminal.com/compare/exa-mcp-vs-serper.md)\n- [Exa API + MCP vs SERPHouse](https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse.md)\n- [Exa API + MCP vs SerpKite](https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite.md)\n- [Exa API + MCP vs SpecStream](https://www.anchorterminal.com/compare/exa-mcp-vs-specstream.md)\n- [Exa API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.md)\n- [Exa API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search.md)\n- [Exa API + MCP vs Valyu](https://www.anchorterminal.com/compare/exa-mcp-vs-valyu.md)\n- [Exa API + MCP vs You.com APIs](https://www.anchorterminal.com/compare/exa-mcp-vs-you-com-api.md)\n- [Kagi Search API vs NewsCatcher](https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher.md)\n- [Linkup vs NewsCatcher](https://www.anchorterminal.com/compare/linkup-vs-newscatcher.md)\n- [Mojeek Web Search API vs NewsCatcher](https://www.anchorterminal.com/compare/mojeek-vs-newscatcher.md)\n- [NewsCatcher vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.md)\n- [NewsCatcher vs Perplexity Search API](https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api.md)\n- [NewsCatcher vs TinyFish Search](https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search.md)\n- [Arcmira vs Exa API + MCP](https://www.anchorterminal.com/compare/arcmira-vs-exa-mcp.md)\n- [Arcmira vs NewsCatcher](https://www.anchorterminal.com/compare/arcmira-vs-newscatcher.md)\n- [Exa API + MCP vs Grep AI](https://www.anchorterminal.com/compare/exa-mcp-vs-grep-ai.md)\n- [Grep AI vs NewsCatcher](https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher.md)\n- [NewsCatcher vs SpecStream](https://www.anchorterminal.com/compare/newscatcher-vs-specstream.md)\n- [Exa API + MCP vs Fetch (MCP reference server)](https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.md)\n- [NewsCatcher vs SearchAPI.io](https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io.md)\n- [NewsCatcher vs SerpApi](https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.md)\n- [NewsCatcher vs Serper](https://www.anchorterminal.com/compare/newscatcher-vs-serper.md)\n- [NewsCatcher vs SERPHouse](https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.md)\n- [NewsCatcher vs SerpKite](https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.md)\n- [NewsCatcher vs Tavily API + MCP](https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.md)\n- [NewsCatcher vs Valyu](https://www.anchorterminal.com/compare/newscatcher-vs-valyu.md)\n- [NewsCatcher vs You.com APIs](https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api.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-07",
    "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": "Exa API + MCP vs NewsCatcher",
        "url": ""
      }
    ],
    "description": "Exa and NewsCatcher score within a point of each other for web search, 67.8 and 67.5 out of 100. NewsCatcher is cheaper for web search, $1 against $4 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Exa API + MCP B 67.8",
      "NewsCatcher B 67.5",
      "scores"
    ],
    "h1": "Exa API + MCP vs NewsCatcher",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/exa-mcp-vs-newscatcher",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Exa vs NewsCatcher for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher"
  },
  "tokens": {
    "markdown": 6300,
    "slim": 3730
  },
  "version": 1
}
