{
  "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": "Perplexity Search API scores 70.2 (BB) on agent readiness against SerpKite's 67.6 (B), and leads in 3 of 7 scored categories. SerpKite leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "serpkite",
      "name": "SerpKite",
      "vendor": "SerpKite (Anastasia Klimova, trading as SerpKite)",
      "vendorUrl": "https://serpkite.com",
      "kind": "http-api",
      "category": "search",
      "summary": "Google SERP API for AI agents from SerpKite, a sole trader in Ontario. It returns Google results, other verticals and public AI assistant answers as JSON or Markdown, fetches pages, and runs a remote MCP server with 23 tools.",
      "url": "https://www.anchorterminal.com/tools/serpkite",
      "markdownUrl": "https://www.anchorterminal.com/tools/serpkite.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/serpkite.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/serpkite.json",
      "dns": "serpkite.grade.anchorterminal.com",
      "repo": "https://github.com/SerpKite/serpkite-mcp",
      "license": "Proprietary service under SerpKite's terms of service. The SDKs (TypeScript, Python, Go, LangChain, Vercel AI SDK) and the MCP connection repository on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.serpkite.com/v1/search",
      "packages": [
        {
          "registry": "npm",
          "name": "serpkite"
        },
        {
          "registry": "pypi",
          "name": "serpkite"
        },
        {
          "registry": "go",
          "name": "github.com/serpkite/serpkite-go"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key (`skt_live_…`) as `Authorization: Bearer` on every REST call and on the remote MCP server; since 9 October 2026 the bare key without `Bearer` is accepted too. GET requests may also send it as the `?api_key=` query parameter. An account can hold many keys, each revocable and rotatable with an optional monthly credit limit, and keys are stored as SHA-256 hashes. No scopes. Since 9 October the MCP server also supports OAuth (authorisation code with PKCE, dynamic client registration, rotating refresh tokens); an approved connection runs as a named API key and its token works on /v1/mcp only (https://serpkite.com/docs/mcp, https://serpkite.com/docs/changelog).",
      "pricing": "freemium",
      "pricingNotes": "Prepaid credit packs that never expire. Starter $10 for 10,000 credits ($1.00 per 1,000), Growth $50 for 62,500 ($0.80), Pro $300 for 500,000 ($0.60), volume quotes from $0.18 per 1,000 at 25 million a month. One credit is one page of 10 results; `num=100` is 7 credits, autocomplete 0.5, batch and cache hits half price, `include_content` 1 per fetched page, AI assistant answers 2 to 4 credits. Free credits with no card (1,000 on email verification, 1,500 more after linking GitHub or Google) and 1,000 a month, with a free daily limit of 500 credits; since 28 October free credits are paused for an account sharing a device or network with another. Batch depth requests move to per-page billing on 23 November 2026. Failed, empty and blocked requests are refunded. Paddle is the merchant of record (https://serpkite.com/pricing, checked 2026-11-02).",
      "priceSummary": "$1 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the OpenAPI spec or the pricing page. Packs are bought through Paddle checkout (checked 2026-10-05).",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 809,
        "pypiWeekly": 376,
        "asOf": "2026-10-05"
      },
      "docsUrl": "https://serpkite.com/docs",
      "llmsTxt": "https://serpkite.com/llms.txt",
      "openapi": "https://serpkite.com/openapi/serp-api.yaml",
      "registryName": "io.github.SerpKite/serpkite",
      "capabilities": [
        "web.search",
        "search.serp",
        "search.news",
        "search.images",
        "web.fetch",
        "web.extract",
        "web.crawl"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "closed-source",
        "mcp",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "go",
        "status-page"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 314,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 97,
          "maintenance": 80,
          "payments": 40,
          "reliability": 75,
          "schema": 90,
          "security": 37,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -3,
        "negativeNotes": [
          "2 October to 1 November 2026. The `ai_overview` parameter and field, the `/v1/ai-mode` endpoint and its MCP tool, and the `/v1/lens` endpoint were removed the day each removal was announced (2 and 3 October), three to four days after the v1.0.0 changelog listed AI Overview as unchanged, with Google's refusal of logged-out requests as the reason. Later same-day changes fold into this term, among them `/v1/reviews` answering 400 for sorts other than `most_relevant` and stopping at review 10 (16 October), and `page: 2` and later answering 503 instead of an empty result (1 November). AI Overview and AI Mode came back on 28 October. Folded into one small deduction, -3 (https://serpkite.com/docs/changelog)."
        ],
        "verdict": "Google SERP API with an OpenAPI 3.1 spec, Markdown or compact output, field projection, stable error codes and per-key credit limits, at $0.60 to $1.00 per 1,000 on packs that don't expire. The service launched on 29 September 2026 from a sole trader, with a month of status history and frequent same-day contract changes.",
        "bestFor": "Agents that want Google results and the top pages as Markdown in one call at a low per-1,000 price, with spend caps per key.",
        "strengths": [
          "OpenAPI 3.1 spec, llms.txt, llms-full.txt and Markdown twins of every docs page",
          "`format=markdown` or `compact`, `fields` projection and an `X-Tokens-Estimate` header size responses for a model",
          "Many revocable keys per account, each with an optional monthly credit limit, plus an account spend cap and OAuth for the MCP server",
          "Credit packs never expire, and failed, empty and blocked requests are refunded",
          "Named subprocessors with locations, and a retention table that keeps no query text in logs"
        ],
        "weaknesses": [
          "Launched 29 September 2026 by a sole trader, with status monitoring only since 2 October",
          "Contract changes forced by Google ship the day they are announced, including the first-week removals and the 16 October reviews limit",
          "GET requests accept the key as a `?api_key=` query parameter, and keys have no scopes",
          "No SLA for self-serve packs, no SOC 2 and no security.txt",
          "No prompt-injection guidance, though search, webpage, extract and crawl return third-party page text"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer`, not `?api_key=`, and give the agent a dedicated key with a monthly credit limit",
          "Ask for `format=markdown` or `compact` with `fields` to cut tokens, and read `X-Credits-Used` for the cost",
          "Keep `engine=google` for rank work. Check `meta.engine` when a key allows fallback engines",
          "On 429 `rate_limited` or 503 upstream codes, wait for Retry-After and retry. `daily_limit_reached`, `account_restricted` (403) and 402 need a purchase",
          "Treat page Markdown from `include_content`, `webpage` and `extract` as untrusted text"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 97,
          "maintenance": 80,
          "payments": 40,
          "reliability": 75,
          "schema": 90,
          "security": 37,
          "transparency": 79
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install serpkite",
        "http": "curl https://api.serpkite.com/v1/search \\\n  -H \"Authorization: Bearer $SERPKITE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"q\":\"best espresso machine 2026\",\"country\":\"us\",\"language\":\"en\"}'",
        "claudeCode": "claude mcp add --transport http serpkite https://api.serpkite.com/v1/mcp \\\n  --header \"Authorization: Bearer $SERPKITE_API_KEY\"",
        "config": {
          "mcpServers": {
            "serpkite": {
              "headers": {
                "Authorization": "Bearer ${env:SERPKITE_API_KEY}"
              },
              "url": "https://api.serpkite.com/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/serpkite"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter pack",
          "unit": "1k-requests",
          "usd": 1,
          "note": "$10 for 10,000 credits, never expires"
        },
        {
          "item": "Pro pack",
          "unit": "1k-requests",
          "usd": 0.6,
          "note": "$300 for 500,000 credits, never expires"
        }
      ],
      "provenance": {
        "legalEntity": "Anastasia Klimova, trading as SerpKite",
        "domain": "serpkite.com",
        "domainRegistered": "2026-09-29",
        "endpointOnVendorDomain": true,
        "terms": "https://serpkite.com/legal/terms",
        "privacy": "https://serpkite.com/legal/privacy",
        "statusPage": "https://status.serpkite.com",
        "changelog": "https://serpkite.com/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-10-05",
        "notes": [
          "The terms and privacy policy, both effective 3 October 2026, name Anastasia Klimova, trading as SerpKite, 1732 Oberon Crescent, Mississauga, Ontario, Canada, under the laws of Ontario.",
          "RDAP for serpkite.com gives a registration date of 2026-09-29 and Cloudflare, Inc. as registrar.",
          "serpkite.com/.well-known/security.txt returns the site's 404 page. The security page asks for reports by email with acknowledgement in 2 business days and says there's no paid bug bounty.",
          "The MCP registry entry uses the GitHub namespace io.github.SerpKite, not a domain-verified one. The repository's two commits are by the GitHub user nolikzero, and the SDK repositories are committed by serpkite-bot \u003csupport@serpkite.com\u003e.",
          "The subprocessor page lists Polar as merchant of record for earlier orders, which suggests sales before the domain's registration date. We couldn't establish where."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/serpkite.json",
      "live": {
        "slug": "serpkite",
        "probe": {
          "target": "https://api.serpkite.com/v1/search",
          "method": "get",
          "lastAt": "2026-11-07T19:22:32.548326808Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 247,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.89,
          "p50ms24h": 120,
          "p95ms24h": 218,
          "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": 253
            },
            {
              "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": 241
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ],
          "outages": [
            {
              "start": "2026-11-03T10:35:09.387488166Z",
              "end": "2026-11-03T11:14:41.456082867Z",
              "note": "HTTP 530 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.serpkite.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:44.554890116Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.SerpKite/serpkite",
            "version": "1.2.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "serpkite",
            "version": "0.10.0",
            "seenAt": "2026-11-07T00:04:57.782847958Z"
          },
          {
            "registry": "pypi",
            "name": "serpkite",
            "version": "0.10.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-07T00:05:00.89457909Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 357,
        "pypiWeekly": 256,
        "securityTxt": {
          "url": "https://serpkite.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:24.466205734Z"
        },
        "llmsTxt": {
          "url": "https://serpkite.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.27218306Z"
        },
        "domain": {
          "domain": "serpkite.com",
          "registered": "2026-09-29",
          "source": "https://rdap.verisign.com/com/v1/domain/serpkite.com",
          "checkedAt": "2026-11-01T14:17:34.283329903Z"
        },
        "pages": [
          {
            "url": "https://serpkite.com/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:38.565738874Z",
            "changedAt": "2026-11-07T14:19:38.565738874Z",
            "fingerprint": "d68c18d17704"
          },
          {
            "url": "https://serpkite.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:44.67004402Z",
            "changedAt": "2026-11-07T14:19:44.67004402Z",
            "fingerprint": "0c82ab61c297"
          },
          {
            "url": "https://serpkite.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:40.795779718Z",
            "changedAt": "2026-11-05T13:04:06.216389859Z",
            "fingerprint": "0eaf0bbbd031"
          },
          {
            "url": "https://serpkite.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:42.771170665Z",
            "changedAt": "2026-11-05T13:04:07.812029176Z",
            "fingerprint": "693478e804e1"
          }
        ],
        "mcpTools": {
          "url": "https://api.serpkite.com/v1/mcp",
          "checkedAt": "2026-11-07T01:47:48.000876733Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:48.000876733Z"
        },
        "github": {
          "repo": "serpkite/serpkite-mcp",
          "checkedAt": "2026-11-02T09:24:51.977048937Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-28T22:42:28Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 5
        },
        "updatedAt": "2026-11-07T19:22:32.548326808Z"
      }
    },
    "edges": [
      {
        "by": 19,
        "category": "security",
        "leads": "perplexity-search-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Project API keys, shown once, revocable, and generated and revoked through two documented endpoints with a rotation guide. No per-key scopes or spending limits were found. The hosted MCP server also takes Sign in with Perplexity (OAuth). Keys go in the Authorization header only (22 of 30, as on the Decisions API listing). Search only reads, and MCP clients can disable tools, but any key reaches every API on the account, including the Agent API's sandbox and MCP tools (8 of 20). Snippets are third-party page text, and no guidance on treating them as untrusted was found in the docs, the MCP server or its SECURITY.md (0 of 15). Responses carry a request `id`, and the console shows usage by key. The Audit API covers enterprise organisations' web app events with its own keys, not API calls (8 of 15). security.txt valid until 31 December 2027 linking a security page, a SOC 2 Type II report, a 2025 HIPAA gap assessment and a CAIQlite listed on the trust centre, and a SECURITY.md on the MCP server that takes private reports through GitHub advisories or security@perplexity.ai. The trust centre is drawn by script and wasn't read (18 of 20). 22 + 8 + 0 + 8 + 18 = 56.",
          "b": "Many keys per account, each revocable and rotatable with an optional monthly credit limit, stored as SHA-256 hashes, with no scopes. Since 9 October the MCP server also takes OAuth (authorisation code with PKCE, dynamic client registration, rotating refresh tokens, one `mcp` scope), each connection running as a named, revocable API key, while REST still needs a key (20). The docs allow the key as `?api_key=` on GET requests (minus 10). Search is read-only, and per-key limits and an account spend cap bound cost, but there's no read-only key, and the MCP server exposes crawl alongside search with no confirmation step we could see (10). Results include third-party snippets and full page Markdown, and we found no prompt-injection guidance (0). The dashboard request log keeps per-call metadata (endpoint, status, credits, key) for 31 days with CSV export, and each key records who created it (12). security.txt returns 404. The security page has a disclosure policy with acknowledgement in 2 business days, no paid bug bounty and SOC 2 marked as not yet started (5)."
        },
        "scores": {
          "a": 56,
          "b": 37
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "serpkite",
        "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": "No x402, MPP or L402 in llms.txt, the OpenAPI spec or the pricing page (0). Per-pack and per-credit prices published without a login, $1.00 to $0.60 per 1,000 (20). Free credits on signup and 1,000 a month with no card, per the quickstart and home page (20). A person signs in by email, GitHub or Google in a browser (0)."
        },
        "scores": {
          "a": 25,
          "b": 40
        }
      },
      {
        "by": 12,
        "category": "ergonomics",
        "leads": "serpkite",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`max_results` 1 to 20, `max_tokens` and `max_tokens_per_page` cap the extracted text, and results are title, url, snippet and two dates. The MCP server has four tools (23 of 25). Domain, language, recency, publication and update date filters and `country`, with up to five queries in one request. No pagination or offset (16 of 20). 429 bodies name the limit hit, the SDKs map status codes to typed errors, and 402 marks an empty balance. Search-specific error bodies beyond 422 validation are not documented (13 of 20). Searches only read, failed and rate-limited requests are not billed, and the MCP server sets readOnlyHint true, destructiveHint false and idempotentHint false on every tool (18 of 20). Only `query` is required. Official Python and TypeScript SDKs, a CLI and a Python Search SDK (15). 23 + 16 + 13 + 18 + 15 = 85.",
          "b": "`format=markdown` or `compact`, `fields` projection, `num` and an `X-Tokens-Estimate` header size REST responses. The MCP server now has 23 tools with no toolsets or read-only subset we could find (22). `page`, `num` up to 100, country, language, location, time, domain include, exclude and boost, date bounds, `highlights` and `max_tokens` on extract (20). Stable error codes with a retry column, and errors are never billed (20). Searches are read-only, failed and empty calls are refunded, and batch creation takes `Idempotency-Key`. Since 9 October 2026 the changelog says every MCP tool carries `readOnlyHint`, `destructiveHint`, `idempotentHint` and `openWorldHint`, with all read-only except `crawl`, and on 2 November the MCP page says every tool is read-only except `crawl` and `research`, which start paid tasks, and none is destructive (20). Only `q` or `url` is required, and official SDKs exist for TypeScript, Python and Go with retries built in (15). 22+20+20+20+15 = 97."
        },
        "scores": {
          "a": 85,
          "b": 97
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "serpkite",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms naming Perplexity AI, Inc. and California law. The MCP server is MIT and the SDKs Apache-2.0 (18 of 30). The terms and DPA say Customer Content and personal data don't train Perplexity's models, the DPA deletes personal data within 30 days of the service ending, and the Privacy and Security page says retention varies by API and zero data retention is not the default. The DPA also says Perplexity Search may follow different data terms, which weren't found, and no retention period for search queries is stated (15 of 30). Sonar Chat Completions support ended on 27 September 2026 with a migration guide and requests reformulated rather than refused, and sonar-reasoning was removed on 15 December 2025 with a named replacement. Notices are dated by month and there is no standing notice period beyond the terms' 30 days for termination (10 of 20). A sub-processor list on the trust centre, which is drawn by script and wasn't read, ten business days' notice of new non-model subprocessors, and SCCs for EU and UK transfers. No data location is stated (8 of 20). 18 + 15 + 10 + 8 = 51.",
          "b": "Closed API under terms that name the operator, an Ontario address and governing law, with the SDKs and the MCP connection repository MIT (18). The privacy policy, DPA page, retention doc and security page agree that query text of successful requests isn't logged, usage metadata lasts 31 days and batch results 24 hours. On 26 October failed and empty requests began keeping their query for 24 hours, and the changelog says the privacy policy, terms and DPA were updated the same day (27). The terms promise 30 days' notice before removing an endpoint, with exceptions for changes forced by a third party. AI Overview, AI Mode and Lens were removed in the first week without notice under that exception, and the reviews limit of 16 October came the same way, while a batch price change for 23 November 2026 was announced ahead (14). Subprocessors named with purpose and location, including Contabo in Germany, Cloudflare, Paddle, Resend, PostHog EU and Better Stack, with 30 days' notice of changes (20)."
        },
        "scores": {
          "a": 66,
          "b": 77
        }
      },
      {
        "by": 5,
        "category": "reliability",
        "leads": "perplexity-search-api",
        "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": "Hosted API, read with the hosted lines. Better Stack status page at status.serpkite.com with four monitors (api.serpkite.com/healthz, dashboard API, dashboard, website) and daily bars (20). Monitoring began on 2 October 2026, so the record covers 31 days of the 90 from 4 August. The page's own figures give 99.978 per cent uptime over 30 days for the API health monitor and 99.971 for the dashboard API, the 5 October check saw 29 to 41 minutes of downtime on each monitor on 2 October and 19 seconds on 3 October, and the feed has never carried an incident post. No outage reached an hour. A readable record shorter than 90 days with nothing major scores 15, as this run settled for short records. Rate limits published per key, 5 to 100 requests a second by pack (15). 429 `rate_limited` with Retry-After, backoff guidance for 429 and 503, and `Idempotency-Key` on batch creation (15). The terms say self-serve plans have no uptime guarantee and an enterprise SLA sits in a separate agreement we couldn't read (0). v1 API with no beta or preview label (10). 20+15+15+15+0+10 = 75."
        },
        "scores": {
          "a": 80,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Perplexity",
        "b": "SerpKite (Anastasia Klimova, trading as SerpKite)",
        "name": "Vendor"
      },
      {
        "a": "https://api.perplexity.ai/mcp",
        "b": "https://api.serpkite.com/v1/search",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$2.50 per 1,000 tool calls",
        "b": "not published",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "no",
        "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": "Proprietary service under SerpKite's terms of service. The SDKs (TypeScript, Python, Go, LangChain, Vercel AI SDK) and the MCP connection repository on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "23",
        "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.SerpKite/serpkite",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-23",
        "b": "2026-11-01",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-03",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-03",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "809 npm/wk, 376 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Perplexity Search API scores 70.2 (BB) on agent readiness against SerpKite's 67.6 (B), and leads in 3 of 7 scored categories. SerpKite leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Perplexity Search API or SerpKite?"
      },
      {
        "answer": "Perplexity Search API takes an API key or an OAuth sign-in. SerpKite needs an API key.",
        "question": "Do Perplexity Search API and SerpKite need an API key?"
      },
      {
        "answer": "Yes. Perplexity Search API has a hosted endpoint at https://api.perplexity.ai/mcp and SerpKite at https://api.serpkite.com/v1/search.",
        "question": "Can an agent call Perplexity Search API and SerpKite without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 75",
          "Security \u0026 auth, 56 against 37"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "No incidents deducted, where SerpKite loses 3 points for them"
        ],
        "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": [
          "Agent ergonomics, 97 against 85",
          "Payments \u0026 pricing, 40 against 25",
          "Transparency \u0026 trust, 77 against 66"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that want Google results and the top pages as Markdown in one call at a low per-1,000 price, with spend caps per key.",
        "slug": "serpkite",
        "watchFor": "Launched 29 September 2026 by a sole trader, with status monitoring only since 2 October"
      }
    ],
    "history": {
      "perplexity-search-api": null,
      "serpkite": [
        {
          "causes": [
            "product",
            "time"
          ],
          "date": "2026-11-02",
          "delta": 2.8,
          "from": 64.8,
          "fromGrade": "B",
          "to": 67.6,
          "toGrade": "B"
        }
      ]
    },
    "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-serpkite.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-serpkite.json",
        "title": "Arcmira vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Grounding with Bing Search vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Brave Search API + MCP vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Cloudflare Web Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "DeepSeek Search and Fetch API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Exa API + MCP vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Firecrawl MCP vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-serpkite.json",
        "title": "Grep AI vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Kagi Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Linkup vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Mojeek Web Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpkite"
      },
      {
        "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-serpkite.json",
        "title": "Parallel Search and Task APIs vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpkite"
      },
      {
        "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-specstream.json",
        "title": "Perplexity Search API vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.json",
        "title": "Perplexity Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search.json",
        "title": "Perplexity Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu.json",
        "title": "Perplexity Search API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api.json",
        "title": "Perplexity Search API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-serpkite.json",
        "title": "SearchAPI.io vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-serpkite.json",
        "title": "SerpApi vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-serpkite.json",
        "title": "Serper vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serper-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpkite-vs-specstream.json",
        "title": "SerpKite vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-specstream"
      },
      {
        "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/serpkite-vs-tinyfish-search.json",
        "title": "SerpKite vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpkite-vs-valyu.json",
        "title": "SerpKite vs Valyu",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpkite-vs-you-com-api.json",
        "title": "SerpKite vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/serpkite-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/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/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/fetch-reference-server-vs-serpkite.json",
        "title": "Fetch (MCP reference server) vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.json",
        "title": "NewsCatcher vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liner-mcp-vs-serpkite.json",
        "title": "Liner Search MCP vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/liner-mcp-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-serpkite.json",
        "title": "SERPHouse vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-serpkite"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 5,
        "edge": "perplexity-search-api",
        "key": "reliability",
        "name": "Reliability",
        "perplexity-search-api": 80,
        "serpkite": 75,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "serpkite",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "perplexity-search-api": 89,
        "serpkite": 90,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "serpkite",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "perplexity-search-api": 85,
        "serpkite": 97,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "perplexity-search-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "perplexity-search-api": 56,
        "serpkite": 37,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "serpkite",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "perplexity-search-api": 25,
        "serpkite": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "perplexity-search-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "perplexity-search-api": 82,
        "serpkite": 80,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "serpkite",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "perplexity-search-api": 66,
        "serpkite": 77,
        "weight": 7
      }
    ],
    "summary": "Perplexity Search API scores 70.2 (BB) on agent readiness against SerpKite's 67.6 (B), and leads in 3 of 7 scored categories. SerpKite leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do web search.",
    "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.",
      "serpkite": "Google SERP API with an OpenAPI 3.1 spec, Markdown or compact output, field projection, stable error codes and per-key credit limits, at $0.60 to $1.00 per 1,000 on packs that don't expire. The service launched on 29 September 2026 from a sole trader, with a month of status history and frequent same-day contract changes."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite",
    "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.min.md"
  },
  "markdown": "Perplexity Search API scores 70.2 (BB) on agent readiness against SerpKite's 67.6 (B), and leads in 3 of 7 scored categories. SerpKite leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do web search.\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- SerpKite: grade B, 67.6/100, rank #314 of 1510. Markdown https://www.anchorterminal.com/tools/serpkite.md · JSON https://www.anchorterminal.com/api/v1/tools/serpkite.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\nAhead on:\n- Reliability, 80 against 75\n- Security \u0026 auth, 56 against 37\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- No incidents deducted, where SerpKite loses 3 points for them\n\nWatch for: The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA\n\n### SerpKite (B)\n\nGood for: Agents that want Google results and the top pages as Markdown in one call at a low per-1,000 price, with spend caps per key.\n\nAhead on:\n- Agent ergonomics, 97 against 85\n- Payments \u0026 pricing, 40 against 25\n- Transparency \u0026 trust, 77 against 66\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Launched 29 September 2026 by a sole trader, with status monitoring only since 2 October\n\n\n## Why the edge\n\n### Security \u0026 auth: Perplexity Search API +19\n\n- Perplexity Search API (56): Project API keys, shown once, revocable, and generated and revoked through two documented endpoints with a rotation guide. No per-key scopes or spending limits were found. The hosted MCP server also takes Sign in with Perplexity (OAuth). Keys go in the Authorization header only (22 of 30, as on the Decisions API listing). Search only reads, and MCP clients can disable tools, but any key reaches every API on the account, including the Agent API's sandbox and MCP tools (8 of 20). Snippets are third-party page text, and no guidance on treating them as untrusted was found in the docs, the MCP server or its SECURITY.md (0 of 15). Responses carry a request `id`, and the console shows usage by key. The Audit API covers enterprise organisations' web app events with its own keys, not API calls (8 of 15). security.txt valid until 31 December 2027 linking a security page, a SOC 2 Type II report, a 2025 HIPAA gap assessment and a CAIQlite listed on the trust centre, and a SECURITY.md on the MCP server that takes private reports through GitHub advisories or security@perplexity.ai. The trust centre is drawn by script and wasn't read (18 of 20). 22 + 8 + 0 + 8 + 18 = 56.\n- SerpKite (37): Many keys per account, each revocable and rotatable with an optional monthly credit limit, stored as SHA-256 hashes, with no scopes. Since 9 October the MCP server also takes OAuth (authorisation code with PKCE, dynamic client registration, rotating refresh tokens, one `mcp` scope), each connection running as a named, revocable API key, while REST still needs a key (20). The docs allow the key as `?api_key=` on GET requests (minus 10). Search is read-only, and per-key limits and an account spend cap bound cost, but there's no read-only key, and the MCP server exposes crawl alongside search with no confirmation step we could see (10). Results include third-party snippets and full page Markdown, and we found no prompt-injection guidance (0). The dashboard request log keeps per-call metadata (endpoint, status, credits, key) for 31 days with CSV export, and each key records who created it (12). security.txt returns 404. The security page has a disclosure policy with acknowledgement in 2 business days, no paid bug bounty and SOC 2 marked as not yet started (5).\n\n### Payments \u0026 pricing: SerpKite +15\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- SerpKite (40): No x402, MPP or L402 in llms.txt, the OpenAPI spec or the pricing page (0). Per-pack and per-credit prices published without a login, $1.00 to $0.60 per 1,000 (20). Free credits on signup and 1,000 a month with no card, per the quickstart and home page (20). A person signs in by email, GitHub or Google in a browser (0).\n\n### Agent ergonomics: SerpKite +12\n\n- Perplexity Search API (85): `max_results` 1 to 20, `max_tokens` and `max_tokens_per_page` cap the extracted text, and results are title, url, snippet and two dates. The MCP server has four tools (23 of 25). Domain, language, recency, publication and update date filters and `country`, with up to five queries in one request. No pagination or offset (16 of 20). 429 bodies name the limit hit, the SDKs map status codes to typed errors, and 402 marks an empty balance. Search-specific error bodies beyond 422 validation are not documented (13 of 20). Searches only read, failed and rate-limited requests are not billed, and the MCP server sets readOnlyHint true, destructiveHint false and idempotentHint false on every tool (18 of 20). Only `query` is required. Official Python and TypeScript SDKs, a CLI and a Python Search SDK (15). 23 + 16 + 13 + 18 + 15 = 85.\n- SerpKite (97): `format=markdown` or `compact`, `fields` projection, `num` and an `X-Tokens-Estimate` header size REST responses. The MCP server now has 23 tools with no toolsets or read-only subset we could find (22). `page`, `num` up to 100, country, language, location, time, domain include, exclude and boost, date bounds, `highlights` and `max_tokens` on extract (20). Stable error codes with a retry column, and errors are never billed (20). Searches are read-only, failed and empty calls are refunded, and batch creation takes `Idempotency-Key`. Since 9 October 2026 the changelog says every MCP tool carries `readOnlyHint`, `destructiveHint`, `idempotentHint` and `openWorldHint`, with all read-only except `crawl`, and on 2 November the MCP page says every tool is read-only except `crawl` and `research`, which start paid tasks, and none is destructive (20). Only `q` or `url` is required, and official SDKs exist for TypeScript, Python and Go with retries built in (15). 22+20+20+20+15 = 97.\n\n### Transparency \u0026 trust: SerpKite +11\n\n- Perplexity Search API (66): Closed service under terms naming Perplexity AI, Inc. and California law. The MCP server is MIT and the SDKs Apache-2.0 (18 of 30). The terms and DPA say Customer Content and personal data don't train Perplexity's models, the DPA deletes personal data within 30 days of the service ending, and the Privacy and Security page says retention varies by API and zero data retention is not the default. The DPA also says Perplexity Search may follow different data terms, which weren't found, and no retention period for search queries is stated (15 of 30). Sonar Chat Completions support ended on 27 September 2026 with a migration guide and requests reformulated rather than refused, and sonar-reasoning was removed on 15 December 2025 with a named replacement. Notices are dated by month and there is no standing notice period beyond the terms' 30 days for termination (10 of 20). A sub-processor list on the trust centre, which is drawn by script and wasn't read, ten business days' notice of new non-model subprocessors, and SCCs for EU and UK transfers. No data location is stated (8 of 20). 18 + 15 + 10 + 8 = 51.\n- SerpKite (77): Closed API under terms that name the operator, an Ontario address and governing law, with the SDKs and the MCP connection repository MIT (18). The privacy policy, DPA page, retention doc and security page agree that query text of successful requests isn't logged, usage metadata lasts 31 days and batch results 24 hours. On 26 October failed and empty requests began keeping their query for 24 hours, and the changelog says the privacy policy, terms and DPA were updated the same day (27). The terms promise 30 days' notice before removing an endpoint, with exceptions for changes forced by a third party. AI Overview, AI Mode and Lens were removed in the first week without notice under that exception, and the reviews limit of 16 October came the same way, while a batch price change for 23 November 2026 was announced ahead (14). Subprocessors named with purpose and location, including Contabo in Germany, Cloudflare, Paddle, Resend, PostHog EU and Better Stack, with 30 days' notice of changes (20).\n\n### Reliability: Perplexity Search API +5\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- SerpKite (75): Hosted API, read with the hosted lines. Better Stack status page at status.serpkite.com with four monitors (api.serpkite.com/healthz, dashboard API, dashboard, website) and daily bars (20). Monitoring began on 2 October 2026, so the record covers 31 days of the 90 from 4 August. The page's own figures give 99.978 per cent uptime over 30 days for the API health monitor and 99.971 for the dashboard API, the 5 October check saw 29 to 41 minutes of downtime on each monitor on 2 October and 19 seconds on 3 October, and the feed has never carried an incident post. No outage reached an hour. A readable record shorter than 90 days with nothing major scores 15, as this run settled for short records. Rate limits published per key, 5 to 100 requests a second by pack (15). 429 `rate_limited` with Retry-After, backoff guidance for 429 and 503, and `Idempotency-Key` on batch creation (15). The terms say self-serve plans have no uptime guarantee and an enterprise SLA sits in a separate agreement we couldn't read (0). v1 API with no beta or preview label (10). 20+15+15+15+0+10 = 75.\n\n## Score by category\n\n| Category | Weight | Perplexity Search API | SerpKite | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 75 | Perplexity Search API +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 90 | SerpKite +1 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 97 | SerpKite +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 37 | Perplexity Search API +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 40 | SerpKite +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 80 | Perplexity Search API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 77 | SerpKite +11 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **70.2 · BB** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | Perplexity Search API | SerpKite |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Perplexity | SerpKite (Anastasia Klimova, trading as SerpKite) |\n| Hosted endpoint | `https://api.perplexity.ai/mcp` | `https://api.serpkite.com/v1/search` |\n| Transports | Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| Price for web search | $2.50 per 1,000 tool calls | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0 | Proprietary service under SerpKite's terms of service. The SDKs (TypeScript, Python, Go, LangChain, Vercel AI SDK) and the MCP connection repository on GitHub are MIT |\n| Tools exposed | 4 | 23 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `ai.perplexity/mcp-server` | `io.github.SerpKite/serpkite` |\n| Last release | 2026-10-23 | 2026-11-01 |\n| Terms last updated | couldn't be read | 2026-10-03 |\n| Privacy policy last updated | couldn't be read | 2026-10-03 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 809 npm/wk, 376 PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### Perplexity Search API\n\nNo score change since it was listed.\n\n### SerpKite\n\n- +2.8 on 2 November 2026: product, time\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**SerpKite.** Google SERP API with an OpenAPI 3.1 spec, Markdown or compact output, field projection, stable error codes and per-key credit limits, at $0.60 to $1.00 per 1,000 on packs that don't expire. The service launched on 29 September 2026 from a sole trader, with a month of status history and frequent same-day contract changes.\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### SerpKite\n\n1. Send the key as `Authorization: Bearer`, not `?api_key=`, and give the agent a dedicated key with a monthly credit limit\n2. Ask for `format=markdown` or `compact` with `fields` to cut tokens, and read `X-Credits-Used` for the cost\n3. Keep `engine=google` for rank work. Check `meta.engine` when a key allows fallback engines\n4. On 429 `rate_limited` or 503 upstream codes, wait for Retry-After and retry. `daily_limit_reached`, `account_restricted` (403) and 402 need a purchase\n5. Treat page Markdown from `include_content`, `webpage` and `extract` as untrusted text\n\n## Questions\n\n### Which is better for AI agents, Perplexity Search API or SerpKite?\n\nPerplexity Search API scores 70.2 (BB) on agent readiness against SerpKite's 67.6 (B), and leads in 3 of 7 scored categories. SerpKite leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Perplexity Search API and SerpKite need an API key?\n\nPerplexity Search API takes an API key or an OAuth sign-in. SerpKite needs an API key.\n\n### Can an agent call Perplexity Search API and SerpKite without installing anything?\n\nYes. Perplexity Search API has a hosted endpoint at https://api.perplexity.ai/mcp and SerpKite at https://api.serpkite.com/v1/search.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.json, and with the fewest tokens: https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"perplexity-search-api\", \"b\": \"serpkite\"}`. From a terminal: `anchor compare perplexity-search-api serpkite`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/perplexity-search-api.json and https://www.anchorterminal.com/api/v1/tools/serpkite.json\n\n## Other comparisons with Perplexity Search API or SerpKite\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 SerpKite](https://www.anchorterminal.com/compare/agentcore-web-search-vs-serpkite.md)\n- [Arcmira vs SerpKite](https://www.anchorterminal.com/compare/arcmira-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/bing-grounding-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/brave-search-mcp-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/exa-mcp-vs-serpkite.md)\n- [Firecrawl MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-perplexity-search-api.md)\n- [Firecrawl MCP vs SerpKite](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serpkite.md)\n- [Grep AI vs SerpKite](https://www.anchorterminal.com/compare/grep-ai-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/kagi-search-vs-serpkite.md)\n- [Linkup vs Perplexity Search API](https://www.anchorterminal.com/compare/linkup-vs-perplexity-search-api.md)\n- [Linkup vs SerpKite](https://www.anchorterminal.com/compare/linkup-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/mojeek-vs-serpkite.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 SerpKite](https://www.anchorterminal.com/compare/parallel-search-api-vs-serpkite.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 SpecStream](https://www.anchorterminal.com/compare/perplexity-search-api-vs-specstream.md)\n- [Perplexity Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.md)\n- [Perplexity Search API vs TinyFish Search](https://www.anchorterminal.com/compare/perplexity-search-api-vs-tinyfish-search.md)\n- [Perplexity Search API vs Valyu](https://www.anchorterminal.com/compare/perplexity-search-api-vs-valyu.md)\n- [Perplexity Search API vs You.com APIs](https://www.anchorterminal.com/compare/perplexity-search-api-vs-you-com-api.md)\n- [SearchAPI.io vs SerpKite](https://www.anchorterminal.com/compare/searchapi-io-vs-serpkite.md)\n- [SerpApi vs SerpKite](https://www.anchorterminal.com/compare/serpapi-vs-serpkite.md)\n- [Serper vs SerpKite](https://www.anchorterminal.com/compare/serper-vs-serpkite.md)\n- [SerpKite vs SpecStream](https://www.anchorterminal.com/compare/serpkite-vs-specstream.md)\n- [SerpKite vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp.md)\n- [SerpKite vs TinyFish Search](https://www.anchorterminal.com/compare/serpkite-vs-tinyfish-search.md)\n- [SerpKite vs Valyu](https://www.anchorterminal.com/compare/serpkite-vs-valyu.md)\n- [SerpKite vs You.com APIs](https://www.anchorterminal.com/compare/serpkite-vs-you-com-api.md)\n- [Arcmira vs Perplexity Search API](https://www.anchorterminal.com/compare/arcmira-vs-perplexity-search-api.md)\n- [Grep AI vs Perplexity Search API](https://www.anchorterminal.com/compare/grep-ai-vs-perplexity-search-api.md)\n- [Liner Search MCP vs Perplexity Search API](https://www.anchorterminal.com/compare/liner-mcp-vs-perplexity-search-api.md)\n- [Fetch (MCP reference server) vs SerpKite](https://www.anchorterminal.com/compare/fetch-reference-server-vs-serpkite.md)\n- [NewsCatcher vs SerpKite](https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.md)\n- [Liner Search MCP vs SerpKite](https://www.anchorterminal.com/compare/liner-mcp-vs-serpkite.md)\n- [SERPHouse vs SerpKite](https://www.anchorterminal.com/compare/serphouse-vs-serpkite.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 SerpKite",
        "url": ""
      }
    ],
    "description": "Perplexity Search scores 70.2 (BB) to SerpKite's 67.6 (B) for web search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Perplexity Search API BB 70.2",
      "SerpKite B 67.6",
      "scores"
    ],
    "h1": "Perplexity Search API vs SerpKite",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/perplexity-search-api-vs-serpkite",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Perplexity Search vs SerpKite for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpkite"
  },
  "tokens": {
    "markdown": 5950,
    "slim": 3330
  },
  "version": 1
}
