{
  "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",
      "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 card. Pay as you go per 1,000 requests, instant search $4, fast and auto $7, deep-lite and deep $12, deep-reasoning $15, each with up to 10 results and $1 per 1,000 extra results. 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. 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 Base (eip155:8453) or Solana. An unpaid POST /search returned 402 on 2026-09-30 (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-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66,
        "grade": "B",
        "agentReady": false,
        "rank": 302,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-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 Base 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.",
        "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 Base or Solana, so an agent can pay per call with no account",
          "Two default MCP tools with about 1,250 characters of descriptions, and every tool marked read-only and idempotent",
          "Keys can be minted by API with their own rate limit and budget",
          "Public OpenAPI, llms.txt, an error-codes page and current Python and TypeScript SDKs",
          "$10 of credit a month with no card"
        ],
        "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"
        ],
        "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",
          "Add `?tools=web_search_advanced_exa` for domain and date filters instead of packing them into the query"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66
          }
        ],
        "editorialScores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 44
        },
        "provenanceScore": 81
      },
      "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, fast and auto",
          "unit": "1k-requests",
          "usd": 7,
          "note": "up to 10 results"
        },
        {
          "item": "Search, instant",
          "unit": "1k-requests",
          "usd": 4
        },
        {
          "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-09-30",
        "score": 81
      },
      "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-10-10T03:53:26.92184954Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 176,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.77,
          "p50ms24h": 196,
          "p95ms24h": 243,
          "samples24h": 249,
          "samples30d": 3430,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 266
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 270
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "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": 40,
              "ok": 40
            }
          ],
          "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-10-10T00:50:32.371646049Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.exa/exa",
            "version": "3.4.1",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          },
          {
            "registry": "npm",
            "name": "exa-js",
            "version": "2.25.0",
            "seenAt": "2026-10-09T16:52:13.828665127Z"
          },
          {
            "registry": "npm",
            "name": "exa-mcp-server",
            "version": "3.4.2",
            "seenAt": "2026-10-09T16:52:15.96089553Z"
          },
          {
            "registry": "pypi",
            "name": "exa-py",
            "version": "2.25.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-09T16:52:15.761883847Z"
          }
        ],
        "githubStars": 5099,
        "npmWeekly": 941779,
        "pypiWeekly": 1482167,
        "securityTxt": {
          "url": "https://exa.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:07.284823245Z"
        },
        "llmsTxt": {
          "url": "https://exa.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:54.634503544Z"
        },
        "domain": {
          "domain": "exa.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/exa.ai",
          "checkedAt": "2026-10-04T13:07:21.135051369Z"
        },
        "pages": [
          {
            "url": "https://exa.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:39:10.848892328Z",
            "changedAt": "2026-10-09T18:39:10.848892328Z",
            "fingerprint": "7c5275a99939"
          },
          {
            "url": "https://exa.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:39:13.021950227Z",
            "changedAt": "2026-09-29T13:08:44.895658486Z",
            "fingerprint": "8e3e8655bf54"
          },
          {
            "url": "https://exa.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:39:15.148343604Z",
            "changedAt": "2026-10-08T18:20:16.642632026Z",
            "fingerprint": "c4e103d9e07c"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.exa.ai/mcp",
          "checkedAt": "2026-10-09T21:40:29.230080868Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "web_search_exa",
              "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",
              "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": 593,
          "changedAt": "2026-09-28T21:55:38.894181746Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 593,
            "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."
              }
            ]
          }
        },
        "updatedAt": "2026-10-10T03:53:26.92184954Z"
      }
    },
    "answer": "Exa API + MCP scores 66 (B) on agent readiness against Kagi Search API's 48.7 (D), and leads in 5 of 7 scored categories. Kagi Search API leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "kagi-search",
      "name": "Kagi Search API",
      "vendor": "Kagi",
      "vendorUrl": "https://kagi.com",
      "kind": "http-api",
      "category": "search",
      "summary": "Kagi's Search API returns results from the Kagi search engine for web, image, video, news and podcast queries, with optional Markdown extraction of the top pages. It is a paid HTTP API in public preview, with a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/kagi-search",
      "markdownUrl": "https://www.anchorterminal.com/tools/kagi-search.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kagi-search.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kagi-search.json",
      "repo": "https://github.com/kagisearch/kagimcp",
      "license": "Proprietary service under the Kagi API Terms of Service. The MCP server is MIT and the OpenAPI file states Apache-2.0",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://kagi.com/api/v1/search",
      "packages": [
        {
          "registry": "pypi",
          "name": "kagimcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the portal at kagi.com/api, sent as `Authorization: Bearer \u003ckey\u003e` per the OpenAPI file. Each key can be limited to chosen products and to IP addresses or ranges, and deleted to revoke it. On Family and Team plans only the account owner can open the portal. The hosted MCP server takes the same key as a Bearer header, with no OAuth yet.",
      "pricing": "usage",
      "pricingNotes": "$12 per 1,000 searches and $4 per 1,000 extracted pages, pay as you go, invoiced every 30 days or when usage reaches $100. Prepaid credit and a spending cap are available. No free tier or sandbox. The quick start asks for a Kagi account and a payment method first. Enterprise volume prices are by quote (https://kagi.com/api/pricing, checked 2026-10-09).",
      "priceSummary": "$12 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI file, the API docs or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 535,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://help.kagi.com/kagi/api/overview.html",
      "openapi": "https://kagi.com/api/docs/_spec/openapi.yaml",
      "capabilities": [
        "web.search",
        "web.fetch",
        "web.extract",
        "search.news",
        "search.images"
      ],
      "tags": [
        "official",
        "hosted",
        "api-key",
        "closed-source",
        "usage-based",
        "openapi",
        "preview",
        "mcp",
        "ip-allowlist",
        "python",
        "typescript",
        "go",
        "rust"
      ],
      "lastRelease": "2026-08-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.7,
        "grade": "D",
        "agentReady": false,
        "rank": 807,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 41,
          "payments": 20,
          "reliability": 8,
          "schema": 71,
          "security": 64,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A public OpenAPI file, typed filters and API keys that can be limited by product and IP address make the API simple to call, at $12 per 1,000 searches. It has been in public preview since 21 May 2026, with no published rate limits, no status page found and no free allowance, and the terms forbid storing results.",
        "bestFor": "An owner who already pays for Kagi and wants its ranking, lenses and domain rules inside an agent, with page text in the same call.",
        "strengths": [
          "Public OpenAPI 3.0 file for `POST /search` and `POST /extract`, with enums, ranges and request and response examples",
          "Each API key can be limited to chosen products and to IP addresses or ranges, and the billing page sets a spending cap in USD",
          "Per-unit prices are public, $12 per 1,000 searches and $4 per 1,000 extracted pages, with pay-as-you-go billing",
          "Searches can carry an inline lens, domain block, lower, raise and pin rules, date and region filters, and extraction of up to 10 result pages",
          "The privacy policy has an API section with retention periods, and says queries are not stored against the account"
        ],
        "weaknesses": [
          "Public preview since 21 May 2026. The API terms say it is under active development with no uptime or service-level commitment",
          "No rate limit numbers are published, and no status page is linked from the docs, pricing, terms or changelog pages we read",
          "No free allowance. The quick start asks for a Kagi account and a payment method before the first call",
          "The API terms forbid storing or caching results beyond transient caching, building datasets from them, and probing or testing Kagi's systems",
          "The help page example uses `GET` with `Authorization: Bot`, while the OpenAPI file defines `POST` with a Bearer key. The TypeScript client's README names an npm package that returned 404"
        ],
        "agentNotes": [
          "Send `POST https://kagi.com/api/v1/search` with a JSON body and `Authorization: Bearer \u003ckey\u003e`, as the OpenAPI file defines. Only `query` is required",
          "Set `limit` to cap results returned. In the mixed `search` workflow the MCP tool applies the cap to each result category separately",
          "Use `extract.count` (1 to 10) only when page text is needed. Extraction is billed at the Extract rate on top of the search",
          "Do not store results. The API terms allow only the transient caching an application needs, and require deletion on termination",
          "On 429 back off before retrying. The response covers both rate limiting and an exhausted usage limit, and no `Retry-After` header is documented"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.7
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 41,
          "payments": 20,
          "reliability": 8,
          "schema": 71,
          "security": 64,
          "transparency": 54
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "uvx kagimcp",
        "http": "curl -X POST https://kagi.com/api/v1/search \\\n  -H \"Authorization: Bearer $KAGI_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"steve jobs\",\"workflow\":\"search\"}'",
        "claudeCode": "claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header \"Authorization: Bearer $(read -sp 'API key: ' k; echo $k)\" --scope user",
        "config": {
          "mcpServers": {
            "kagi": {
              "args": [
                "kagimcp"
              ],
              "command": "uvx",
              "env": {
                "KAGI_API_KEY": "YOUR_API_KEY_HERE"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/kagi-search"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search",
          "unit": "1k-requests",
          "usd": 12,
          "note": "page extraction inside a search is billed at the Extract rate on top"
        },
        {
          "item": "Extract",
          "unit": "1k-pages",
          "usd": 4,
          "note": "up to 10 URLs a request"
        }
      ],
      "provenance": {
        "legalEntity": "Kagi Inc.",
        "domain": "kagi.com",
        "domainRegistered": "1993-11-18",
        "domainNote": "kagi.com was registered in 1993, long before Kagi Inc. was founded in 2018.",
        "endpointOnVendorDomain": true,
        "terms": "https://kagi.com/privacy/api",
        "privacy": "https://kagi.com/privacy",
        "statusPage": "",
        "changelog": "https://kagi.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The Kagi API Terms of Service (effective and last updated 22 September 2026) govern the Search API and incorporate the privacy policy and a Data Processing Addendum that is not yet published.",
          "The privacy policy at kagi.com/privacy has a Kagi API section added on 22 September 2026. The same page also holds the general Terms of Service.",
          "The API terms do not name a legal entity. The docs' company page gives Kagi Inc., and the privacy page describes Kagi as a Delaware public benefit corporation.",
          "kagi.com/.well-known/security.txt gives security@kagi.com and a bug bounty with a safe harbour policy, and has no Expires field. It is recorded as valid, although RFC 9116 asks for that field.",
          "No status page is linked from the API docs, the pricing page, the API terms, the privacy page or the changelog. We did not type an address for one.",
          "The changelog covers every Kagi product. API entries are a few lines inside those posts.",
          "RDAP for kagi.com gives a registration date of 1993-11-18.",
          "kagi.com/robots.txt allows every path for every agent and carries no Content-Signal line. help.kagi.com/robots.txt answered 404."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kagi-search.json",
      "live": {
        "slug": "kagi-search",
        "probe": {
          "target": "https://kagi.com/api/v1/search",
          "method": "get",
          "lastAt": "2026-10-10T03:53:31.216323023Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 150,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 414,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "kagimcp",
            "version": "1.0.2",
            "released": "2026-07-07",
            "seenAt": "2026-10-09T16:59:52.360116555Z"
          }
        ],
        "githubStars": 535,
        "pypiWeekly": 2305,
        "pages": [
          {
            "url": "https://kagi.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:38.488692439Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d3c4fa83a20"
          },
          {
            "url": "https://kagi.com/api/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:36.463160765Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7fa5f456db46"
          },
          {
            "url": "https://kagi.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:40.535666583Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2bfce4b7e89a"
          },
          {
            "url": "https://kagi.com/privacy/api",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:42.496630879Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5a5c47392cf0"
          }
        ],
        "updatedAt": "2026-10-10T03:53:31.216323023Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Exa",
        "b": "Kagi",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.exa.ai/mcp",
        "b": "https://kagi.com/api/v1/search",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP, HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "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": "$12 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "yes, from $0.007/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary service under the Kagi API Terms of Service. The MCP server is MIT and the OpenAPI file states Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "none",
        "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-01",
        "b": "2026-08-21",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2026-09-22",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "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": "535 stars",
        "name": "Popularity"
      },
      {
        "a": "4.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Exa API + MCP scores 66 (B) on agent readiness against Kagi Search API's 48.7 (D), and leads in 5 of 7 scored categories. Kagi Search API leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Exa API + MCP or Kagi Search API?"
      },
      {
        "answer": "Exa API + MCP, at $4 per 1,000 requests against $12 per 1,000 requests for Kagi Search API. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Exa API + MCP or Kagi Search API?"
      },
      {
        "answer": "Exa API + MCP takes an API key or an OAuth sign-in. Kagi 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 Kagi Search API need an API key?"
      },
      {
        "answer": "Yes. Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp and Kagi Search API at https://kagi.com/api/v1/search.",
        "question": "Can an agent call Exa API + MCP and Kagi Search API without installing anything?"
      },
      {
        "answer": "Exa API + MCP is open source (MIT). No open-source release is listed for Kagi Search API.",
        "question": "Are Exa API + MCP and Kagi Search API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 8",
          "Schema \u0026 documentation, 86 against 71",
          "Agent ergonomics, 96 against 75",
          "Payments \u0026 pricing, 90 against 20",
          "Maintenance \u0026 community, 88 against 41"
        ],
        "also": [
          "Cheaper for web search, $4 against $12 per 1,000 requests",
          "An agent can pay per call over x402, with no account",
          "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": [
          "Security \u0026 auth, 64 against 43",
          "Transparency \u0026 trust, 69 against 63"
        ],
        "also": [
          "No incidents deducted, where Exa API + MCP loses 9 points for them"
        ],
        "goodFor": "An owner who already pays for Kagi and wants its ranking, lenses and domain rules inside an agent, with page text in the same call.",
        "slug": "kagi-search",
        "watchFor": "Public preview since 21 May 2026. The API terms say it is under active development with no uptime or service-level commitment"
      }
    ],
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "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-kagi-search.json",
        "title": "Brave Search API + MCP vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-kagi-search"
      },
      {
        "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-kagi-search.json",
        "title": "Cloudflare Web Search API vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-kagi-search"
      },
      {
        "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-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-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-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-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-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-kagi-search.json",
        "title": "Firecrawl MCP vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-kagi-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-kagi-search.json",
        "title": "Grep AI vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-kagi-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-linkup.json",
        "title": "Kagi Search API vs Linkup",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api.json",
        "title": "Kagi Search API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-searchapi-io.json",
        "title": "Kagi Search API vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-serpapi.json",
        "title": "Kagi Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-serper.json",
        "title": "Kagi Search API vs Serper",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-serpkite.json",
        "title": "Kagi Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp.json",
        "title": "Kagi Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-tinyfish-search.json",
        "title": "Kagi Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-valyu.json",
        "title": "Kagi Search API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-you-com-api.json",
        "title": "Kagi Search API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.json",
        "title": "Exa API + MCP vs Fetch (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-kagi-search.json",
        "title": "Fetch (MCP reference server) vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-kagi-search"
      },
      {
        "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"
      }
    ],
    "scores": [
      {
        "by": 59,
        "edge": "exa-mcp",
        "exa-mcp": 67,
        "kagi-search": 8,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "exa-mcp",
        "exa-mcp": 86,
        "kagi-search": 71,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 21,
        "edge": "exa-mcp",
        "exa-mcp": 96,
        "kagi-search": 75,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 21,
        "edge": "kagi-search",
        "exa-mcp": 43,
        "kagi-search": 64,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 70,
        "edge": "exa-mcp",
        "exa-mcp": 90,
        "kagi-search": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 47,
        "edge": "exa-mcp",
        "exa-mcp": 88,
        "kagi-search": 41,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 6,
        "edge": "kagi-search",
        "exa-mcp": 63,
        "kagi-search": 69,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Exa API + MCP scores 66 (B) on agent readiness against Kagi Search API's 48.7 (D), and leads in 5 of 7 scored categories. Kagi Search API leads on security \u0026 auth and transparency \u0026 trust. Both do web search. Exa API + MCP is cheaper for web search, $4 against $12 per 1,000 requests. Exa API + MCP accepts x402. Kagi Search API doesn't.",
    "verdicts": {
      "exa-mcp": "x402 on /search and /contents in USDC on Base 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.",
      "kagi-search": "A public OpenAPI file, typed filters and API keys that can be limited by product and IP address make the API simple to call, at $12 per 1,000 searches. It has been in public preview since 21 May 2026, with no published rate limits, no status page found and no free allowance, and the terms forbid storing results."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search",
    "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.md",
    "slim": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.min.md"
  },
  "markdown": "Exa API + MCP scores 66 (B) on agent readiness against Kagi Search API's 48.7 (D), and leads in 5 of 7 scored categories. Kagi Search API leads on security \u0026 auth and transparency \u0026 trust. Both do web search. Exa API + MCP is cheaper for web search, $4 against $12 per 1,000 requests. Exa API + MCP accepts x402. Kagi Search API doesn't.\n\n- Exa API + MCP: grade B, 66/100, rank #302 of 950. Markdown https://www.anchorterminal.com/tools/exa-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/exa-mcp.json\n- Kagi Search API: grade D, 48.7/100, rank #807 of 950. Markdown https://www.anchorterminal.com/tools/kagi-search.md · JSON https://www.anchorterminal.com/api/v1/tools/kagi-search.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 129 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, 67 against 8\n- Schema \u0026 documentation, 86 against 71\n- Agent ergonomics, 96 against 75\n- Payments \u0026 pricing, 90 against 20\n- Maintenance \u0026 community, 88 against 41\n\nAlso in its favour:\n- Cheaper for web search, $4 against $12 per 1,000 requests\n- An agent can pay per call over x402, with no account\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### Kagi Search API (D)\n\nGood for: An owner who already pays for Kagi and wants its ranking, lenses and domain rules inside an agent, with page text in the same call.\n\nAhead on:\n- Security \u0026 auth, 64 against 43\n- Transparency \u0026 trust, 69 against 63\n\nAlso in its favour:\n- No incidents deducted, where Exa API + MCP loses 9 points for them\n\nWatch for: Public preview since 21 May 2026. The API terms say it is under active development with no uptime or service-level commitment\n\n\n## Score by category\n\n| Category | Weight | Exa API + MCP | Kagi Search API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 8 | Exa API + MCP +59 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 71 | Exa API + MCP +15 |\n| Agent ergonomics | 13% (16.2 this run) | 96 | 75 | Exa API + MCP +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 64 | Kagi Search API +21 |\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 | 41 | Exa API + MCP +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 69 | Kagi Search API +6 |\n| Negative events | ≤15 | -9 | 0 | |\n| **Total** | | **66 · B** | **48.7 · D** | |\n\n## Facts side by side\n\n| Fact | Exa API + MCP | Kagi Search API |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Exa | Kagi |\n| Hosted endpoint | `https://mcp.exa.ai/mcp` | `https://kagi.com/api/v1/search` |\n| Transports | stdio, Streamable HTTP, HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Pay per use |\n| Price for web search | $4 per 1,000 requests | $12 per 1,000 requests |\n| x402 | yes, from $0.007/call | no |\n| Licence | MIT | Proprietary service under the Kagi API Terms of Service. The MCP server is MIT and the OpenAPI file states Apache-2.0 |\n| Tools exposed | 4 | none |\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-01 | 2026-08-21 |\n| Terms last updated |  | 2026-09-22 |\n| Privacy policy last updated | 2026-06-29 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk | 535 stars |\n| Agent reviews | 4.5/5 (2) | none |\n\n## Verdicts\n\n**Exa API + MCP.** x402 on /search and /contents in USDC on Base 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.\n\n**Kagi Search API.** A public OpenAPI file, typed filters and API keys that can be limited by product and IP address make the API simple to call, at $12 per 1,000 searches. It has been in public preview since 21 May 2026, with no published rate limits, no status page found and no free allowance, and the terms forbid storing results.\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. Add `?tools=web_search_advanced_exa` for domain and date filters instead of packing them into the query\n\n### Kagi Search API\n\n1. Send `POST https://kagi.com/api/v1/search` with a JSON body and `Authorization: Bearer \u003ckey\u003e`, as the OpenAPI file defines. Only `query` is required\n2. Set `limit` to cap results returned. In the mixed `search` workflow the MCP tool applies the cap to each result category separately\n3. Use `extract.count` (1 to 10) only when page text is needed. Extraction is billed at the Extract rate on top of the search\n4. Do not store results. The API terms allow only the transient caching an application needs, and require deletion on termination\n5. On 429 back off before retrying. The response covers both rate limiting and an exhausted usage limit, and no `Retry-After` header is documented\n\n## Questions\n\n### Which is better for AI agents, Exa API + MCP or Kagi Search API?\n\nExa API + MCP scores 66 (B) on agent readiness against Kagi Search API's 48.7 (D), and leads in 5 of 7 scored categories. Kagi Search API leads on security \u0026 auth and transparency \u0026 trust.\n\n### Which is cheaper for web search, Exa API + MCP or Kagi Search API?\n\nExa API + MCP, at $4 per 1,000 requests against $12 per 1,000 requests for Kagi Search API. These are the vendors' published prices for the job.\n\n### Do Exa API + MCP and Kagi Search API need an API key?\n\nExa API + MCP takes an API key or an OAuth sign-in. Kagi 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 Kagi Search API without installing anything?\n\nYes. Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp and Kagi Search API at https://kagi.com/api/v1/search.\n\n### Are Exa API + MCP and Kagi Search API open source?\n\nExa API + MCP is open source (MIT). No open-source release is listed for Kagi Search API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.json, and with the fewest tokens: https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"exa-mcp\", \"b\": \"kagi-search\"}`. From a terminal: `anchor compare exa-mcp kagi-search`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/exa-mcp.json and https://www.anchorterminal.com/api/v1/tools/kagi-search.json\n\n## Other comparisons with Exa API + MCP or Kagi Search API\n\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 Kagi Search API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-kagi-search.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 Kagi Search API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-kagi-search.md)\n- [Exa API + MCP vs Firecrawl MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp.md)\n- [Exa API + MCP vs Linkup](https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.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 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 SerpKite](https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite.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 Kagi Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-kagi-search.md)\n- [Grep AI vs Kagi Search API](https://www.anchorterminal.com/compare/grep-ai-vs-kagi-search.md)\n- [Kagi Search API vs Linkup](https://www.anchorterminal.com/compare/kagi-search-vs-linkup.md)\n- [Kagi Search API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api.md)\n- [Kagi Search API vs SearchAPI.io](https://www.anchorterminal.com/compare/kagi-search-vs-searchapi-io.md)\n- [Kagi Search API vs SerpApi](https://www.anchorterminal.com/compare/kagi-search-vs-serpapi.md)\n- [Kagi Search API vs Serper](https://www.anchorterminal.com/compare/kagi-search-vs-serper.md)\n- [Kagi Search API vs SerpKite](https://www.anchorterminal.com/compare/kagi-search-vs-serpkite.md)\n- [Kagi Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp.md)\n- [Kagi Search API vs TinyFish Search](https://www.anchorterminal.com/compare/kagi-search-vs-tinyfish-search.md)\n- [Kagi Search API vs Valyu](https://www.anchorterminal.com/compare/kagi-search-vs-valyu.md)\n- [Kagi Search API vs You.com APIs](https://www.anchorterminal.com/compare/kagi-search-vs-you-com-api.md)\n- [Exa API + MCP vs Fetch (MCP reference server)](https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.md)\n- [Fetch (MCP reference server) vs Kagi Search API](https://www.anchorterminal.com/compare/fetch-reference-server-vs-kagi-search.md)\n- [Exa API + MCP vs Grep AI](https://www.anchorterminal.com/compare/exa-mcp-vs-grep-ai.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Exa API + MCP vs Kagi Search API",
        "url": ""
      }
    ],
    "description": "Exa scores 66 (B) to Kagi Search's 48.7 (D) for web search. Exa is cheaper for web search, $4 against $12 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Exa API + MCP B 66",
      "Kagi Search API D 48.7",
      "scores"
    ],
    "h1": "Exa API + MCP vs Kagi Search API",
    "image": "https://www.anchorterminal.com/assets/og/compare-exa-mcp-vs-kagi-search.png",
    "path": "/compare/exa-mcp-vs-kagi-search",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Exa vs Kagi Search for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-kagi-search"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 880
  },
  "version": 1
}
