{
  "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": 304,
        "ranked": true,
        "rankOf": 1510,
        "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-07T19:22:05.852097977Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 212,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 195,
          "p95ms24h": 270,
          "samples24h": 238,
          "samples30d": 7920,
          "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": 197,
              "ok": 197
            }
          ],
          "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-07T19:22:05.852097977Z"
      }
    },
    "answer": "Exa API + MCP scores 67.8 (B) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.",
    "b": {
      "slug": "mojeek",
      "name": "Mojeek Web Search API",
      "vendor": "Mojeek Limited",
      "vendorUrl": "https://www.mojeek.com/services/search/web-search-api/",
      "kind": "http-api",
      "category": "search",
      "summary": "Mojeek's Web Search API returns results from Mojeek's own independent web index as JSON or XML, with country and language boosting, date and domain filters. Mojeek Limited runs it from the UK on pay-as-you-go plans.",
      "url": "https://www.anchorterminal.com/tools/mojeek",
      "markdownUrl": "https://www.anchorterminal.com/tools/mojeek.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mojeek.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mojeek.json",
      "dns": "mojeek.grade.anchorterminal.com",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, sent as the `api_key` query parameter, the only method the docs show. A key is issued after a browser signup with a bank card. Rotating or revoking a key is done by emailing api@mojeek.com, per a staff reply on the community forum on 22 October 2026.",
      "pricing": "usage",
      "pricingNotes": "£2 per 1,000 requests on Startup (5 a second, 100,000 a day, up to 10 results a request) and £3 on Business (10 a second, 400,000 a day, up to 40 results, storage rights). Enterprise by contract. A free credit on signup, but a card is required. No automatic payments; prices exclude VAT.",
      "priceSummary": "$2.68 / 1k req",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Search API page, the API docs or the API terms (checked 2026-11-06). Payments go through Stripe after a browser signup.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.mojeek.com/support/api/search/",
      "capabilities": [
        "web.search"
      ],
      "tags": [
        "hosted",
        "usage",
        "uk",
        "eu",
        "status-page"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.4,
        "grade": "F",
        "agentReady": false,
        "rank": 1387,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 25,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 10,
          "payments": 20,
          "reliability": 45,
          "schema": 29,
          "security": 15,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA.",
        "bestFor": "Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.",
        "strengths": [
          "Results come from Mojeek's own crawler and index, not from Google or Bing",
          "Published prices of £2 and £3 per 1,000 requests, with no minimum commitment and no automatic payments",
          "Region and language boosts, date windows, up to 25 included or excluded domains, and adjustable title and snippet lengths",
          "The API page states 90-day retention, zero retention on request and no sub-processors, with infrastructure run in Europe",
          "Business and Enterprise plans allow results to be stored indefinitely and combined with other engines"
        ],
        "weaknesses": [
          "The API key is documented only as a URL query parameter, and rotating a key means emailing the API team",
          "A bank card is required to open an account, even for the free credit",
          "No OpenAPI, llms.txt, changelog, version or error code list; errors arrive as a free-text status string",
          "No HTTP 429 or retry guidance and no SLA; the terms allow interruption without notice",
          "Startup results may be cached for one hour only, and the terms forbid using results in a search index"
        ],
        "agentNotes": [
          "Send `fmt=json`, since the default response is XML",
          "Read `response.status` on every call; a daily limit shows as 'ERROR: Daily Limit Reached' rather than an HTTP error",
          "Set `lb`, `lbb`, `rb` and `rbb` as the quickstart recommends, or results lean to no language or region",
          "Keep the key out of logs and shared URLs, since it travels in the query string",
          "On the Startup plan, don't keep results for more than an hour"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 10,
          "payments": 20,
          "reliability": 45,
          "schema": 29,
          "security": 15,
          "transparency": 50
        },
        "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 \"https://api.mojeek.com/search?q=mojeek\u0026api_key=YOUR_API_KEY\u0026lb=EN\u0026lbb=100\u0026rb=GB\u0026rbb=10\u0026fmt=json\""
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/mojeek"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search request, Startup",
          "unit": "1k-requests",
          "usd": 2.68,
          "note": "£2, converted at the ECB rates of 6 November 2026 (USD 1.1165, GBP 0.83415 per euro). Excludes VAT"
        },
        {
          "item": "Search request, Business",
          "unit": "1k-requests",
          "usd": 4.02,
          "note": "£3, with storage rights"
        }
      ],
      "provenance": {
        "legalEntity": "Mojeek Limited",
        "domain": "mojeek.com",
        "domainRegistered": "2004-09-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mojeek.com/about/legal/api-terms.html",
        "privacy": "https://www.mojeek.com/about/privacy/",
        "statusPage": "https://status.mojeek.com/",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "Mojeek Limited, registered in England number 06918197, registered address in Croydon, office at the Sussex Innovation Centre in Brighton, per the site footer.",
          "The API terms name Mojeek Limited, choose English law and forbid using the services 'by any automated means unless you are an authorised Services user'. Recorded as a fact; only public pages were read.",
          "www.mojeek.com/robots.txt disallows /search, /url, /focus/dashboard, /eval and /image? for all agents; none of the pages read is under those paths.",
          "The privacy policy is dated 2 February 2022 and covers the search website. It says logs are kept indefinitely with IP addresses replaced by a country code.",
          "/.well-known/security.txt names security@mojeek.com and the contact page, with no Expires field. /security.txt answers 404.",
          "status.mojeek.com is a Site24x7 StatusIQ page drawn by script. Its RSS feed lists Search, Website, Blog and Community components, all operational on 6 November 2026.",
          "RDAP gives mojeek.com a registration date of 30 September 2004."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mojeek.json",
      "live": {
        "slug": "mojeek",
        "vendorStatus": {
          "page": "https://status.mojeek.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:12.320117499Z"
        },
        "securityTxt": {
          "url": "https://mojeek.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:01:02.996132936Z"
        },
        "pages": [
          {
            "url": "https://www.mojeek.com/about/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:48.341040926Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cd749befb394"
          },
          {
            "url": "https://www.mojeek.com/about/legal/api-terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:46.299086085Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f593843e677e"
          }
        ],
        "updatedAt": "2026-11-07T16:01:02.996132936Z"
      }
    },
    "edges": [
      {
        "by": 78,
        "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. No API changelog, release notes or dated API change were found, and the blog's posts since 2024 are about search in general, so the last change can't be dated (0). No dated changes in the 90 days from 8 August (0). A staff member answered API questions on the community forum within a day in December 2025 and October 2026, and support is by email; no public changelog (10 of 15). No official SDKs or MCP server (0). No public packages or CI to measure (0). 0 + 0 + 10 + 0 + 0 = 10."
        },
        "scores": {
          "a": 88,
          "b": 10
        }
      },
      {
        "by": 70,
        "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). Per-request prices published without login, £2 and £3 per 1,000 requests (20). The FAQ says a free credit comes with the Startup plan, but a bank card is required to open an account (0). A person signs up in a browser and adds a card (0). 0 + 20 + 0 + 0 = 20."
        },
        "scores": {
          "a": 90,
          "b": 20
        }
      },
      {
        "by": 57,
        "category": "schema",
        "leads": "exa-mcp",
        "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": "No OpenAPI or other machine-readable contract (0). No llms.txt (404) and no Markdown pages for agents (0). The parameters page states what each parameter does, with notes on when not to use `reg` and `clufmt`, but nothing on when another endpoint fits better (12 of 20). Every parameter has a type, defaults and valid ranges (tlen 0 to 127, dlen 0 to 511, rbb and lbb 1 to 100, up to 25 domains), though `reg` is called an enum without listing its values (11 of 15). One curl example and annotated JSON and XML response formats; errors appear only as a `status` string with one example (6 of 15). No API version, changelog or dated release notes, and the quickstart and the parameters page give different hosts (0). 0 + 0 + 12 + 11 + 6 + 0 = 29."
        },
        "scores": {
          "a": 86,
          "b": 29
        }
      },
      {
        "by": 32,
        "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. status.mojeek.com is a Site24x7 StatusIQ page with Search, Website, Blog and Community components. It is drawn by script, so only its RSS feed could be read, which shows each component's current state (Search operational since 7 September 2026) and no incident entries (15 of 20). No readable incident history (5). Rate limits are published per plan, 5 a second and 100,000 a day on Startup, 10 a second and 400,000 a day on Business (15). Over the daily limit the JSON `status` reads 'ERROR: Daily Limit Reached'; no HTTP 429, Retry-After or backoff guidance was found (0). No SLA, and the API terms say the service is provided as is and may be interrupted without notice (0). Generally available, with only the `lr` parameter marked beta (10). 15 + 5 + 15 + 0 + 0 + 10 = 45."
        },
        "scores": {
          "a": 77,
          "b": 45
        }
      },
      {
        "by": 30,
        "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": "Responses can be sized with `t` (up to 10, 40 or 100 results by plan), `tlen`, `dlen` and opt-in date and size fields (22 of 25). `s` for paging, `since` and `before`, `site`, included and excluded domains, region and language boosting and safe search (20). Errors are a free-text `status` with no documented codes, which an agent can't branch on reliably (5 of 20). Searches only read, so a retry is safe, but no page says whether failed or empty requests are billed (12 of 20). Only `q` and `api_key` are required, with recommended values for the boosts. No official SDK in any language (7 of 15). 22 + 20 + 5 + 12 + 7 = 66."
        },
        "scores": {
          "a": 96,
          "b": 66
        }
      },
      {
        "by": 28,
        "category": "security",
        "leads": "exa-mcp",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Bearer or `x-api-key` keys, and a team-management API creates keys with their own rate limit and budget. The hosted MCP also takes OAuth. The README documents `?exaApiKey=` in the URL, so 25 less 10 (15). Every tool is read-only and annotated so, and `?tools=` limits the set. Agent runs spend credit but change nothing. Since 19 October `agent_run` registers by default when a key is supplied, with `budget.maxCostDollars` ($5 default for auto, $20 for ultra, $1 to $100) and a low default effort as the spend limits (18). Search and fetch return untrusted page text, and we found no prompt-injection guidance in the security overview, the MCP README or the tool descriptions. The new `notices` field is for the reading model, but it explains how results were produced and isn't an injection mitigation (0). No audit log found (0). SOC 2 Type II with reports in a trust centre. No security.txt (404 on 21 October), no SECURITY.md, no bug bounty and no GitHub advisories. The April 2026 key leak below was handled in a commit message only (10).",
          "b": "One key per account, documented only as the `api_key` query parameter, and rotation or revocation is by email to the API team (a staff reply of 22 October 2026 on the community forum asks for the key's last 8 digits). One all-powerful key (10) less 10 for the key in the URL (0). Search is read-only and there is nothing to write, but no scoped or restricted key (10 of 20). Results are third-party titles and snippets, with no prompt-injection guidance found (0). No audit log or per-call usage view was found in the docs; the FAQ mentions budget alerts on the account (0 of 15). security.txt names security@mojeek.com, with no Expires field. No bug bounty, disclosure policy, SOC 2 or ISO 27001 found; the API page claims compliance with European rules such as the EU Data Act without a certification (5 of 20). 0 + 10 + 0 + 0 + 5 = 15."
        },
        "scores": {
          "a": 43,
          "b": 15
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Exa",
        "b": "Mojeek Limited",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.exa.ai/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, HTTP",
        "b": "",
        "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": "$2.68 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": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "ai.exa/exa",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "2022-02-02",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "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 scores 67.8 (B) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Exa API + MCP or Mojeek Web Search API?"
      },
      {
        "answer": "Mojeek Web Search API, at $2.68 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 Mojeek Web Search API?"
      },
      {
        "answer": "Exa API + MCP takes an API key or an OAuth sign-in. Mojeek Web Search API 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 Mojeek Web Search API need an API key?"
      },
      {
        "answer": "Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp. No hosted endpoint is listed for Mojeek Web Search API.",
        "question": "Can an agent call Exa API + MCP and Mojeek Web Search API without installing anything?"
      },
      {
        "answer": "Exa API + MCP is open source (MIT). No open-source release is listed for Mojeek Web Search API.",
        "question": "Are Exa API + MCP and Mojeek Web Search API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 45",
          "Schema \u0026 documentation, 86 against 29",
          "Agent ergonomics, 96 against 66",
          "Security \u0026 auth, 43 against 15",
          "Payments \u0026 pricing, 90 against 20",
          "Maintenance \u0026 community, 88 against 10"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "A hosted endpoint, with nothing to install",
          "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": [
          "Transparency \u0026 trust, 68 against 61"
        ],
        "also": [
          "Cheaper for web search, $2.68 against $4 per 1,000 requests",
          "No incidents deducted, where Exa API + MCP loses 9 points for them"
        ],
        "goodFor": "Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.",
        "slug": "mojeek",
        "watchFor": "The API key is documented only as a URL query parameter, and rotating a key means emailing the API team"
      }
    ],
    "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"
        }
      ],
      "mojeek": 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-mojeek.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-mojeek.json",
        "title": "Arcmira vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-mojeek"
      },
      {
        "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-mojeek.json",
        "title": "Grounding with Bing Search vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek"
      },
      {
        "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-mojeek.json",
        "title": "Brave Search API + MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-mojeek"
      },
      {
        "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-mojeek.json",
        "title": "Cloudflare Web Search API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-mojeek"
      },
      {
        "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-mojeek.json",
        "title": "DeepSeek Search and Fetch API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-mojeek"
      },
      {
        "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-newscatcher.json",
        "title": "Exa API + MCP vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher"
      },
      {
        "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/firecrawl-mcp-vs-mojeek.json",
        "title": "Firecrawl MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-mojeek.json",
        "title": "Grep AI vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-mojeek.json",
        "title": "Kagi Search API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-mojeek.json",
        "title": "Linkup vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-mojeek"
      },
      {
        "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/mojeek-vs-parallel-search-api.json",
        "title": "Mojeek Web Search API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.json",
        "title": "Mojeek Web Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io.json",
        "title": "Mojeek Web Search API vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi.json",
        "title": "Mojeek Web Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serper.json",
        "title": "Mojeek Web Search API vs Serper",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serphouse.json",
        "title": "Mojeek Web Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serpkite.json",
        "title": "Mojeek Web Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-specstream.json",
        "title": "Mojeek Web Search API vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.json",
        "title": "Mojeek Web Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search.json",
        "title": "Mojeek Web Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-valyu.json",
        "title": "Mojeek Web Search API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-you-com-api.json",
        "title": "Mojeek Web Search API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-you-com-api"
      },
      {
        "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/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/exa-mcp-vs-liner-mcp.json",
        "title": "Exa API + MCP vs Liner Search MCP",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-liner-mcp"
      },
      {
        "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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 32,
        "edge": "exa-mcp",
        "exa-mcp": 77,
        "key": "reliability",
        "mojeek": 45,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "edge": "exa-mcp",
        "exa-mcp": 86,
        "key": "schema",
        "mojeek": 29,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 30,
        "edge": "exa-mcp",
        "exa-mcp": 96,
        "key": "ergonomics",
        "mojeek": 66,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 28,
        "edge": "exa-mcp",
        "exa-mcp": 43,
        "key": "security",
        "mojeek": 15,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 70,
        "edge": "exa-mcp",
        "exa-mcp": 90,
        "key": "payments",
        "mojeek": 20,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 78,
        "edge": "exa-mcp",
        "exa-mcp": 88,
        "key": "maintenance",
        "mojeek": 10,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 7,
        "edge": "mojeek",
        "exa-mcp": 61,
        "key": "transparency",
        "mojeek": 68,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Exa API + MCP scores 67.8 (B) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust. Both do web search. Mojeek Web Search API is cheaper for web search, $2.68 against $4 per 1,000 requests. Exa API + MCP accepts x402. Mojeek Web Search API 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.",
      "mojeek": "Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek",
    "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.min.md"
  },
  "markdown": "Exa API + MCP scores 67.8 (B) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust. Both do web search. Mojeek Web Search API is cheaper for web search, $2.68 against $4 per 1,000 requests. Exa API + MCP accepts x402. Mojeek Web Search API doesn't.\n\n- Exa API + MCP: grade B, 67.8/100, rank #304 of 1510. Markdown https://www.anchorterminal.com/tools/exa-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/exa-mcp.json\n- Mojeek Web Search API: grade F, 36.4/100, rank #1387 of 1510. Markdown https://www.anchorterminal.com/tools/mojeek.md · JSON https://www.anchorterminal.com/api/v1/tools/mojeek.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 326 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 45\n- Schema \u0026 documentation, 86 against 29\n- Agent ergonomics, 96 against 66\n- Security \u0026 auth, 43 against 15\n- Payments \u0026 pricing, 90 against 20\n- Maintenance \u0026 community, 88 against 10\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n- A hosted endpoint, with nothing to install\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### Mojeek Web Search API (F)\n\nGood for: Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.\n\nAhead on:\n- Transparency \u0026 trust, 68 against 61\n\nAlso in its favour:\n- Cheaper for web search, $2.68 against $4 per 1,000 requests\n- No incidents deducted, where Exa API + MCP loses 9 points for them\n\nWatch for: The API key is documented only as a URL query parameter, and rotating a key means emailing the API team\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Exa API + MCP +78\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- Mojeek Web Search API (10): Read for a closed service. No API changelog, release notes or dated API change were found, and the blog's posts since 2024 are about search in general, so the last change can't be dated (0). No dated changes in the 90 days from 8 August (0). A staff member answered API questions on the community forum within a day in December 2025 and October 2026, and support is by email; no public changelog (10 of 15). No official SDKs or MCP server (0). No public packages or CI to measure (0). 0 + 0 + 10 + 0 + 0 = 10.\n\n### Payments \u0026 pricing: Exa API + MCP +70\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- Mojeek Web Search API (20): No x402, MPP or L402 (0). Per-request prices published without login, £2 and £3 per 1,000 requests (20). The FAQ says a free credit comes with the Startup plan, but a bank card is required to open an account (0). A person signs up in a browser and adds a card (0). 0 + 20 + 0 + 0 = 20.\n\n### Schema \u0026 documentation: Exa API + MCP +57\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- Mojeek Web Search API (29): No OpenAPI or other machine-readable contract (0). No llms.txt (404) and no Markdown pages for agents (0). The parameters page states what each parameter does, with notes on when not to use `reg` and `clufmt`, but nothing on when another endpoint fits better (12 of 20). Every parameter has a type, defaults and valid ranges (tlen 0 to 127, dlen 0 to 511, rbb and lbb 1 to 100, up to 25 domains), though `reg` is called an enum without listing its values (11 of 15). One curl example and annotated JSON and XML response formats; errors appear only as a `status` string with one example (6 of 15). No API version, changelog or dated release notes, and the quickstart and the parameters page give different hosts (0). 0 + 0 + 12 + 11 + 6 + 0 = 29.\n\n### Reliability: Exa API + MCP +32\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- Mojeek Web Search API (45): Read with the hosted lines. status.mojeek.com is a Site24x7 StatusIQ page with Search, Website, Blog and Community components. It is drawn by script, so only its RSS feed could be read, which shows each component's current state (Search operational since 7 September 2026) and no incident entries (15 of 20). No readable incident history (5). Rate limits are published per plan, 5 a second and 100,000 a day on Startup, 10 a second and 400,000 a day on Business (15). Over the daily limit the JSON `status` reads 'ERROR: Daily Limit Reached'; no HTTP 429, Retry-After or backoff guidance was found (0). No SLA, and the API terms say the service is provided as is and may be interrupted without notice (0). Generally available, with only the `lr` parameter marked beta (10). 15 + 5 + 15 + 0 + 0 + 10 = 45.\n\n### Agent ergonomics: Exa API + MCP +30\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- Mojeek Web Search API (66): Responses can be sized with `t` (up to 10, 40 or 100 results by plan), `tlen`, `dlen` and opt-in date and size fields (22 of 25). `s` for paging, `since` and `before`, `site`, included and excluded domains, region and language boosting and safe search (20). Errors are a free-text `status` with no documented codes, which an agent can't branch on reliably (5 of 20). Searches only read, so a retry is safe, but no page says whether failed or empty requests are billed (12 of 20). Only `q` and `api_key` are required, with recommended values for the boosts. No official SDK in any language (7 of 15). 22 + 20 + 5 + 12 + 7 = 66.\n\n### Security \u0026 auth: Exa API + MCP +28\n\n- Exa API + MCP (43): Bearer or `x-api-key` keys, and a team-management API creates keys with their own rate limit and budget. The hosted MCP also takes OAuth. The README documents `?exaApiKey=` in the URL, so 25 less 10 (15). Every tool is read-only and annotated so, and `?tools=` limits the set. Agent runs spend credit but change nothing. Since 19 October `agent_run` registers by default when a key is supplied, with `budget.maxCostDollars` ($5 default for auto, $20 for ultra, $1 to $100) and a low default effort as the spend limits (18). Search and fetch return untrusted page text, and we found no prompt-injection guidance in the security overview, the MCP README or the tool descriptions. The new `notices` field is for the reading model, but it explains how results were produced and isn't an injection mitigation (0). No audit log found (0). SOC 2 Type II with reports in a trust centre. No security.txt (404 on 21 October), no SECURITY.md, no bug bounty and no GitHub advisories. The April 2026 key leak below was handled in a commit message only (10).\n- Mojeek Web Search API (15): One key per account, documented only as the `api_key` query parameter, and rotation or revocation is by email to the API team (a staff reply of 22 October 2026 on the community forum asks for the key's last 8 digits). One all-powerful key (10) less 10 for the key in the URL (0). Search is read-only and there is nothing to write, but no scoped or restricted key (10 of 20). Results are third-party titles and snippets, with no prompt-injection guidance found (0). No audit log or per-call usage view was found in the docs; the FAQ mentions budget alerts on the account (0 of 15). security.txt names security@mojeek.com, with no Expires field. No bug bounty, disclosure policy, SOC 2 or ISO 27001 found; the API page claims compliance with European rules such as the EU Data Act without a certification (5 of 20). 0 + 10 + 0 + 0 + 5 = 15.\n\n## Score by category\n\n| Category | Weight | Exa API + MCP | Mojeek Web Search API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 45 | Exa API + MCP +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 29 | Exa API + MCP +57 |\n| Agent ergonomics | 13% (16.2 this run) | 96 | 66 | Exa API + MCP +30 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 15 | Exa API + MCP +28 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 20 | Exa API + MCP +70 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 10 | Exa API + MCP +78 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 68 | Mojeek Web Search API +7 |\n| Negative events | ≤15 | -9 | 0 | |\n| **Total** | | **67.8 · B** | **36.4 · F** | |\n\n## Facts side by side\n\n| Fact | Exa API + MCP | Mojeek Web Search API |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Exa | Mojeek Limited |\n| Hosted endpoint | `https://mcp.exa.ai/mcp` | no (local only) |\n| Transports | stdio, Streamable HTTP, HTTP |  |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Pay per use |\n| Price for web search | $4 per 1,000 requests | $2.68 per 1,000 requests |\n| x402 | yes, from $0.007/call | no |\n| Licence | MIT | none |\n| Tools exposed | 4 | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `ai.exa/exa` | not listed |\n| Last release | 2026-10-30 | none |\n| Terms last updated | not read yet | no date given |\n| Privacy policy last updated | 2026-06-29 | 2022-02-02 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 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### Mojeek Web Search API\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**Mojeek Web Search API.** Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA.\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### Mojeek Web Search API\n\n1. Send `fmt=json`, since the default response is XML\n2. Read `response.status` on every call; a daily limit shows as 'ERROR: Daily Limit Reached' rather than an HTTP error\n3. Set `lb`, `lbb`, `rb` and `rbb` as the quickstart recommends, or results lean to no language or region\n4. Keep the key out of logs and shared URLs, since it travels in the query string\n5. On the Startup plan, don't keep results for more than an hour\n\n## Questions\n\n### Which is better for AI agents, Exa API + MCP or Mojeek Web Search API?\n\nExa API + MCP scores 67.8 (B) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.\n\n### Which is cheaper for web search, Exa API + MCP or Mojeek Web Search API?\n\nMojeek Web Search API, at $2.68 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 Mojeek Web Search API need an API key?\n\nExa API + MCP takes an API key or an OAuth sign-in. Mojeek Web Search API 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 Mojeek Web Search API without installing anything?\n\nExa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp. No hosted endpoint is listed for Mojeek Web Search API.\n\n### Are Exa API + MCP and Mojeek Web Search API open source?\n\nExa API + MCP is open source (MIT). No open-source release is listed for Mojeek Web Search API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.json, and with the fewest tokens: https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"exa-mcp\", \"b\": \"mojeek\"}`. From a terminal: `anchor compare exa-mcp mojeek`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/exa-mcp.json and https://www.anchorterminal.com/api/v1/tools/mojeek.json\n\n## Other comparisons with Exa API + MCP or Mojeek Web Search API\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 Mojeek Web Search API](https://www.anchorterminal.com/compare/agentcore-web-search-vs-mojeek.md)\n- [Arcmira vs Mojeek Web Search API](https://www.anchorterminal.com/compare/arcmira-vs-mojeek.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 Mojeek Web Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek.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 Mojeek Web Search API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-mojeek.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 Mojeek Web Search API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-mojeek.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 Mojeek Web Search API](https://www.anchorterminal.com/compare/deepseek-search-api-vs-mojeek.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 NewsCatcher](https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.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- [Firecrawl MCP vs Mojeek Web Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-mojeek.md)\n- [Grep AI vs Mojeek Web Search API](https://www.anchorterminal.com/compare/grep-ai-vs-mojeek.md)\n- [Kagi Search API vs Mojeek Web Search API](https://www.anchorterminal.com/compare/kagi-search-vs-mojeek.md)\n- [Linkup vs Mojeek Web Search API](https://www.anchorterminal.com/compare/linkup-vs-mojeek.md)\n- [Mojeek Web Search API vs NewsCatcher](https://www.anchorterminal.com/compare/mojeek-vs-newscatcher.md)\n- [Mojeek Web Search API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/mojeek-vs-parallel-search-api.md)\n- [Mojeek Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.md)\n- [Mojeek Web Search API vs SearchAPI.io](https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io.md)\n- [Mojeek Web Search API vs SerpApi](https://www.anchorterminal.com/compare/mojeek-vs-serpapi.md)\n- [Mojeek Web Search API vs Serper](https://www.anchorterminal.com/compare/mojeek-vs-serper.md)\n- [Mojeek Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/mojeek-vs-serphouse.md)\n- [Mojeek Web Search API vs SerpKite](https://www.anchorterminal.com/compare/mojeek-vs-serpkite.md)\n- [Mojeek Web Search API vs SpecStream](https://www.anchorterminal.com/compare/mojeek-vs-specstream.md)\n- [Mojeek Web Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.md)\n- [Mojeek Web Search API vs TinyFish Search](https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search.md)\n- [Mojeek Web Search API vs Valyu](https://www.anchorterminal.com/compare/mojeek-vs-valyu.md)\n- [Mojeek Web Search API vs You.com APIs](https://www.anchorterminal.com/compare/mojeek-vs-you-com-api.md)\n- [Arcmira vs Exa API + MCP](https://www.anchorterminal.com/compare/arcmira-vs-exa-mcp.md)\n- [Exa API + MCP vs Grep AI](https://www.anchorterminal.com/compare/exa-mcp-vs-grep-ai.md)\n- [Exa API + MCP vs Liner Search MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-liner-mcp.md)\n- [Exa API + MCP vs Fetch (MCP reference server)](https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.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 Mojeek Web Search API",
        "url": ""
      }
    ],
    "description": "Exa scores 67.8 (B) to Mojeek Web Search's 36.4 (F) for web search. Mojeek Web Search is cheaper for web search, $2.68 against $4 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Exa API + MCP B 67.8",
      "Mojeek Web Search API F 36.4",
      "scores"
    ],
    "h1": "Exa API + MCP vs Mojeek Web Search API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/exa-mcp-vs-mojeek",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Exa vs Mojeek Web Search for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek"
  },
  "tokens": {
    "markdown": 6100,
    "slim": 3530
  },
  "version": 1
}
