{
  "data": {
    "a": {
      "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",
      "dns": "linkup.grade.anchorterminal.com",
      "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": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 297,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 73,
          "payments": 80,
          "reliability": 70,
          "schema": 88,
          "security": 32,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-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`.",
        "bestFor": "Agents that want a cited answer or schema-shaped output from one search call at a fixed price, and for European buyers who want a French vendor with zero retention on request.",
        "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 with no entry since September 2026",
          "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.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 73,
          "payments": 80,
          "reliability": 70,
          "schema": 88,
          "security": 32,
          "transparency": 45
        },
        "provenanceScore": 77,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -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": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/linkup.json",
      "live": {
        "slug": "linkup",
        "probe": {
          "target": "https://api.linkup.so/v1/search",
          "method": "get",
          "lastAt": "2026-11-07T18:20:35.469228496Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 136,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 54,
          "p95ms24h": 135,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.linkup.so",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:00.068218251Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "LinkupPlatform/linkup-mcp-server",
            "version": "v3.4.0",
            "released": "2026-09-15",
            "seenAt": "2026-11-06T23:40:11.150279233Z"
          },
          {
            "registry": "mcp-registry",
            "name": "so.linkup.mcp/linkup-mcp-server",
            "version": "0.0.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "linkup-mcp-server",
            "version": "3.4.0",
            "seenAt": "2026-11-06T23:40:09.383071473Z"
          },
          {
            "registry": "npm",
            "name": "linkup-sdk",
            "version": "3.7.2",
            "seenAt": "2026-11-06T23:40:07.179433289Z"
          },
          {
            "registry": "pypi",
            "name": "linkup-sdk",
            "version": "0.24.0",
            "released": "2026-10-22",
            "seenAt": "2026-11-06T23:40:09.181096963Z"
          }
        ],
        "githubStars": 29,
        "npmWeekly": 71303,
        "pypiWeekly": 131839,
        "securityTxt": {
          "url": "https://linkup.so/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:38.439698642Z"
        },
        "llmsTxt": {
          "url": "https://docs.linkup.so/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.745699763Z"
        },
        "domain": {
          "domain": "linkup.so",
          "checkedAt": "2026-11-01T14:16:42.858704018Z"
        },
        "pages": [
          {
            "url": "https://docs.linkup.so/pages/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:48.740505524Z",
            "changedAt": "2026-11-07T14:06:48.740505524Z",
            "fingerprint": "aabfbafe49bb"
          },
          {
            "url": "https://www.linkup.so/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:50.981340041Z",
            "changedAt": "2026-10-03T15:38:53.686360467Z",
            "fingerprint": "190e16c16e4d"
          },
          {
            "url": "https://www.linkup.so/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:53.184401232Z",
            "changedAt": "2026-10-03T15:38:55.83913627Z",
            "fingerprint": "7c5016bc9dd8"
          },
          {
            "url": "https://www.linkup.so/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:55.393208003Z",
            "changedAt": "2026-10-03T15:38:58.282868656Z",
            "fingerprint": "785d2335f5ea"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.linkup.so/mcp",
          "checkedAt": "2026-11-07T01:45:44.972726897Z",
          "status": "error",
          "note": "initialize: MCP error -32603: Version negotiation failed: the server requires authorization (HTTP 401)",
          "changedAt": "2026-11-07T01:45:44.972726897Z"
        },
        "github": {
          "repo": "linkupplatform/linkup-mcp-server",
          "checkedAt": "2026-11-02T09:00:56.9114257Z",
          "stars": 29,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T16:33:53Z",
          "openIssues": 4,
          "openPRs": 17,
          "issuesOpened90d": 3,
          "issuesClosed90d": 0,
          "prsMerged90d": 3,
          "ci": {
            "branch": "main",
            "runs": 22,
            "success": 16,
            "failure": 6,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-01T14:18:18Z"
          },
          "replies": {
            "sampled": 4,
            "unanswered": 4
          }
        },
        "updatedAt": "2026-11-07T18:20:35.469228496Z"
      }
    },
    "answer": "Perplexity Search API scores 70.2 (BB) on agent readiness against Linkup's 68 (B), and leads in 6 of 7 scored categories. Linkup leads on payments \u0026 pricing.",
    "b": {
      "slug": "perplexity-search-api",
      "name": "Perplexity Search API",
      "vendor": "Perplexity",
      "vendorUrl": "https://www.perplexity.ai/",
      "kind": "http-api",
      "category": "search",
      "summary": "Perplexity's Search API returns ranked web results with extracted page text as JSON from Perplexity's own index, through `POST /search`. The same key reaches the Agent API's web_search tool for cited answers, and a hosted MCP server wraps both.",
      "url": "https://www.anchorterminal.com/tools/perplexity-search-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/perplexity-search-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/perplexity-search-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json",
      "dns": "perplexity-search-api.grade.anchorterminal.com",
      "repo": "https://github.com/perplexityai/modelcontextprotocol",
      "license": "Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.perplexity.ai/mcp",
      "packages": [
        {
          "registry": "pypi",
          "name": "perplexityai"
        },
        {
          "registry": "npm",
          "name": "@perplexity-ai/perplexity_ai"
        },
        {
          "registry": "npm",
          "name": "@perplexity-ai/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer Perplexity API key in the `Authorization` header. Keys belong to a project in the API console, are shown once, and can be generated and revoked through `/generate_auth_token` and `/revoke_auth_token`, with a rotation guide. No per-key scopes found. The hosted MCP server also accepts Sign in with Perplexity (OAuth), where the user picks the organisation to bill.",
      "pricing": "usage",
      "pricingNotes": "$5 per 1,000 successful Search API requests, or $1 with Fast Search, with up to five queries per request billed once. Invalid, rate-limited and failed requests are not billed. Agent API web_search is $2.50 per 1,000 calls plus model tokens. Prepaid credits with a card. No free allowance found.",
      "priceSummary": "$5 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Search API docs, the pricing page, the OpenAPI description or llms.txt (checked 2026-11-06). An empty balance returns 402 Payment Required with no payment requirements, per the FAQ.",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.perplexity.ai/docs/search/overview",
      "llmsTxt": "https://docs.perplexity.ai/llms.txt",
      "openapi": "https://docs.perplexity.ai/openapi.json",
      "registryName": "ai.perplexity/mcp-server",
      "capabilities": [
        "web.search",
        "search.answer",
        "search.research"
      ],
      "tags": [
        "hosted",
        "usage-priced",
        "prepaid",
        "card-required",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "python",
        "typescript",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 210,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 82,
          "payments": 25,
          "reliability": 80,
          "schema": 89,
          "security": 56,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Raw ranked results with token-capped page text from Perplexity's own index, $5 per 1,000 requests or $1 with Fast Search, an OpenAPI description and a hosted MCP server with read-only annotations. Uptime is not guaranteed, there is no free allowance, keys carry no scopes, and no guidance on untrusted page text was found.",
        "bestFor": "Agents on any model that need raw ranked sources with extracted text at a low per-request price, and teams that want cited answers from the same key through the Agent API.",
        "strengths": [
          "OpenAPI 3.1 description of `POST /search` with enums and limits, llms.txt and a Markdown twin of every docs page",
          "`max_tokens`, `max_tokens_per_page` and `max_results` cap what reaches the model, and up to five queries share one billed request",
          "Per-request prices published without login, and invalid, rate-limited and failed requests are not billed",
          "Hosted MCP server with OAuth or a key; the local server is in the official registry under the verified ai.perplexity namespace",
          "security.txt valid to 31 December 2027, a SOC 2 Type II report and a SECURITY.md that takes private reports"
        ],
        "weaknesses": [
          "The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA",
          "No free allowance and prepaid credits with a card; Stripe Projects still needs a $10 purchase",
          "Project keys have no scopes or spending limits, so any key can run every API on the account",
          "No guidance on treating returned snippets as untrusted text was found in the docs or the MCP server",
          "The DPA says Perplexity Search may follow different data terms, and no retention period for search queries is stated"
        ],
        "agentNotes": [
          "Set `max_tokens_per_page` and `max_tokens` before calling; extracted text otherwise fills the context, and the price does not change with size",
          "Skip results with an empty `snippet` and dedupe by `url` when sending a `query` array; each query costs one rate-limit unit",
          "Use `search_type: \"fast\"` for $1 per 1,000 when latency and cost matter more than depth",
          "On 429 wait for Retry-After, then back off; on 402 stop and ask the user to add credits",
          "Use the Search API for sources and the Agent API's web_search tool for a written answer with citations"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.2
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 82,
          "payments": 25,
          "reliability": 80,
          "schema": 89,
          "security": 56,
          "transparency": 51
        },
        "provenanceScore": 80,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install perplexityai",
        "http": "curl -X POST https://api.perplexity.ai/search \\\n  -H \"Authorization: Bearer $PERPLEXITY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"renewable energy technologies\", \"max_results\": 10, \"max_tokens\": 50000, \"max_tokens_per_page\": 4096}'",
        "claudeCode": "claude mcp add --transport http perplexity https://api.perplexity.ai/mcp",
        "config": {
          "mcpServers": {
            "perplexity": {
              "url": "https://api.perplexity.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/perplexity-search-api"
      },
      "sameCompany": [
        "perplexity-space",
        "pplx-decider",
        "pplx-decider-flash"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search API request",
          "unit": "1k-requests",
          "usd": 5,
          "note": "Up to five queries in one request billed once; failed and rate-limited requests not billed"
        },
        {
          "item": "Search API request with Fast Search",
          "unit": "1k-requests",
          "usd": 1,
          "note": "`search_type: \"fast\"`"
        },
        {
          "item": "Agent API web_search call",
          "unit": "1k-calls",
          "usd": 2.5,
          "note": "Plus model tokens; $1.00 with Fast Search"
        },
        {
          "item": "Agent API fetch_url call",
          "unit": "1k-calls",
          "usd": 0.5,
          "note": "Plus model tokens"
        }
      ],
      "provenance": {
        "legalEntity": "Perplexity AI, Inc.",
        "domain": "perplexity.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.perplexity.ai/hub/legal/perplexity-api-terms-of-service",
        "privacy": "https://www.perplexity.ai/hub/legal/privacy-notice",
        "statusPage": "https://status.perplexity.com/",
        "changelog": "https://docs.perplexity.ai/docs/resources/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The API Terms of Service (last updated 23 January 2026) name Perplexity AI, Inc. and California law. The Data Processing Addendum (last updated 13 August 2026) deletes personal data within 30 days of the service ending and notes that Perplexity Search may follow different data terms.",
          "www.perplexity.ai/.well-known/security.txt is valid until 31 December 2027 and links www.perplexity.ai/security.",
          "The status page moved to incident.io on 10 September 2026 and has Website, App, Computer and API components, with no separate Search component.",
          "docs.perplexity.ai/robots.txt allows the docs and carries Content-Signal ai-train=yes, search=yes, ai-input=yes. The terms have no clause on automated access to the website.",
          "The changelog dates entries by month only. Domain registration was not checked."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/perplexity-search-api.json",
      "live": {
        "slug": "perplexity-search-api",
        "probe": {
          "target": "https://api.perplexity.ai/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:46.568623937Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 254,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 164,
          "p95ms24h": 262,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.perplexity.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:53.516499278Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.perplexity/mcp-server",
            "version": "1.2.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@perplexity-ai/mcp-server",
            "version": "1.3.0",
            "seenAt": "2026-11-06T23:55:31.394431614Z"
          },
          {
            "registry": "npm",
            "name": "@perplexity-ai/perplexity_ai",
            "version": "0.41.0",
            "seenAt": "2026-11-06T23:55:30.575713692Z"
          },
          {
            "registry": "pypi",
            "name": "perplexityai",
            "version": "0.46.1",
            "released": "2026-10-23",
            "seenAt": "2026-11-06T23:55:30.34668899Z"
          }
        ],
        "githubStars": 2612,
        "npmWeekly": 97298,
        "pypiWeekly": 401537,
        "securityTxt": {
          "url": "https://perplexity.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-12-31T00:00:00Z",
          "checkedAt": "2026-11-07T16:01:03.917430365Z"
        },
        "llmsTxt": {
          "url": "https://docs.perplexity.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:36.681222085Z"
        },
        "pages": [
          {
            "url": "https://docs.perplexity.ai/docs/resources/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:07:27.675707255Z",
            "changedAt": "2026-11-06T13:29:48.535494355Z",
            "fingerprint": "a52a171e1f1f"
          },
          {
            "url": "https://www.perplexity.ai/hub/legal/privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:54.875760985Z",
            "changedAt": "2026-11-06T13:53:25.792168971Z",
            "fingerprint": "29c9dd01613d"
          },
          {
            "url": "https://www.perplexity.ai/hub/legal/perplexity-api-terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:50.897959644Z",
            "changedAt": "2026-11-06T13:53:22.592031411Z",
            "fingerprint": "6a7e4a95f45b"
          }
        ],
        "mcpTools": {
          "url": "https://api.perplexity.ai/mcp",
          "checkedAt": "2026-11-07T01:46:49.011542458Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:49.011542458Z"
        },
        "updatedAt": "2026-11-07T18:21:53.516499278Z"
      }
    },
    "edges": [
      {
        "by": 55,
        "category": "payments",
        "leads": "linkup",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "x402 on Linkup's own /v1/search and /v1/fetch at a flat $0.01 in USDC on Base, not on research or extract, so partial (30). Per-call prices published without login (20). $20 of credit topped up monthly for work-email signups. The docs don't say whether a card is needed, so half credit (10). An agent can pay by x402 with no account (20).",
          "b": "No x402, MPP or L402 in the docs, pricing page, OpenAPI or llms.txt (0). $5 per 1,000 successful requests, $1 with Fast Search, published without a login, with failed and rate-limited requests not billed (20). Usage is prepaid with a card on the billing page, and no free allowance was found. The console playground needs no key but is a page for a person, not an API allowance (0). A person signs up in the console. The Stripe Projects route provisions a project, key and credits from a terminal, but needs a person's Stripe account with a payment method and a $10 minimum purchase (5 of 20, as on the Decisions API listing). 0 + 20 + 0 + 5 = 25."
        },
        "scores": {
          "a": 80,
          "b": 25
        }
      },
      {
        "by": 24,
        "category": "security",
        "leads": "perplexity-search-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One Bearer key per organisation. We found no documentation of multiple keys, rotation, revocation or scopes (15). The MCP README documents `?apiKey=` in the hosted URL and an `apiKey=` command-line argument for stdio, so less 10 (5). Every action is a read, but the MCP server has no tool subsets (15). Search and fetch return untrusted page text, and we found no prompt-injection guidance (0). No per-call audit log found (0). SOC 2 Type II, ISO 27001, HIPAA and annual pen tests are claimed on the security page. No security.txt, no bug bounty, and contact@linkup.so is the only security contact (12).",
          "b": "Project API keys, shown once, revocable, and generated and revoked through two documented endpoints with a rotation guide. No per-key scopes or spending limits were found. The hosted MCP server also takes Sign in with Perplexity (OAuth). Keys go in the Authorization header only (22 of 30, as on the Decisions API listing). Search only reads, and MCP clients can disable tools, but any key reaches every API on the account, including the Agent API's sandbox and MCP tools (8 of 20). Snippets are third-party page text, and no guidance on treating them as untrusted was found in the docs, the MCP server or its SECURITY.md (0 of 15). Responses carry a request `id`, and the console shows usage by key. The Audit API covers enterprise organisations' web app events with its own keys, not API calls (8 of 15). security.txt valid until 31 December 2027 linking a security page, a SOC 2 Type II report, a 2025 HIPAA gap assessment and a CAIQlite listed on the trust centre, and a SECURITY.md on the MCP server that takes private reports through GitHub advisories or security@perplexity.ai. The trust centre is drawn by script and wasn't read (18 of 20). 22 + 8 + 0 + 8 + 18 = 56."
        },
        "scores": {
          "a": 32,
          "b": 56
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "perplexity-search-api",
        "name": "Reliability",
        "reasons": {
          "a": "openstatus page at status.linkup.so with Search API, Fetch API, MCP Server and Application components (20). Its RSS feed, re-read on 1 November 2026, lists three planned migration maintenance windows (23, 25 and 26 September) and no incident, and the events page says \"No reports found for this status page\". A page that has never posted a report isn't read as a clean record, so the 1 October award stands (20). 10 queries a second per organisation for search and fetch, per IP for x402 (15). 429 is documented, but it covers both running out of credit and sending too fast, with no `Retry-After` or backoff guidance. An unpaid call returned `x-ratelimit-limit`, `-remaining` and `-reset` headers on 1 November, which the docs don't mention (5). No SLA found (0). Search and fetch are GA. Extract is closed beta and isn't the core surface (10).",
          "b": "Graded on the hosted lines, for `POST /search` and the hosted MCP server. status.perplexity.com, on incident.io since 10 September 2026, has an API component with an RSS feed and a JSON summary. There is no separate Search component (20). In the 90 days from 8 August the feed lists 'Investigating API issue' on 13 August, resolved with no detail, a usage-based billing issue on 3 September, and on 9 October elevated errors on the website, app and Computer, where the API 'remained operational throughout'. Minor only, with the caveat that history before the migration may be incomplete (20). The Search API is limited to 50 query units a second with a burst of 50 on every tier, and the other APIs publish QPS and token limits per tier (15). 429 carries Retry-After and an `error.type`, the SDKs retry 429 and 5xx twice honouring Retry-After, the Search best-practices page shows backoff, and failed or rate-limited searches are not billed. Searches have no side effects (15). The FAQ says Perplexity does not guarantee uptime, failure frequency or recovery time, and the terms carry no SLA (0). No beta label on the Search API, launched on 25 September 2025 (10). 20 + 20 + 15 + 15 + 0 + 10 = 80."
        },
        "scores": {
          "a": 70,
          "b": 80
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "perplexity-search-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Four tools, search, fetch, research and research polling, compact. Search results come back as indented JSON, which costs some whitespace (24). `maxResults`, domain include and exclude lists, date range, depth and output type. No result pagination (18). Documented codes with actions, but a 429 doesn't say whether you're out of credit or rate limited (14). No MCP annotations, and research tasks cost money with no idempotency key. Searches are safe to repeat (5). Only `query` is required and `depth` defaults to fast. Python and JavaScript SDKs (15).",
          "b": "`max_results` 1 to 20, `max_tokens` and `max_tokens_per_page` cap the extracted text, and results are title, url, snippet and two dates. The MCP server has four tools (23 of 25). Domain, language, recency, publication and update date filters and `country`, with up to five queries in one request. No pagination or offset (16 of 20). 429 bodies name the limit hit, the SDKs map status codes to typed errors, and 402 marks an empty balance. Search-specific error bodies beyond 422 validation are not documented (13 of 20). Searches only read, failed and rate-limited requests are not billed, and the MCP server sets readOnlyHint true, destructiveHint false and idempotentHint false on every tool (18 of 20). Only `query` is required. Official Python and TypeScript SDKs, a CLI and a Python Search SDK (15). 23 + 16 + 13 + 18 + 15 = 85."
        },
        "scores": {
          "a": 76,
          "b": 85
        }
      },
      {
        "by": 9,
        "category": "maintenance",
        "leads": "perplexity-search-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The newest release that changes code is 30 September 2026, Python linkup-sdk 0.23.1 (request deadline errors) and JavaScript linkup-sdk 3.7.1, 32 days before this check (20). Python 0.24.0 of 22 October drops Python 3.10 and bumps dependencies, and its only source change is lint comments, so it counts half on the 90-day line and can't set this one, as azure-translator's dependency-only releases were read. Python 0.19.1 to 0.23.1, JavaScript 3.4.0 to 3.7.1 and MCP server 3.4.0 fall in the 90 days to 1 November (20). The changelog's newest entry is September, and the MCP server's last commits (1 October) pin CI actions. We didn't read the GitHub issues (10). Registered as so.linkup.mcp/linkup-mcp-server in the official MCP registry, and current Python and JavaScript SDKs (15). The MCP server's CI lints and builds but runs no tests. Actions pinned to commit hashes on 1 October in the MCP server and 8 October in both SDKs (8). 20+20+10+15+8 = 73.",
          "b": "Read as a closed service with official SDKs and an open-source MCP server. perplexityai 0.46.1 on PyPI on 23 October 2026 and the MCP server's last commit on 21 October, with changelog entries into November 2026 (30). In the 90 days from 8 August, perplexityai 0.43.7 to 0.46.1 (six releases from 2 October), MCP server 1.2.1 (27 August) and 1.3.0 (25 September, Fast Search on perplexity_search), and Fast Search itself in September (20). A changelog with several entries a month, a community forum with a bug-report category, a GitHub discussion repository and api@perplexity.ai. MCP issue reply times weren't read (10 of 15). The MCP server is in the official registry under the domain-verified ai.perplexity namespace, and the Python and TypeScript SDKs are current (15). The MCP repository runs tests in CI and validates its plugin manifests. Its 1.4.0, prepared on 16 October, is not on npm, which still serves 1.3.0, and the registry's latest entry is 1.2.1 of 27 August (7 of 10). 30 + 20 + 10 + 15 + 7 = 82."
        },
        "scores": {
          "a": 73,
          "b": 82
        }
      },
      {
        "by": 5,
        "category": "transparency",
        "leads": "perplexity-search-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The API is closed with published terms, and the MCP server is MIT (20). Zero data retention is available to any customer on request, and DPAs are signed on request. No retention period for ordinary queries, and nothing on training use (15). No deprecation policy or dated notices found (0). Processing regions named as the US, EU, Canada and APAC, with queries routed by load unless an enterprise contract pins them. No subprocessor list (10).",
          "b": "Closed service under terms naming Perplexity AI, Inc. and California law. The MCP server is MIT and the SDKs Apache-2.0 (18 of 30). The terms and DPA say Customer Content and personal data don't train Perplexity's models, the DPA deletes personal data within 30 days of the service ending, and the Privacy and Security page says retention varies by API and zero data retention is not the default. The DPA also says Perplexity Search may follow different data terms, which weren't found, and no retention period for search queries is stated (15 of 30). Sonar Chat Completions support ended on 27 September 2026 with a migration guide and requests reformulated rather than refused, and sonar-reasoning was removed on 15 December 2025 with a named replacement. Notices are dated by month and there is no standing notice period beyond the terms' 30 days for termination (10 of 20). A sub-processor list on the trust centre, which is drawn by script and wasn't read, ten business days' notice of new non-model subprocessors, and SCCs for EU and UK transfers. No data location is stated (8 of 20). 18 + 15 + 10 + 8 = 51."
        },
        "scores": {
          "a": 61,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Linkup",
        "b": "Perplexity",
        "name": "Vendor"
      },
      {
        "a": "https://api.linkup.so/v1/search",
        "b": "https://api.perplexity.ai/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$5 per 1,000 requests",
        "b": "$1 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "yes, from $0.01/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "4",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "so.linkup.mcp/linkup-mcp-server",
        "b": "ai.perplexity/mcp-server",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "2025-08-01",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-04-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "29 stars, 54k npm/wk, 84k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Perplexity Search API scores 70.2 (BB) on agent readiness against Linkup's 68 (B), and leads in 6 of 7 scored categories. Linkup leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Linkup or Perplexity Search API?"
      },
      {
        "answer": "Perplexity Search API, at $1 per 1,000 requests against $5 per 1,000 requests for Linkup. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Linkup or Perplexity Search API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in. An agent can also pay Linkup per call over x402, with no account.",
        "question": "Do Linkup and Perplexity Search API need an API key?"
      },
      {
        "answer": "Yes. Linkup has a hosted endpoint at https://api.linkup.so/v1/search and Perplexity Search API at https://api.perplexity.ai/mcp.",
        "question": "Can an agent call Linkup and Perplexity Search API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 80 against 25"
        ],
        "also": [
          "An agent can pay per call over x402, with no account"
        ],
        "goodFor": "Agents that want a cited answer or schema-shaped output from one search call at a fixed price, and for European buyers who want a French vendor with zero retention on request.",
        "slug": "linkup",
        "watchFor": "429 covers both exhausted credit and rate limiting, with no `Retry-After`"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 70",
          "Agent ergonomics, 85 against 76",
          "Security \u0026 auth, 56 against 32",
          "Maintenance \u0026 community, 82 against 73",
          "Transparency \u0026 trust, 66 against 61"
        ],
        "also": [
          "Cheaper for web search, $1 against $5 per 1,000 requests",
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents on any model that need raw ranked sources with extracted text at a low per-request price, and teams that want cited answers from the same key through the Agent API.",
        "slug": "perplexity-search-api",
        "watchFor": "The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA"
      }
    ],
    "history": {
      "linkup": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-01",
          "delta": -0.9,
          "from": 68.9,
          "fromGrade": "B",
          "to": 68,
          "toGrade": "B"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": 0,
          "from": 68.9,
          "fromGrade": "B",
          "to": 68.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0,
          "from": 68.9,
          "fromGrade": "B",
          "to": 68.9,
          "toGrade": "B"
        }
      ],
      "perplexity-search-api": null
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-linkup.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Linkup",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-perplexity-search-api.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-linkup.json",
        "title": "Grounding with Bing Search vs Linkup",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api.json",
        "title": "Grounding with Bing Search vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-linkup.json",
        "title": "Brave Search API + MCP vs Linkup",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-perplexity-search-api.json",
        "title": "Brave Search API + MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-linkup.json",
        "title": "Cloudflare Web Search API vs Linkup",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-perplexity-search-api.json",
        "title": "Cloudflare Web Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup.json",
        "title": "DeepSeek Search and Fetch API vs Linkup",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api.json",
        "title": "DeepSeek Search and Fetch API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api"
      },
      {
        "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-perplexity-search-api.json",
        "title": "Exa API + MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-linkup.json",
        "title": "Firecrawl MCP vs Linkup",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-perplexity-search-api.json",
        "title": "Firecrawl MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-perplexity-search-api"
      },
      {
        "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-perplexity-search-api.json",
        "title": "Kagi Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-mojeek.json",
        "title": "Linkup vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher.json",
        "title": "Linkup vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api.json",
        "title": "Linkup vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-searchapi-io.json",
        "title": "Linkup vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serpapi.json",
        "title": "Linkup vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serper.json",
        "title": "Linkup vs Serper",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serphouse.json",
        "title": "Linkup vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serpkite.json",
        "title": "Linkup vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-specstream.json",
        "title": "Linkup vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.json",
        "title": "Linkup vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search.json",
        "title": "Linkup vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-valyu.json",
        "title": "Linkup vs Valyu",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-you-com-api.json",
        "title": "Linkup vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.json",
        "title": "Mojeek Web Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api.json",
        "title": "NewsCatcher vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api.json",
        "title": "Parallel Search and Task APIs vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-searchapi-io.json",
        "title": "Perplexity Search API vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.json",
        "title": "Perplexity Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serper.json",
        "title": "Perplexity Search API vs Serper",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse.json",
        "title": "Perplexity Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.json",
        "title": "Perplexity Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-specstream.json",
        "title": "Perplexity Search API vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.json",
        "title": "Perplexity Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search.json",
        "title": "Perplexity Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu.json",
        "title": "Perplexity Search API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api.json",
        "title": "Perplexity Search API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-linkup.json",
        "title": "Arcmira vs Linkup",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-perplexity-search-api.json",
        "title": "Arcmira vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-linkup.json",
        "title": "Grep AI vs Linkup",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-perplexity-search-api.json",
        "title": "Grep AI vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-linkup.json",
        "title": "Fetch (MCP reference server) vs Linkup",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-linkup"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "perplexity-search-api",
        "key": "reliability",
        "linkup": 70,
        "name": "Reliability",
        "perplexity-search-api": 80,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "perplexity-search-api",
        "key": "schema",
        "linkup": 88,
        "name": "Schema \u0026 documentation",
        "perplexity-search-api": 89,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "perplexity-search-api",
        "key": "ergonomics",
        "linkup": 76,
        "name": "Agent ergonomics",
        "perplexity-search-api": 85,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "perplexity-search-api",
        "key": "security",
        "linkup": 32,
        "name": "Security \u0026 auth",
        "perplexity-search-api": 56,
        "weight": 14
      },
      {
        "by": 55,
        "edge": "linkup",
        "key": "payments",
        "linkup": 80,
        "name": "Payments \u0026 pricing",
        "perplexity-search-api": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "perplexity-search-api",
        "key": "maintenance",
        "linkup": 73,
        "name": "Maintenance \u0026 community",
        "perplexity-search-api": 82,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "perplexity-search-api",
        "key": "transparency",
        "linkup": 61,
        "name": "Transparency \u0026 trust",
        "perplexity-search-api": 66,
        "weight": 7
      }
    ],
    "summary": "Perplexity Search API scores 70.2 (BB) on agent readiness against Linkup's 68 (B), and leads in 6 of 7 scored categories. Linkup leads on payments \u0026 pricing. Both do web search. Perplexity Search API is cheaper for web search, $1 against $5 per 1,000 requests. Linkup accepts x402. Perplexity Search API doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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`.",
      "perplexity-search-api": "Raw ranked results with token-capped page text from Perplexity's own index, $5 per 1,000 requests or $1 with Fast Search, an OpenAPI description and a hosted MCP server with read-only annotations. Uptime is not guaranteed, there is no free allowance, keys carry no scopes, and no guidance on untrusted page text was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api",
    "json": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.min.md"
  },
  "markdown": "Perplexity Search API scores 70.2 (BB) on agent readiness against Linkup's 68 (B), and leads in 6 of 7 scored categories. Linkup leads on payments \u0026 pricing. Both do web search. Perplexity Search API is cheaper for web search, $1 against $5 per 1,000 requests. Linkup accepts x402. Perplexity Search API doesn't.\n\n- Linkup: grade B, 68/100, rank #297 of 1486. Markdown https://www.anchorterminal.com/tools/linkup.md · JSON https://www.anchorterminal.com/api/v1/tools/linkup.json\n- Perplexity Search API: grade BB, 70.2/100, rank #210 of 1486. Markdown https://www.anchorterminal.com/tools/perplexity-search-api.md · JSON https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 308 search comparisons: https://www.anchorterminal.com/compare/search/index.md\n\n## Which one, for what\n\n### Linkup (B)\n\nGood for: Agents that want a cited answer or schema-shaped output from one search call at a fixed price, and for European buyers who want a French vendor with zero retention on request.\n\nAhead on:\n- Payments \u0026 pricing, 80 against 25\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n\nWatch for: 429 covers both exhausted credit and rate limiting, with no `Retry-After`\n\n### Perplexity Search API (BB)\n\nGood for: Agents on any model that need raw ranked sources with extracted text at a low per-request price, and teams that want cited answers from the same key through the Agent API.\n\nAhead on:\n- Reliability, 80 against 70\n- Agent ergonomics, 85 against 76\n- Security \u0026 auth, 56 against 32\n- Maintenance \u0026 community, 82 against 73\n- Transparency \u0026 trust, 66 against 61\n\nAlso in its favour:\n- Cheaper for web search, $1 against $5 per 1,000 requests\n- Agent-ready, a grade of BB or better\n\nWatch for: The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Linkup +55\n\n- Linkup (80): x402 on Linkup's own /v1/search and /v1/fetch at a flat $0.01 in USDC on Base, not on research or extract, so partial (30). Per-call prices published without login (20). $20 of credit topped up monthly for work-email signups. The docs don't say whether a card is needed, so half credit (10). An agent can pay by x402 with no account (20).\n- Perplexity Search API (25): No x402, MPP or L402 in the docs, pricing page, OpenAPI or llms.txt (0). $5 per 1,000 successful requests, $1 with Fast Search, published without a login, with failed and rate-limited requests not billed (20). Usage is prepaid with a card on the billing page, and no free allowance was found. The console playground needs no key but is a page for a person, not an API allowance (0). A person signs up in the console. The Stripe Projects route provisions a project, key and credits from a terminal, but needs a person's Stripe account with a payment method and a $10 minimum purchase (5 of 20, as on the Decisions API listing). 0 + 20 + 0 + 5 = 25.\n\n### Security \u0026 auth: Perplexity Search API +24\n\n- Linkup (32): One Bearer key per organisation. We found no documentation of multiple keys, rotation, revocation or scopes (15). The MCP README documents `?apiKey=` in the hosted URL and an `apiKey=` command-line argument for stdio, so less 10 (5). Every action is a read, but the MCP server has no tool subsets (15). Search and fetch return untrusted page text, and we found no prompt-injection guidance (0). No per-call audit log found (0). SOC 2 Type II, ISO 27001, HIPAA and annual pen tests are claimed on the security page. No security.txt, no bug bounty, and contact@linkup.so is the only security contact (12).\n- Perplexity Search API (56): Project API keys, shown once, revocable, and generated and revoked through two documented endpoints with a rotation guide. No per-key scopes or spending limits were found. The hosted MCP server also takes Sign in with Perplexity (OAuth). Keys go in the Authorization header only (22 of 30, as on the Decisions API listing). Search only reads, and MCP clients can disable tools, but any key reaches every API on the account, including the Agent API's sandbox and MCP tools (8 of 20). Snippets are third-party page text, and no guidance on treating them as untrusted was found in the docs, the MCP server or its SECURITY.md (0 of 15). Responses carry a request `id`, and the console shows usage by key. The Audit API covers enterprise organisations' web app events with its own keys, not API calls (8 of 15). security.txt valid until 31 December 2027 linking a security page, a SOC 2 Type II report, a 2025 HIPAA gap assessment and a CAIQlite listed on the trust centre, and a SECURITY.md on the MCP server that takes private reports through GitHub advisories or security@perplexity.ai. The trust centre is drawn by script and wasn't read (18 of 20). 22 + 8 + 0 + 8 + 18 = 56.\n\n### Reliability: Perplexity Search API +10\n\n- Linkup (70): openstatus page at status.linkup.so with Search API, Fetch API, MCP Server and Application components (20). Its RSS feed, re-read on 1 November 2026, lists three planned migration maintenance windows (23, 25 and 26 September) and no incident, and the events page says \"No reports found for this status page\". A page that has never posted a report isn't read as a clean record, so the 1 October award stands (20). 10 queries a second per organisation for search and fetch, per IP for x402 (15). 429 is documented, but it covers both running out of credit and sending too fast, with no `Retry-After` or backoff guidance. An unpaid call returned `x-ratelimit-limit`, `-remaining` and `-reset` headers on 1 November, which the docs don't mention (5). No SLA found (0). Search and fetch are GA. Extract is closed beta and isn't the core surface (10).\n- Perplexity Search API (80): Graded on the hosted lines, for `POST /search` and the hosted MCP server. status.perplexity.com, on incident.io since 10 September 2026, has an API component with an RSS feed and a JSON summary. There is no separate Search component (20). In the 90 days from 8 August the feed lists 'Investigating API issue' on 13 August, resolved with no detail, a usage-based billing issue on 3 September, and on 9 October elevated errors on the website, app and Computer, where the API 'remained operational throughout'. Minor only, with the caveat that history before the migration may be incomplete (20). The Search API is limited to 50 query units a second with a burst of 50 on every tier, and the other APIs publish QPS and token limits per tier (15). 429 carries Retry-After and an `error.type`, the SDKs retry 429 and 5xx twice honouring Retry-After, the Search best-practices page shows backoff, and failed or rate-limited searches are not billed. Searches have no side effects (15). The FAQ says Perplexity does not guarantee uptime, failure frequency or recovery time, and the terms carry no SLA (0). No beta label on the Search API, launched on 25 September 2025 (10). 20 + 20 + 15 + 15 + 0 + 10 = 80.\n\n### Agent ergonomics: Perplexity Search API +9\n\n- Linkup (76): Four tools, search, fetch, research and research polling, compact. Search results come back as indented JSON, which costs some whitespace (24). `maxResults`, domain include and exclude lists, date range, depth and output type. No result pagination (18). Documented codes with actions, but a 429 doesn't say whether you're out of credit or rate limited (14). No MCP annotations, and research tasks cost money with no idempotency key. Searches are safe to repeat (5). Only `query` is required and `depth` defaults to fast. Python and JavaScript SDKs (15).\n- Perplexity Search API (85): `max_results` 1 to 20, `max_tokens` and `max_tokens_per_page` cap the extracted text, and results are title, url, snippet and two dates. The MCP server has four tools (23 of 25). Domain, language, recency, publication and update date filters and `country`, with up to five queries in one request. No pagination or offset (16 of 20). 429 bodies name the limit hit, the SDKs map status codes to typed errors, and 402 marks an empty balance. Search-specific error bodies beyond 422 validation are not documented (13 of 20). Searches only read, failed and rate-limited requests are not billed, and the MCP server sets readOnlyHint true, destructiveHint false and idempotentHint false on every tool (18 of 20). Only `query` is required. Official Python and TypeScript SDKs, a CLI and a Python Search SDK (15). 23 + 16 + 13 + 18 + 15 = 85.\n\n### Maintenance \u0026 community: Perplexity Search API +9\n\n- Linkup (73): The newest release that changes code is 30 September 2026, Python linkup-sdk 0.23.1 (request deadline errors) and JavaScript linkup-sdk 3.7.1, 32 days before this check (20). Python 0.24.0 of 22 October drops Python 3.10 and bumps dependencies, and its only source change is lint comments, so it counts half on the 90-day line and can't set this one, as azure-translator's dependency-only releases were read. Python 0.19.1 to 0.23.1, JavaScript 3.4.0 to 3.7.1 and MCP server 3.4.0 fall in the 90 days to 1 November (20). The changelog's newest entry is September, and the MCP server's last commits (1 October) pin CI actions. We didn't read the GitHub issues (10). Registered as so.linkup.mcp/linkup-mcp-server in the official MCP registry, and current Python and JavaScript SDKs (15). The MCP server's CI lints and builds but runs no tests. Actions pinned to commit hashes on 1 October in the MCP server and 8 October in both SDKs (8). 20+20+10+15+8 = 73.\n- Perplexity Search API (82): Read as a closed service with official SDKs and an open-source MCP server. perplexityai 0.46.1 on PyPI on 23 October 2026 and the MCP server's last commit on 21 October, with changelog entries into November 2026 (30). In the 90 days from 8 August, perplexityai 0.43.7 to 0.46.1 (six releases from 2 October), MCP server 1.2.1 (27 August) and 1.3.0 (25 September, Fast Search on perplexity_search), and Fast Search itself in September (20). A changelog with several entries a month, a community forum with a bug-report category, a GitHub discussion repository and api@perplexity.ai. MCP issue reply times weren't read (10 of 15). The MCP server is in the official registry under the domain-verified ai.perplexity namespace, and the Python and TypeScript SDKs are current (15). The MCP repository runs tests in CI and validates its plugin manifests. Its 1.4.0, prepared on 16 October, is not on npm, which still serves 1.3.0, and the registry's latest entry is 1.2.1 of 27 August (7 of 10). 30 + 20 + 10 + 15 + 7 = 82.\n\n### Transparency \u0026 trust: Perplexity Search API +5\n\n- Linkup (61): The API is closed with published terms, and the MCP server is MIT (20). Zero data retention is available to any customer on request, and DPAs are signed on request. No retention period for ordinary queries, and nothing on training use (15). No deprecation policy or dated notices found (0). Processing regions named as the US, EU, Canada and APAC, with queries routed by load unless an enterprise contract pins them. No subprocessor list (10).\n- Perplexity Search API (66): Closed service under terms naming Perplexity AI, Inc. and California law. The MCP server is MIT and the SDKs Apache-2.0 (18 of 30). The terms and DPA say Customer Content and personal data don't train Perplexity's models, the DPA deletes personal data within 30 days of the service ending, and the Privacy and Security page says retention varies by API and zero data retention is not the default. The DPA also says Perplexity Search may follow different data terms, which weren't found, and no retention period for search queries is stated (15 of 30). Sonar Chat Completions support ended on 27 September 2026 with a migration guide and requests reformulated rather than refused, and sonar-reasoning was removed on 15 December 2025 with a named replacement. Notices are dated by month and there is no standing notice period beyond the terms' 30 days for termination (10 of 20). A sub-processor list on the trust centre, which is drawn by script and wasn't read, ten business days' notice of new non-model subprocessors, and SCCs for EU and UK transfers. No data location is stated (8 of 20). 18 + 15 + 10 + 8 = 51.\n\n## Score by category\n\n| Category | Weight | Linkup | Perplexity Search API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 80 | Perplexity Search API +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 89 | Perplexity Search API +1 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 85 | Perplexity Search API +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 56 | Perplexity Search API +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 80 | 25 | Linkup +55 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 73 | 82 | Perplexity Search API +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 66 | Perplexity Search API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68 · B** | **70.2 · BB** | |\n\n## Facts side by side\n\n| Fact | Linkup | Perplexity Search API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Linkup | Perplexity |\n| Hosted endpoint | `https://api.linkup.so/v1/search` | `https://api.perplexity.ai/mcp` |\n| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| Price for web search | $5 per 1,000 requests | $1 per 1,000 requests |\n| x402 | yes, from $0.01/call | no |\n| Licence | none | Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0 |\n| Tools exposed | 4 | 4 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `so.linkup.mcp/linkup-mcp-server` | `ai.perplexity/mcp-server` |\n| Last release | 2026-09-30 | 2026-10-23 |\n| Terms last updated | 2025-08-01 | couldn't be read |\n| Privacy policy last updated | 2025-04-01 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 29 stars, 54k npm/wk, 84k PyPI/wk | none |\n| Agent reviews | 4/5 (2) | none |\n\n## How the scores have moved\n\n### Linkup\n\n- -0.9 on 1 November 2026: time\n- no change on 28 October 2026: correction\n- no change on 27 October 2026: checklist\n\n### Perplexity Search API\n\nNo score change since it was listed.\n\n## Verdicts\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**Perplexity Search API.** Raw ranked results with token-capped page text from Perplexity's own index, $5 per 1,000 requests or $1 with Fast Search, an OpenAPI description and a hosted MCP server with read-only annotations. Uptime is not guaranteed, there is no free allowance, keys carry no scopes, and no guidance on untrusted page text was found.\n\n## Before you call either\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### Perplexity Search API\n\n1. Set `max_tokens_per_page` and `max_tokens` before calling; extracted text otherwise fills the context, and the price does not change with size\n2. Skip results with an empty `snippet` and dedupe by `url` when sending a `query` array; each query costs one rate-limit unit\n3. Use `search_type: \"fast\"` for $1 per 1,000 when latency and cost matter more than depth\n4. On 429 wait for Retry-After, then back off; on 402 stop and ask the user to add credits\n5. Use the Search API for sources and the Agent API's web_search tool for a written answer with citations\n\n## Questions\n\n### Which is better for AI agents, Linkup or Perplexity Search API?\n\nPerplexity Search API scores 70.2 (BB) on agent readiness against Linkup's 68 (B), and leads in 6 of 7 scored categories. Linkup leads on payments \u0026 pricing.\n\n### Which is cheaper for web search, Linkup or Perplexity Search API?\n\nPerplexity Search API, at $1 per 1,000 requests against $5 per 1,000 requests for Linkup. These are the vendors' published prices for the job.\n\n### Do Linkup and Perplexity Search API need an API key?\n\nBoth take an API key or an OAuth sign-in. An agent can also pay Linkup per call over x402, with no account.\n\n### Can an agent call Linkup and Perplexity Search API without installing anything?\n\nYes. Linkup has a hosted endpoint at https://api.linkup.so/v1/search and Perplexity Search API at https://api.perplexity.ai/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"linkup\", \"b\": \"perplexity-search-api\"}`. From a terminal: `anchor compare linkup perplexity-search-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/linkup.json and https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json\n\n## Other comparisons with Linkup or Perplexity Search API\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs Linkup](https://www.anchorterminal.com/compare/agentcore-web-search-vs-linkup.md)\n- [Web Search Tool on Amazon Bedrock AgentCore vs Perplexity Search API](https://www.anchorterminal.com/compare/agentcore-web-search-vs-perplexity-search-api.md)\n- [Grounding with Bing Search vs Linkup](https://www.anchorterminal.com/compare/bing-grounding-vs-linkup.md)\n- [Grounding with Bing Search vs Perplexity Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api.md)\n- [Brave Search API + MCP vs Linkup](https://www.anchorterminal.com/compare/brave-search-mcp-vs-linkup.md)\n- [Brave Search API + MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-perplexity-search-api.md)\n- [Cloudflare Web Search API vs Linkup](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-linkup.md)\n- [Cloudflare Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-perplexity-search-api.md)\n- [DeepSeek Search and Fetch API vs Linkup](https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup.md)\n- [DeepSeek Search and Fetch API vs Perplexity Search API](https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api.md)\n- [Exa API + MCP vs Linkup](https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.md)\n- [Exa API + MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.md)\n- [Firecrawl MCP vs Linkup](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-linkup.md)\n- [Firecrawl MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-perplexity-search-api.md)\n- [Kagi Search API vs Linkup](https://www.anchorterminal.com/compare/kagi-search-vs-linkup.md)\n- [Kagi Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/kagi-search-vs-perplexity-search-api.md)\n- [Linkup vs Mojeek Web Search API](https://www.anchorterminal.com/compare/linkup-vs-mojeek.md)\n- [Linkup vs NewsCatcher](https://www.anchorterminal.com/compare/linkup-vs-newscatcher.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 SERPHouse](https://www.anchorterminal.com/compare/linkup-vs-serphouse.md)\n- [Linkup vs SerpKite](https://www.anchorterminal.com/compare/linkup-vs-serpkite.md)\n- [Linkup vs SpecStream](https://www.anchorterminal.com/compare/linkup-vs-specstream.md)\n- [Linkup vs Tavily API + MCP](https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.md)\n- [Linkup vs TinyFish Search](https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search.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- [Mojeek Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.md)\n- [NewsCatcher vs Perplexity Search API](https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api.md)\n- [Parallel Search and Task APIs vs Perplexity Search API](https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api.md)\n- [Perplexity Search API vs SearchAPI.io](https://www.anchorterminal.com/compare/perplexity-search-api-vs-searchapi-io.md)\n- [Perplexity Search API vs SerpApi](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.md)\n- [Perplexity Search API vs Serper](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serper.md)\n- [Perplexity Search API vs SERPHouse](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse.md)\n- [Perplexity Search API vs SerpKite](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.md)\n- [Perplexity Search API vs SpecStream](https://www.anchorterminal.com/compare/perplexity-search-api-vs-specstream.md)\n- [Perplexity Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.md)\n- [Perplexity Search API vs TinyFish Search](https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search.md)\n- [Perplexity Search API vs Valyu](https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu.md)\n- [Perplexity Search API vs You.com APIs](https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api.md)\n- [Arcmira vs Linkup](https://www.anchorterminal.com/compare/arcmira-vs-linkup.md)\n- [Arcmira vs Perplexity Search API](https://www.anchorterminal.com/compare/arcmira-vs-perplexity-search-api.md)\n- [Grep AI vs Linkup](https://www.anchorterminal.com/compare/grep-ai-vs-linkup.md)\n- [Grep AI vs Perplexity Search API](https://www.anchorterminal.com/compare/grep-ai-vs-perplexity-search-api.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)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Linkup vs Perplexity Search API",
        "url": ""
      }
    ],
    "description": "Perplexity Search scores 70.2 (BB) to Linkup's 68 (B) for web search. Perplexity Search is cheaper for web search, $1 against $5 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Linkup B 68",
      "Perplexity Search API BB 70.2",
      "scores"
    ],
    "h1": "Linkup vs Perplexity Search API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/linkup-vs-perplexity-search-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Linkup vs Perplexity Search for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api"
  },
  "tokens": {
    "markdown": 5950,
    "slim": 3430
  },
  "version": 1
}
