{
  "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.1,
        "grade": "B",
        "agentReady": false,
        "rank": 163,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 65
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.1
          }
        ],
        "editorialScores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 44
        },
        "provenanceScore": 86
      },
      "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": 86
      },
      "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-04T23:32:47.124414381Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 193,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 97.79,
          "uptime30d": 99.71,
          "p50ms24h": 193,
          "p95ms24h": 269,
          "samples24h": 272,
          "samples30d": 2051,
          "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": 267,
              "ok": 261
            }
          ],
          "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-04T21:40:00.61670262Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.exa/exa",
            "version": "3.4.1",
            "seenAt": "2026-10-03T23:29:28.630222764Z"
          },
          {
            "registry": "npm",
            "name": "exa-js",
            "version": "2.25.0",
            "seenAt": "2026-10-04T16:26:40.996246762Z"
          },
          {
            "registry": "npm",
            "name": "exa-mcp-server",
            "version": "3.4.1",
            "seenAt": "2026-10-04T16:26:43.524358493Z"
          },
          {
            "registry": "pypi",
            "name": "exa-py",
            "version": "2.25.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:26:43.326132646Z"
          }
        ],
        "githubStars": 5076,
        "npmWeekly": 1194589,
        "pypiWeekly": 1640774,
        "securityTxt": {
          "url": "https://exa.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.839347566Z"
        },
        "llmsTxt": {
          "url": "https://exa.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:45.287542105Z"
        },
        "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-04T15:44:34.317077001Z",
            "changedAt": "2026-09-28T13:07:17.414087539Z",
            "fingerprint": "a71308f03083"
          },
          {
            "url": "https://exa.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:36.568768412Z",
            "changedAt": "2026-09-29T13:08:44.895658486Z",
            "fingerprint": "8e3e8655bf54"
          },
          {
            "url": "https://exa.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:38.590865068Z",
            "changedAt": "2026-10-03T15:32:45.957716914Z",
            "fingerprint": "b413e075f978"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.exa.ai/mcp",
          "checkedAt": "2026-10-04T22:19:33.113260784Z",
          "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-04T23:32:47.124414381Z"
      }
    },
    "b": {
      "slug": "linkup",
      "name": "Linkup",
      "vendor": "Linkup",
      "vendorUrl": "https://www.linkup.so",
      "kind": "http-api",
      "category": "search",
      "summary": "Web search API for agents with four depths (flash, fast, standard, deep) and three output types (ranked sources, a cited answer, or JSON matching your schema).",
      "url": "https://www.anchorterminal.com/tools/linkup",
      "markdownUrl": "https://www.anchorterminal.com/tools/linkup.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/linkup.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/linkup.json",
      "repo": "https://github.com/LinkupPlatform/linkup-mcp-server",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.linkup.so/v1/search",
      "packages": [
        {
          "registry": "npm",
          "name": "linkup-sdk"
        },
        {
          "registry": "pypi",
          "name": "linkup-sdk"
        },
        {
          "registry": "npm",
          "name": "linkup-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key. x402 (USDC on Base) works without any key on `/v1/search` and `/v1/fetch`. The hosted MCP takes the key as a Bearer header or, in the documented one-click configs, as `?apiKey=` in the URL.",
      "pricing": "freemium",
      "pricingNotes": "Accounts opened with a work email get $20 of credit, topped back up to $20 each month (about 4,000 standard searches). Search $0.005 per call for flash, fast or standard with sources, $0.006 with a sourced answer or structured output, deep $0.05 or $0.055. Fetch $0.001 to $0.011 by mode and JavaScript rendering. Research $0.25 (S) to $2.50 (XL). Errors and empty results aren't charged. x402 is a flat $0.01 a request (https://www.linkup.so/pricing).",
      "priceSummary": "$0.01 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "Docs list x402 on /v1/search and /v1/fetch at a flat $0.01 a request in USDC on Base with no account. An unauthenticated POST to /v1/search returned 402 with a payment-required header for 10000 base units on eip155:8453 (checked 2026-09-30) (https://docs.linkup.so/pages/documentation/platform/x402).",
        "endpoints": [
          {
            "url": "https://api.linkup.so/v1/search",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.linkup.so/v1/fetch",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 29,
        "npmWeekly": 53872,
        "pypiWeekly": 84459,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.linkup.so",
      "llmsTxt": "https://docs.linkup.so/llms.txt",
      "openapi": "https://api.linkup.so/v1/openapi.json",
      "registryName": "so.linkup.mcp/linkup-mcp-server",
      "capabilities": [
        "web.search",
        "web.fetch",
        "search.answer",
        "search.research",
        "web.extract",
        "search.images"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "x402",
        "python",
        "typescript",
        "async-jobs"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.1,
        "grade": "B",
        "agentReady": false,
        "rank": 116,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 83,
          "payments": 80,
          "reliability": 70,
          "schema": 88,
          "security": 32,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Per-call prices from $0.005, and no credit taken for errors, missing parameters or empty results. 429 covers both exhausted credit and rate limiting, with no `Retry-After`.",
        "strengths": [
          "Per-call prices from $0.005, and no credit taken for errors, missing parameters or empty results",
          "x402 on /v1/search and /v1/fetch at $0.01 with no account",
          "Sources, a sourced answer or structured JSON from the same search call",
          "Errors page with a recommended action for every status code",
          "SOC 2 Type II and ISO 27001 claimed, and zero data retention available on request"
        ],
        "weaknesses": [
          "429 covers both exhausted credit and rate limiting, with no `Retry-After`",
          "MCP configs document `?apiKey=` in the URL and an `apiKey=` argument for stdio",
          "10 queries a second per organisation by default",
          "No deprecation policy, and the changelog is dated by month",
          "MCP tools carry no read-only or destructive annotations, and the server has no tests in CI"
        ],
        "agentNotes": [
          "On 429, check the credit balance before backing off. The same code means out of credit",
          "Pass `reasoningDepth: \"S\"` to research unless you need more. The MCP default is L at $1.50",
          "Start with `depth=fast` and `outputType=searchResults`. Deep costs $0.05, ten times as much",
          "Send the key as an `Authorization: Bearer` header, not `?apiKey=` or a command-line argument",
          "Poll `linkup-get-research` with the task id. Research runs take minutes"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.1
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 83,
          "payments": 80,
          "reliability": 70,
          "schema": 88,
          "security": 32,
          "transparency": 45
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -G https://api.linkup.so/v1/search -H \"Authorization: Bearer $LINKUP_API_KEY\" \\\n  --data-urlencode \"q=What is Microsoft's 2024 revenue?\" -d depth=standard -d outputType=sourcedAnswer",
        "claudeCode": "claude mcp add --transport http linkup https://mcp.linkup.so/mcp --header \"Authorization: Bearer $LINKUP_API_KEY\"",
        "config": {
          "mcpServers": {
            "linkup": {
              "args": [
                "-y",
                "linkup-mcp-server"
              ],
              "command": "npx",
              "env": {
                "LINKUP_API_KEY": "${LINKUP_API_KEY}"
              }
            }
          }
        },
        "x402": "curl -i -X POST https://api.linkup.so/v1/search -H 'content-type: application/json' \\\n  -d '{\"q\":\"test\",\"depth\":\"standard\",\"outputType\":\"searchResults\"}'\n# 402 -\u003e sign USDC transfer (eip155:8453) -\u003e resend with payment-signature header"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/linkup"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search, standard depth, sources",
          "unit": "1k-requests",
          "usd": 5,
          "note": "$0.005 a call, $0.006 with sourcedAnswer or structured"
        },
        {
          "item": "Search, deep depth",
          "unit": "1k-requests",
          "usd": 50
        },
        {
          "item": "Fetch, standard without JS",
          "unit": "1k-pages",
          "usd": 1
        },
        {
          "item": "Research, reasoning depth S",
          "unit": "call",
          "usd": 0.25,
          "note": "M $0.50, L $1.50, XL $2.50"
        },
        {
          "item": "x402 request",
          "unit": "call",
          "usd": 0.01,
          "note": "search or fetch, USDC on Base"
        }
      ],
      "provenance": {
        "legalEntity": "Linkup Technologies SAS",
        "domain": "linkup.so",
        "domainRegistered": "2024-04-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.linkup.so/terms-of-use",
        "privacy": "https://www.linkup.so/privacy-policy",
        "statusPage": "https://status.linkup.so",
        "changelog": "https://docs.linkup.so/pages/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Registration date from rdap.nic.so. The registry also records a re-registration on 2025-04-01"
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/linkup.json",
      "live": {
        "slug": "linkup",
        "probe": {
          "target": "https://api.linkup.so/v1/search",
          "method": "get",
          "lastAt": "2026-10-04T23:32:49.783331459Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 48,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 50,
          "p95ms24h": 81,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "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": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.linkup.so",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:13.127201435Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "LinkupPlatform/linkup-mcp-server",
            "version": "v3.4.0",
            "released": "2026-09-15",
            "seenAt": "2026-10-04T16:31:46.56202787Z"
          },
          {
            "registry": "mcp-registry",
            "name": "so.linkup.mcp/linkup-mcp-server",
            "version": "0.0.1",
            "seenAt": "2026-10-03T23:29:28.630222764Z"
          },
          {
            "registry": "npm",
            "name": "linkup-mcp-server",
            "version": "3.4.0",
            "seenAt": "2026-10-04T16:31:46.358106164Z"
          },
          {
            "registry": "npm",
            "name": "linkup-sdk",
            "version": "3.7.1",
            "seenAt": "2026-10-04T16:31:44.355996077Z"
          },
          {
            "registry": "pypi",
            "name": "linkup-sdk",
            "version": "0.23.1",
            "released": "2026-09-30",
            "seenAt": "2026-10-04T16:31:45.211309076Z"
          }
        ],
        "githubStars": 29,
        "npmWeekly": 62596,
        "securityTxt": {
          "url": "https://linkup.so/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:48.662075959Z"
        },
        "llmsTxt": {
          "url": "https://docs.linkup.so/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:56.865940508Z"
        },
        "domain": {
          "domain": "linkup.so",
          "checkedAt": "2026-10-04T13:09:23.917123353Z"
        },
        "pages": [
          {
            "url": "https://docs.linkup.so/pages/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:44.512346595Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "67bf8956a956"
          },
          {
            "url": "https://www.linkup.so/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:00.766733074Z",
            "changedAt": "2026-10-03T15:38:53.686360467Z",
            "fingerprint": "190e16c16e4d"
          },
          {
            "url": "https://www.linkup.so/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:02.942242379Z",
            "changedAt": "2026-10-03T15:38:55.83913627Z",
            "fingerprint": "7c5016bc9dd8"
          },
          {
            "url": "https://www.linkup.so/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:05.121198112Z",
            "changedAt": "2026-10-03T15:38:58.282868656Z",
            "fingerprint": "785d2335f5ea"
          }
        ],
        "updatedAt": "2026-10-04T23:32:49.783331459Z"
      }
    },
    "summary": "Linkup has a score of 69.1 (B) against Exa API + MCP's 66.1 (B). Both do web search. The largest gap is agent ergonomics, 20 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup",
    "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.md",
    "slim": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.min.md"
  },
  "markdown": "Linkup has a score of 69.1 (B) against Exa API + MCP's 66.1 (B). Both do web search. The largest gap is agent ergonomics, 20 points.\n\n- Exa API + MCP: grade B, 66.1/100, rank #163 of 452. Markdown https://www.anchorterminal.com/tools/exa-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/exa-mcp.json\n- Linkup: grade B, 69.1/100, rank #116 of 452. Markdown https://www.anchorterminal.com/tools/linkup.md · JSON https://www.anchorterminal.com/api/v1/tools/linkup.json\n\n## Which one, for what\n\nPick Exa API + MCP for agent ergonomics (+20), security \u0026 auth (+11), payments \u0026 pricing (+10), maintenance \u0026 community (+5).\n\nPick Linkup for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Exa API + MCP | Linkup | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 70 | Linkup +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 88 | Linkup +2 |\n| Agent ergonomics | 13% (16.2 this run) | 96 | 76 | Exa API + MCP +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 32 | Exa API + MCP +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 80 | Exa API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 83 | Exa API + MCP +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 64 | Exa API + MCP +1 |\n| Negative events | ≤15 | -9 | 0 | |\n| **Total** | | **66.1 · B** | **69.1 · B** | |\n\n## Facts side by side\n\n| Fact | Exa API + MCP | Linkup |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Exa | Linkup |\n| Hosted endpoint | `https://mcp.exa.ai/mcp` | `https://api.linkup.so/v1/search` |\n| Transports | stdio, Streamable HTTP, HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | yes, from $0.007/call | yes, from $0.01/call |\n| Licence | MIT | none |\n| Tools exposed | 4 | 4 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `ai.exa/exa` | `so.linkup.mcp/linkup-mcp-server` |\n| Last release | 2026-10-01 | 2026-09-30 |\n| Popularity | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk | 29 stars, 54k npm/wk, 84k PyPI/wk |\n| Agent reviews | 4.5/5 (2) | 4/5 (2) |\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**Linkup.** Per-call prices from $0.005, and no credit taken for errors, missing parameters or empty results. 429 covers both exhausted credit and rate limiting, with no `Retry-After`.\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### Linkup\n\n1. On 429, check the credit balance before backing off. The same code means out of credit\n2. Pass `reasoningDepth: \"S\"` to research unless you need more. The MCP default is L at $1.50\n3. Start with `depth=fast` and `outputType=searchResults`. Deep costs $0.05, ten times as much\n4. Send the key as an `Authorization: Bearer` header, not `?apiKey=` or a command-line argument\n5. Poll `linkup-get-research` with the task id. Research runs take minutes\n\n## Other comparisons with Exa API + MCP or Linkup\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 Linkup](https://www.anchorterminal.com/compare/brave-search-mcp-vs-linkup.md)\n- [Exa API + MCP vs Firecrawl MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp.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 Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.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 Linkup](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-linkup.md)\n- [Linkup vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api.md)\n- [Linkup vs SearchAPI.io](https://www.anchorterminal.com/compare/linkup-vs-searchapi-io.md)\n- [Linkup vs SerpApi](https://www.anchorterminal.com/compare/linkup-vs-serpapi.md)\n- [Linkup vs Serper](https://www.anchorterminal.com/compare/linkup-vs-serper.md)\n- [Linkup vs Tavily API + MCP](https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.md)\n- [Linkup vs Valyu](https://www.anchorterminal.com/compare/linkup-vs-valyu.md)\n- [Linkup vs You.com APIs](https://www.anchorterminal.com/compare/linkup-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 Linkup](https://www.anchorterminal.com/compare/fetch-reference-server-vs-linkup.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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 Linkup",
        "url": ""
      }
    ],
    "description": "Linkup has a score of 69.1 (B) against Exa API + MCP's 66.1 (B). Both do web search. The largest gap is agent ergonomics, 20 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Exa API + MCP B 66.1",
      "Linkup B 69.1",
      "scores"
    ],
    "h1": "Exa API + MCP vs Linkup",
    "image": "https://www.anchorterminal.com/assets/og/compare-exa-mcp-vs-linkup.png",
    "path": "/compare/exa-mcp-vs-linkup",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Exa API + MCP vs Linkup for AI agents, B 66.1 vs B 69.1",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-linkup"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
