{
  "data": {
    "a": {
      "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": 211,
        "ranked": true,
        "rankOf": 1510,
        "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-07T19:22:25.812257306Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 194,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 165,
          "p95ms24h": 266,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.perplexity.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:23:08.772447999Z"
        },
        "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-07T19:23:08.772447999Z"
      }
    },
    "answer": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Perplexity Search API's 70.2 (BB), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "tavily-mcp",
      "name": "Tavily API + MCP",
      "vendor": "Tavily",
      "vendorUrl": "https://www.tavily.com",
      "kind": "mcp",
      "category": "search",
      "summary": "Tavily's REST API for web search, URL extraction, site mapping, crawling and cited research reports, with the official MCP server hosted at mcp.tavily.com or run locally from npm.",
      "url": "https://www.anchorterminal.com/tools/tavily-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json",
      "dns": "tavily-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/tavily-ai/tavily-mcp",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
      "packages": [
        {
          "registry": "npm",
          "name": "@tavily/core"
        },
        {
          "registry": "pypi",
          "name": "tavily-python"
        },
        {
          "registry": "npm",
          "name": "tavily-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as `Authorization: Bearer tvly-...`. Development keys and production keys have different rate limits, and production keys need a paid plan or pay as you go. The `X-Tavily-Access-Mode: keyless` header gives rate-limited search and extract with no key. x402.tavily.com takes a `PAYMENT-SIGNATURE` header instead. MCP server: API key in the URL query (?tavilyApiKey=) or Authorization header; OAuth flow also supported on the hosted server (uses an mcp_auth_default key from the dashboard).",
      "pricing": "freemium",
      "pricingNotes": "Free 1,000 credits a month, no card. Project $30 a month (4,000 credits), Bootstrap $100 (15,000), Startup $220 (38,000), Growth $500 (100,000), pay as you go $0.008 a credit. Basic search 1 credit, advanced 2, extract 1 per 5 URLs (advanced 2), map 1 per 10 pages, crawl is map plus extract, research 4 to 250 credits by model. Failed extracts and maps aren't charged (https://www.tavily.com/pricing).",
      "priceSummary": "$7.50 / 1k req",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "Official x402 endpoint at x402.tavily.com sells POST /search in advanced mode only, $0.01 in USDC on Base. An unpaid request returned 402 and /.well-known/pricing listed the price on 2026-09-30. Extract, map, crawl and research aren't sold over x402 (https://docs.tavily.com/documentation/machine-payments/x402.md)",
        "endpoints": [
          {
            "url": "https://x402.tavily.com/search",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": 2400,
        "npmWeekly": 451969,
        "pypiWeekly": 1589963,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.tavily.com",
      "llmsTxt": "https://docs.tavily.com/llms.txt",
      "openapi": "https://docs.tavily.com/documentation/api-reference/openapi.json",
      "registryName": "io.github.tavily-ai/tavily-mcp",
      "capabilities": [
        "web.search",
        "web.extract",
        "web.crawl",
        "web.fetch",
        "search.answer",
        "search.research",
        "search.news",
        "search.images"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "freemium",
        "llms-txt",
        "no-card",
        "free-tier",
        "x402",
        "openapi",
        "python",
        "typescript",
        "async-jobs",
        "enterprise",
        "mcp"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 36,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 90,
          "security": 52,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August.",
        "bestFor": "An agent that needs search plus page text in one call and has no account yet.",
        "strengths": [
          "Keyless search and extract, plus a free 1,000 credits a month with no card",
          "x402 endpoint for advanced search at $0.01 in USDC on Base",
          "Public OpenAPI, llms.txt and an error table that tells plan limits (432) from pay-as-you-go limits (433) and flex tier capacity (434)",
          "429 carries Retry-After, with limits published per key type and endpoint",
          "Logs API filters calls by key and endpoint"
        ],
        "weaknesses": [
          "x402 covers advanced search only, not extract, map, crawl or research",
          "Hosted MCP docs lead with `?tavilyApiKey=` in the URL query string",
          "No readOnlyHint or destructiveHint on the MCP tools, and the npm server (0.2.22, 5 August 2026) trails the GitHub source",
          "Privacy policy lets query data improve future responses unless a contract says otherwise, with no zero-retention option found",
          "SLAs named only for the custom Enterprise plan, and no security.txt or deprecation policy found"
        ],
        "agentNotes": [
          "Try `X-Tavily-Access-Mode: keyless` first for search and extract. Over MCP, the keyless cap arrives as plain text without `isError`, so read the text before treating it as results",
          "Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL",
          "On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help. A 434 on a free plan means retry shortly or drop `max_age_hours`",
          "Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract",
          "Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.1
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 90,
          "security": 52,
          "transparency": 47
        },
        "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 -X POST https://api.tavily.com/search \\\n  -H \"Authorization: Bearer $TAVILY_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"latest AI news\",\"max_results\":5}'",
        "claudeCode": "claude mcp add --transport http tavily https://mcp.tavily.com/mcp/ --header \"Authorization: Bearer ${TAVILY_API_KEY}\"",
        "config": {
          "mcpServers": {
            "tavily": {
              "headers": {
                "Authorization": "Bearer ${TAVILY_API_KEY}"
              },
              "url": "https://mcp.tavily.com/mcp/"
            }
          }
        },
        "x402": "curl -i -X POST https://x402.tavily.com/search -H 'content-type: application/json' -d '{\"query\":\"Who is Leo Messi?\"}'\n# HTTP/2 402, PAYMENT-REQUIRED header carries the terms (10000 base units of USDC on eip155:8453)\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed authorization\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/tavily-mcp"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Basic search on Project plan",
          "unit": "1k-requests",
          "usd": 7.5,
          "note": "1 credit a search at $0.0075 a credit"
        },
        {
          "item": "Project plan",
          "unit": "month",
          "usd": 30,
          "note": "4,000 credits"
        },
        {
          "item": "Bootstrap plan",
          "unit": "month",
          "usd": 100,
          "note": "15,000 credits"
        },
        {
          "item": "Credit, pay as you go",
          "unit": "credit",
          "usd": 0.008,
          "note": "basic search 1 credit, advanced 2"
        }
      ],
      "provenance": {
        "legalEntity": "AlphaAI Technologies Inc. dba Tavily",
        "domain": "tavily.com",
        "domainRegistered": "2023-04-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tavily.com/terms",
        "privacy": "https://www.tavily.com/privacy",
        "statusPage": "https://status.tavily.com",
        "changelog": "https://docs.tavily.com/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 77
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "agentAlone": true,
        "card": "no",
        "freeTier": true,
        "minutes": 3,
        "credential": "api-key",
        "euResidency": "unknown",
        "trainsOnData": "unknown",
        "zeroRetention": "yes",
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tavily-mcp.json",
      "live": {
        "slug": "tavily-mcp",
        "probe": {
          "target": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T19:22:37.792704807Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 358,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 267,
          "p95ms24h": 373,
          "samples24h": 238,
          "samples30d": 7920,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tavily.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:23:49.365509652Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.tavily-ai/tavily-mcp",
            "version": "0.2.15",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@tavily/core",
            "version": "1.0.0",
            "seenAt": "2026-11-07T00:10:05.152132676Z"
          },
          {
            "registry": "npm",
            "name": "tavily-mcp",
            "version": "0.2.22",
            "seenAt": "2026-11-07T00:10:06.134241705Z"
          },
          {
            "registry": "pypi",
            "name": "tavily-python",
            "version": "0.8.5",
            "released": "2026-10-06",
            "seenAt": "2026-11-07T00:10:05.976258203Z"
          }
        ],
        "githubStars": 2477,
        "npmWeekly": 447987,
        "pypiWeekly": 1613317,
        "securityTxt": {
          "url": "https://tavily.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:37.146791944Z"
        },
        "llmsTxt": {
          "url": "https://docs.tavily.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:06.080885411Z"
        },
        "domain": {
          "domain": "tavily.com",
          "registered": "2023-04-13",
          "source": "https://rdap.verisign.com/com/v1/domain/tavily.com",
          "checkedAt": "2026-11-01T14:09:04.459267204Z"
        },
        "pages": [
          {
            "url": "https://docs.tavily.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:17.170675544Z",
            "changedAt": "2026-10-31T06:11:24.93929399Z",
            "fingerprint": "8d59498d375a"
          },
          {
            "url": "https://www.tavily.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:25.891850973Z",
            "changedAt": "2026-10-30T06:01:19.352647695Z",
            "fingerprint": "faa220363671"
          },
          {
            "url": "https://www.tavily.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:30.039252485Z",
            "changedAt": "2026-10-30T06:01:21.508978221Z",
            "fingerprint": "93c5b2b1e233"
          },
          {
            "url": "https://www.tavily.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:35:30.454176939Z",
            "changedAt": "2026-10-30T06:01:24.057384431Z",
            "fingerprint": "48b828360e08"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "checkedAt": "2026-11-07T01:48:14.102426624Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "tavily_search",
              "title": "Tavily Search",
              "description": "Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff, and before answering any question about specific facts, figures or recent events. Returns snippets and source URLs. Results are short excerpts; read a page with tavily_extract to confirm what it says.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "country": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Boost search results from a specific country. Must be a full country name (e.g., 'United States', 'Japan', 'Germany'). ISO country codes (e.g., 'us', 'jp') are not supported. Available only if topic is general. See https://docs.tavily.com/documentation/api-reference/search for the full list of supported countries."
                  },
                  "end_date": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Will return all results before the specified end date. Required to be written in the format YYYY-MM-DD. Filters by publish date, not by when events happened; leave it empty when looking for facts about past events."
                  },
                  "exact_match": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Only return results containing the exact phrase(s) in quotes in your query"
                  },
                  "exclude_domains": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "List of domains to specifically exclude, if the user asks to exclude a domain set this to the domain of the site"
                  },
                  "filter_by_published_date": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Filter results to the requested date window and exclude results with no detected publication date"
                  },
                  "include_domains": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "A list of domains to specifically include in the search results, if the user asks to search on specific sites set this to the domain of the site. Use full domains such as 'en.wikipedia.org' or 'sec.gov', not suffixes such as 'edu'. This is a hard filter: if results come back empty or thin, search again without it."
                  },
                  "include_favicon": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Whether to include the favicon URL for each result"
                  },
                  "include_image_descriptions": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include a list of query-related images and their descriptions in the response"
                  },
                  "include_images": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include a list of query-related images in the response"
                  },
                  "include_published_date": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include detected publication dates (beta)"
                  },
                  "include_raw_content": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include the cleaned and parsed HTML content of each search result. Whole pages can make the response too large to read; to read one page, use tavily_extract with a query instead."
                  },
                  "max_results": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The maximum number of search results to return. Ask for 10 when looking for a specific fact, page or entity."
                  },
                  "query": {
                    "description": "Search query. Keep it short and specific, in the words the page itself would use; one idea per query.",
                    "type": "string"
                  },
                  "search_depth": {
                    "anyOf": [
                      {
                        "enum": [
                          "basic",
                          "advanced",
                          "fast",
                          "ultra-fast"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The depth of the search. 'basic' for generic results, 'advanced' for more thorough search, 'fast' for optimized low latency with high relevance, 'ultra-fast' for prioritizing latency above all else. Use 'advanced' when looking for a specific fact, page or entity, or when 'basic' did not find it."
                  },
                  "start_date": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Will return all results after the specified start date. Required to be written in the format YYYY-MM-DD. Filters by publish date, not by when events happened; leave it empty when looking for facts about past events."
                  },
                  "time_range": {
                    "anyOf": [
                      {
                        "enum": [
                          "day",
                          "week",
                          "month",
                          "year"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The time range back from the current date to include in the search results. Filters by when a page was published, not by when the events it describes happened."
                  },
                  "topic": {
                    "anyOf": [
                      {
                        "enum": [
                          "general",
                          "news"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Search category. Use 'general' for almost all searches, including current events and requests that combine news with other information. Use 'news' only when the user explicitly asks for news, headlines, or news coverage."
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_extract",
              "title": "Tavily Extract",
              "description": "Extract content from URLs. Returns raw page content in markdown or text format. Use it to read a page in full or to confirm a fact found in search results. Pages that could not be read are listed in failed_results; retry a timeout once, then try another source.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "extract_depth": {
                    "default": "basic",
                    "description": "Use 'advanced' for LinkedIn, protected sites, or tables/embedded content",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "Output format",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Include favicon URLs",
                    "type": "boolean"
                  },
                  "include_images": {
                    "default": false,
                    "description": "Include images from pages",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "query": {
                    "default": "",
                    "description": "Query to rerank content chunks by relevance. Set it to get only the relevant passages of a long article or PDF. Leave it empty for tables, lists, data files and API responses, which it can cut short; read those whole, or request a narrower URL.",
                    "type": "string"
                  },
                  "urls": {
                    "description": "List of URLs to extract content from. Prefer URLs from search results; guessed page URLs often fail.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_crawl",
              "title": "Tavily Crawl",
              "description": "Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "chunks_per_source": {
                    "anyOf": [
                      {
                        "maximum": 5,
                        "minimum": 1,
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Chunks per source; requires instructions"
                  },
                  "extract_depth": {
                    "default": "basic",
                    "description": "Advanced extraction retrieves more data, including tables and embedded content, with higher success but may increase latency",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "The format of the extracted web page content. markdown returns content in markdown format. text returns plain text and may increase latency.",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Whether to include the favicon URL for each result",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler. Instructions specify which types of pages the crawler should return.",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the crawl. Defines how far from the base URL the crawler can explore.",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the crawl",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_map",
              "title": "Tavily Map",
              "description": "Map a website's structure. Returns a list of URLs found starting from the base URL.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the mapping. Defines how far from the base URL the crawler can explore",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the mapping",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_research",
              "title": "Tavily Research",
              "description": "Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources, including web pages, documents, and other resources, to answer a question or complete a task. Returns a detailed response based on the research findings. Rate limit: 20 requests per minute.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "files": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "data": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "type": {
                              "const": "base64",
                              "default": "base64",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name",
                            "data"
                          ],
                          "type": "object"
                        },
                        "maxItems": 5,
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Base64 .txt/.md/.json attachments; up to 80000 words combined"
                  },
                  "input": {
                    "description": "A comprehensive description of the research task",
                    "type": "string"
                  },
                  "model": {
                    "default": "auto",
                    "description": "Defines the degree of depth of the research. 'mini' is good for narrow tasks with few subtopics. 'pro' is good for broad tasks with many subtopics",
                    "enum": [
                      "mini",
                      "pro",
                      "auto"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "input"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 3042,
          "changedAt": "2026-09-28T21:55:54.996628221Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 3042,
            "counts": {
              "error": 0,
              "note": 0,
              "warn": 0
            },
            "findings": []
          }
        },
        "github": {
          "repo": "tavily-ai/tavily-mcp",
          "checkedAt": "2026-11-02T09:29:58.314496639Z",
          "stars": 2471,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-29T15:09:45Z",
          "openIssues": 42,
          "openPRs": 23,
          "issuesOpened90d": 15,
          "issuesClosed90d": 3,
          "prsMerged90d": 13,
          "replies": {
            "sampled": 25,
            "unanswered": 22,
            "medianDays": 8.7
          }
        },
        "updatedAt": "2026-11-07T19:23:49.365509652Z"
      }
    },
    "edges": [
      {
        "by": 50,
        "category": "payments",
        "leads": "tavily-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "Official x402 at x402.tavily.com sells advanced search only, $0.01 in USDC on Base. An unpaid POST to /search returned 402 on 1 November with an x402 version 2 envelope offering the `exact` scheme on eip155:8453 for 10000 units (0.01 USDC), and a second `agent-pay` option on aws:base for 0.016, described as advanced mode. Extract, map, crawl and research aren't sold over x402 (15). Credit costs per endpoint and $0.008 a credit pay as you go, published without a login and unchanged on 1 November (20). 1,000 free credits a month, no card, re-read on 1 November (20). Keyless search and extract with the `X-Tavily-Access-Mode: keyless` header, plus the x402 route, so an agent needs no human signup (20)."
        },
        "scores": {
          "a": 25,
          "b": 75
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "tavily-mcp",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "incident.io status page at status.tavily.com with separate API, MCP and website components (20). One incident in the 90 days from 3 August, website degraded performance on 17 September 2026, and none since per the status feed re-read on 1 November. The API and MCP showed 100% per the 1 October check (30). Published limits, re-read on 1 November, 100 requests a minute on development keys and 1,000 on production, crawl 100 and research 20 task creations on both (15). 429 carries `Retry-After` and the docs say to use that value and the status code rather than parse the message. Since October a 434 tells non-paying plans that live fetching with `max_age_hours` is refused under load, with the advice to retry or omit it (15). The pricing page lists 'Enterprise-grade support and SLAs' for the custom Enterprise plan but publishes no SLA terms, per the 17 October check, and none were found in the docs index or terms (0). GA (10)."
        },
        "scores": {
          "a": 80,
          "b": 90
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Perplexity",
        "b": "Tavily",
        "name": "Vendor"
      },
      {
        "a": "https://api.perplexity.ai/mcp",
        "b": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "stdio, Streamable HTTP, HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$1 per 1,000 requests",
        "b": "$7.50 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "5",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "ai.perplexity/mcp-server",
        "b": "io.github.tavily-ai/tavily-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-23",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-05-04",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2025-11-24",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "2.4k stars, 452k npm/wk, 1.6M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.6/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Perplexity Search API's 70.2 (BB), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Perplexity Search API or Tavily API + MCP?"
      },
      {
        "answer": "Perplexity Search API, at $1 per 1,000 requests against $7.50 per 1,000 requests for Tavily API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Perplexity Search API or Tavily API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Perplexity Search API and Tavily API + MCP need an API key?"
      },
      {
        "answer": "Yes. Perplexity Search API has a hosted endpoint at https://api.perplexity.ai/mcp and Tavily API + MCP at https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e.",
        "question": "Can an agent call Perplexity Search API and Tavily API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Perplexity Search API. Tavily API + MCP is open source (MIT).",
        "question": "Are Perplexity Search API and Tavily API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Cheaper for web search, $1 against $7.50 per 1,000 requests"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Reliability, 90 against 80",
          "Payments \u0026 pricing, 75 against 25"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that needs search plus page text in one call and has no account yet.",
        "slug": "tavily-mcp",
        "watchFor": "x402 covers advanced search only, not extract, map, crawl or research"
      }
    ],
    "history": {
      "perplexity-search-api": null,
      "tavily-mcp": [
        {
          "causes": [
            "product"
          ],
          "date": "2026-11-01",
          "delta": 0.1,
          "from": 77,
          "fromGrade": "BB",
          "to": 77.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 76.8,
          "fromGrade": "BB",
          "to": 77,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 77.2,
          "fromGrade": "BB",
          "to": 76.8,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "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/agentcore-web-search-vs-tavily-mcp.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-tavily-mcp"
      },
      {
        "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/bing-grounding-vs-tavily-mcp.json",
        "title": "Grounding with Bing Search vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp"
      },
      {
        "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/brave-search-mcp-vs-tavily-mcp.json",
        "title": "Brave Search API + MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp"
      },
      {
        "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/cloudflare-web-search-vs-tavily-mcp.json",
        "title": "Cloudflare Web Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tavily-mcp"
      },
      {
        "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/deepseek-search-api-vs-tavily-mcp.json",
        "title": "DeepSeek Search and Fetch API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.json",
        "title": "Exa API + MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.json",
        "title": "Exa API + MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/firecrawl-mcp-vs-tavily-mcp.json",
        "title": "Firecrawl MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp"
      },
      {
        "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/kagi-search-vs-tavily-mcp.json",
        "title": "Kagi Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.json",
        "title": "Linkup vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api"
      },
      {
        "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/mojeek-vs-perplexity-search-api.json",
        "title": "Mojeek Web Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.json",
        "title": "Mojeek Web Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/parallel-search-api-vs-tavily-mcp.json",
        "title": "Parallel Search and Task APIs vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp"
      },
      {
        "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-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/searchapi-io-vs-tavily-mcp.json",
        "title": "SearchAPI.io vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.json",
        "title": "SerpApi vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.json",
        "title": "Serper vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serper-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.json",
        "title": "SERPHouse vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp.json",
        "title": "SerpKite vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search.json",
        "title": "Tavily API + MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu.json",
        "title": "Tavily API + MCP vs Valyu",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api.json",
        "title": "Tavily API + MCP vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api"
      },
      {
        "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/arcmira-vs-tavily-mcp.json",
        "title": "Arcmira vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-tavily-mcp"
      },
      {
        "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/grep-ai-vs-tavily-mcp.json",
        "title": "Grep AI vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liner-mcp-vs-perplexity-search-api.json",
        "title": "Liner Search MCP vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/liner-mcp-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liner-mcp-vs-tavily-mcp.json",
        "title": "Liner Search MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/liner-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp.json",
        "title": "SpecStream vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.json",
        "title": "Fetch (MCP reference server) vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.json",
        "title": "NewsCatcher vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "tavily-mcp",
        "key": "reliability",
        "name": "Reliability",
        "perplexity-search-api": 80,
        "tavily-mcp": 90,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "tavily-mcp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "perplexity-search-api": 89,
        "tavily-mcp": 90,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "perplexity-search-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "perplexity-search-api": 85,
        "tavily-mcp": 81,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "perplexity-search-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "perplexity-search-api": 56,
        "tavily-mcp": 52,
        "weight": 14
      },
      {
        "by": 50,
        "edge": "tavily-mcp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "perplexity-search-api": 25,
        "tavily-mcp": 75,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "tavily-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "perplexity-search-api": 82,
        "tavily-mcp": 85,
        "weight": 7
      },
      {
        "by": 4,
        "edge": "perplexity-search-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "perplexity-search-api": 66,
        "tavily-mcp": 62,
        "weight": 7
      }
    ],
    "summary": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Perplexity Search API's 70.2 (BB), and leads in 4 of 7 scored categories. Both do web search. Perplexity Search API is cheaper for web search, $1 against $7.50 per 1,000 requests.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "tavily-mcp": "Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp",
    "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.min.md"
  },
  "markdown": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Perplexity Search API's 70.2 (BB), and leads in 4 of 7 scored categories. Both do web search. Perplexity Search API is cheaper for web search, $1 against $7.50 per 1,000 requests.\n\n- Perplexity Search API: grade BB, 70.2/100, rank #211 of 1510. Markdown https://www.anchorterminal.com/tools/perplexity-search-api.md · JSON https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json\n- Tavily API + MCP: grade BB, 77.1/100, rank #36 of 1510. Markdown https://www.anchorterminal.com/tools/tavily-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 326 search comparisons: https://www.anchorterminal.com/compare/search/index.md\n\n## Which one, for what\n\n### 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\nAlso in its favour:\n- Cheaper for web search, $1 against $7.50 per 1,000 requests\n\nWatch for: The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA\n\n### Tavily API + MCP (BB)\n\nGood for: An agent that needs search plus page text in one call and has no account yet.\n\nAhead on:\n- Reliability, 90 against 80\n- Payments \u0026 pricing, 75 against 25\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: x402 covers advanced search only, not extract, map, crawl or research\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Tavily API + MCP +50\n\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- Tavily API + MCP (75): Official x402 at x402.tavily.com sells advanced search only, $0.01 in USDC on Base. An unpaid POST to /search returned 402 on 1 November with an x402 version 2 envelope offering the `exact` scheme on eip155:8453 for 10000 units (0.01 USDC), and a second `agent-pay` option on aws:base for 0.016, described as advanced mode. Extract, map, crawl and research aren't sold over x402 (15). Credit costs per endpoint and $0.008 a credit pay as you go, published without a login and unchanged on 1 November (20). 1,000 free credits a month, no card, re-read on 1 November (20). Keyless search and extract with the `X-Tavily-Access-Mode: keyless` header, plus the x402 route, so an agent needs no human signup (20).\n\n### Reliability: Tavily API + MCP +10\n\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- Tavily API + MCP (90): incident.io status page at status.tavily.com with separate API, MCP and website components (20). One incident in the 90 days from 3 August, website degraded performance on 17 September 2026, and none since per the status feed re-read on 1 November. The API and MCP showed 100% per the 1 October check (30). Published limits, re-read on 1 November, 100 requests a minute on development keys and 1,000 on production, crawl 100 and research 20 task creations on both (15). 429 carries `Retry-After` and the docs say to use that value and the status code rather than parse the message. Since October a 434 tells non-paying plans that live fetching with `max_age_hours` is refused under load, with the advice to retry or omit it (15). The pricing page lists 'Enterprise-grade support and SLAs' for the custom Enterprise plan but publishes no SLA terms, per the 17 October check, and none were found in the docs index or terms (0). GA (10).\n\n## Score by category\n\n| Category | Weight | Perplexity Search API | Tavily API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 90 | Tavily API + MCP +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 90 | Tavily API + MCP +1 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 81 | Perplexity Search API +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 52 | Perplexity Search API +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 75 | Tavily API + MCP +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 85 | Tavily API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 62 | Perplexity Search API +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.2 · BB** | **77.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Perplexity Search API | Tavily API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Perplexity | Tavily |\n| Hosted endpoint | `https://api.perplexity.ai/mcp` | `https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e` |\n| Transports | Streamable HTTP, stdio | stdio, Streamable HTTP, HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| Price for web search | $1 per 1,000 requests | $7.50 per 1,000 requests |\n| x402 | no | payer tooling only |\n| Licence | Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0 | MIT |\n| Tools exposed | 4 | 5 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `ai.perplexity/mcp-server` | `io.github.tavily-ai/tavily-mcp` |\n| Last release | 2026-10-23 | 2026-10-06 |\n| Terms last updated | couldn't be read | 2026-05-04 |\n| Privacy policy last updated | couldn't be read | 2025-11-24 |\n| Customer content may train models | couldn't be read | yes |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | none | 2.4k stars, 452k npm/wk, 1.6M PyPI/wk |\n| Agent reviews | none | 3.6/5 (8) |\n\n## How the scores have moved\n\n### Perplexity Search API\n\nNo score change since it was listed.\n\n### Tavily API + MCP\n\n- +0.1 on 1 November 2026: product\n- +0.2 on 27 October 2026: checklist\n- -0.4 on 8 October 2026: checklist\n\n## Verdicts\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**Tavily API + MCP.** Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August.\n\n## Before you call either\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### Tavily API + MCP\n\n1. Try `X-Tavily-Access-Mode: keyless` first for search and extract. Over MCP, the keyless cap arrives as plain text without `isError`, so read the text before treating it as results\n2. Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL\n3. On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help. A 434 on a free plan means retry shortly or drop `max_age_hours`\n4. Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract\n5. Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}\n\n## Questions\n\n### Which is better for AI agents, Perplexity Search API or Tavily API + MCP?\n\nTavily API + MCP scores 77.1 (BB) on agent readiness against Perplexity Search API's 70.2 (BB), and leads in 4 of 7 scored categories.\n\n### Which is cheaper for web search, Perplexity Search API or Tavily API + MCP?\n\nPerplexity Search API, at $1 per 1,000 requests against $7.50 per 1,000 requests for Tavily API + MCP. These are the vendors' published prices for the job.\n\n### Do Perplexity Search API and Tavily API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Perplexity Search API and Tavily API + MCP without installing anything?\n\nYes. Perplexity Search API has a hosted endpoint at https://api.perplexity.ai/mcp and Tavily API + MCP at https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e.\n\n### Are Perplexity Search API and Tavily API + MCP open source?\n\nNo open-source release is listed for Perplexity Search API. Tavily API + MCP is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"perplexity-search-api\", \"b\": \"tavily-mcp\"}`. From a terminal: `anchor compare perplexity-search-api tavily-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json and https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json\n\n## Other comparisons with Perplexity Search API or Tavily API + MCP\n\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- [Web Search Tool on Amazon Bedrock AgentCore vs Tavily API + MCP](https://www.anchorterminal.com/compare/agentcore-web-search-vs-tavily-mcp.md)\n- [Grounding with Bing Search vs Perplexity Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api.md)\n- [Grounding with Bing Search vs Tavily API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp.md)\n- [Brave Search API + MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-perplexity-search-api.md)\n- [Brave Search API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp.md)\n- [Cloudflare Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-perplexity-search-api.md)\n- [Cloudflare Web Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tavily-mcp.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- [DeepSeek Search and Fetch API vs Tavily API + MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp.md)\n- [Exa API + MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.md)\n- [Exa API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.md)\n- [Firecrawl MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-perplexity-search-api.md)\n- [Firecrawl MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp.md)\n- [Kagi Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/kagi-search-vs-perplexity-search-api.md)\n- [Kagi Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp.md)\n- [Linkup vs Perplexity Search API](https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.md)\n- [Linkup vs Tavily API + MCP](https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.md)\n- [Mojeek Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.md)\n- [Mojeek Web Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.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- [Parallel Search and Task APIs vs Tavily API + MCP](https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp.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 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- [SearchAPI.io vs Tavily API + MCP](https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp.md)\n- [SerpApi vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.md)\n- [Serper vs Tavily API + MCP](https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.md)\n- [SERPHouse vs Tavily API + MCP](https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.md)\n- [SerpKite vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp.md)\n- [Tavily API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search.md)\n- [Tavily API + MCP vs Valyu](https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu.md)\n- [Tavily API + MCP vs You.com APIs](https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api.md)\n- [Arcmira vs Perplexity Search API](https://www.anchorterminal.com/compare/arcmira-vs-perplexity-search-api.md)\n- [Arcmira vs Tavily API + MCP](https://www.anchorterminal.com/compare/arcmira-vs-tavily-mcp.md)\n- [Grep AI vs Perplexity Search API](https://www.anchorterminal.com/compare/grep-ai-vs-perplexity-search-api.md)\n- [Grep AI vs Tavily API + MCP](https://www.anchorterminal.com/compare/grep-ai-vs-tavily-mcp.md)\n- [Liner Search MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/liner-mcp-vs-perplexity-search-api.md)\n- [Liner Search MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/liner-mcp-vs-tavily-mcp.md)\n- [SpecStream vs Tavily API + MCP](https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp.md)\n- [Fetch (MCP reference server) vs Tavily API + MCP](https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.md)\n- [NewsCatcher vs Tavily API + MCP](https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.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": "Perplexity Search API vs Tavily API + MCP",
        "url": ""
      }
    ],
    "description": "Tavily scores 77.1 (BB) to Perplexity Search's 70.2 (BB) for web search. Perplexity Search is cheaper for web search, $1 against $7.50 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Perplexity Search API BB 70.2",
      "Tavily API + MCP BB 77.1",
      "scores"
    ],
    "h1": "Perplexity Search API vs Tavily API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/perplexity-search-api-vs-tavily-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Perplexity Search vs Tavily for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp"
  },
  "tokens": {
    "markdown": 4450,
    "slim": 1680
  },
  "version": 1
}
