# Kagi Search API (slim) > Kagi's Search API returns results from the Kagi search engine for web, image, video, news and podcast queries, with optional Markdown extraction of the top pages. It is a paid HTTP API in public preview, with a hosted MCP server. - Full: https://www.anchorterminal.com/tools/kagi-search.md (~7,850 tokens) · this version ~1,930 tokens · JSON https://www.anchorterminal.com/tools/kagi-search.json · canonical https://www.anchorterminal.com/tools/kagi-search - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-10 **D · 48.7/100 · rank #807 of 950 · #15 in Web search APIs · not agent-ready · confidence medium** Assessment: A public OpenAPI file, typed filters and API keys that can be limited by product and IP address make the API simple to call, at $12 per 1,000 searches. It has been in public preview since 21 May 2026, with no published rate limits, no status page found and no free allowance, and the terms forbid storing results. ## Facts - Kind: HTTP API · vendor: Kagi · category: Web search APIs · legal entity: Kagi Inc. · provenance 83/100 - Endpoint: `https://kagi.com/api/v1/search` (HTTP, Streamable HTTP, stdio) - Auth: API key · pricing: Pay per use · x402: no · licence: Proprietary service under the Kagi API Terms of Service. The MCP server is MIT and the OpenAPI file states Apache-2.0 - Probe metrics: not measured yet (probes haven't run) - Surface graded: The v1 HTTP API at `https://kagi.com/api/v1`, read from the OpenAPI file the docs link. The hosted MCP server and the open-source `kagimcp` package wrap the same two operations - Index: Kagi says results come from its own web index (Teclis) and news index (TinyGem), calls to other search providers, and sources such as Wolfram Alpha and Wikipedia. No index size is published - Result types: `workflow` is one of search, images, videos, news or podcasts. Responses group results under keys such as `search`, `image`, `video`, `news`, `podcast`, `adjacent_question`, `direct_answer` and `infobox` - Results per query: `limit` 1 to 1,024 and `page` 1 to 10. Without `limit` the API returns everything gathered in one pass - Full text or snippets: Snippets by default. `extract.count` (1 to 10) replaces the snippet of the top results with page Markdown. `POST /extract` takes 1 to 10 HTTPS URLs - Filters: Lens by ID or inline (sites and keywords included or excluded, file type, dates, region), `filters` for region and dates, `safe_search` (on by default), and up to 1,000 domain rules and 1,000 regex rewrite rules - Response format: JSON, or Markdown through `format`, which the reference marks experimental - Answer endpoint: None in v1. FastGPT and the Universal Summarizer are separate APIs, and the docs say the summariser is not yet available in v1 - Credentials: API keys created in the portal, each with a name, allowed products, an optional IP allow-list and a delete button. The portal shows use count and last-used time per key - Rate limits: Not published. The terms say limits and quotas apply per plan. 429 covers rate limiting and an exhausted usage limit. Custom rate limits are an enterprise item - Errors: An envelope with `meta.trace` and an `error` array of `code`, `url`, `message` and `location`. The reference says the error documentation URLs currently return 404 - Clients: Generated Python, TypeScript, Go and Rust clients on GitHub, last synced 26 May 2026. Python installs from git. `@kagi/api` was not on npm on 9 October 2026 - Data retention: Queries are not stored against the account. Load balancer and VM logs are kept 7 days and sampled Sentry errors 90 days. A Data Processing Addendum is not yet published - Contracting entity: Kagi Inc., a Delaware public benefit corporation, per the docs and privacy page. The API terms are under Delaware law and do not name the entity - Prices: Search $12 per 1,000 requests; Extract $4 per 1,000 pages - Scores: Reliability 8, Performance pending, Schema & documentation 71, Agent ergonomics 75, Security & auth 64, Payments & pricing 20, Task success pending, Maintenance & community 41, Transparency & trust 69 · total over the 7 assessed categories - Why: Reliability, No status page is linked from the API docs, the pricing page, the API terms or the changelog, and we did not type an address for one (0). · Schema & documentation, Public OpenAPI 3.0 file at kagi.com/api/docs/_spec/openapi.yaml, linked from the docs (25). · Agent ergonomics, `limit` caps results, extraction of page text is opt-in, snippet length follows an account setting, and an experimental Markdown response fo… · Security & auth, Several named keys an account, each limited to chosen products and optionally to IP addresses or ranges, revoked by deleting. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, The last dated API change is the Extract API fix in the changelog of 21 August 2026, 49 days before the check (20). · Transparency & trust, Closed service with clear API terms dated 22 September 2026. The MCP server is MIT and the OpenAPI file states Apache-2.0 (18). - Sources: 13, open questions: 9, both in the full twin - Capabilities: web.search, web.fetch, web.extract, search.news, search.images - JSON: https://www.anchorterminal.com/api/v1/tools/kagi-search.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/kagi-search.svg` or a link to https://www.anchorterminal.com/tools/kagi-search from a page on kagi.com or one of its subdomains, or the README of github.com/kagisearch/kagimcp, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Send `POST https://kagi.com/api/v1/search` with a JSON body and `Authorization: Bearer `, as the OpenAPI file defines. Only `query` is required 2. Set `limit` to cap results returned. In the mixed `search` workflow the MCP tool applies the cap to each result category separately 3. Use `extract.count` (1 to 10) only when page text is needed. Extraction is billed at the Extract rate on top of the search 4. Do not store results. The API terms allow only the transient caching an application needs, and require deletion on termination 5. On 429 back off before retrying. The response covers both rate limiting and an exhausted usage limit, and no `Retry-After` header is documented ## Connect ```bash uvx kagimcp ``` ```bash curl -X POST https://kagi.com/api/v1/search \ -H "Authorization: Bearer $KAGI_API_KEY" -H "Content-Type: application/json" \ -d '{"query":"steve jobs","workflow":"search"}' ``` ```bash claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header "Authorization: Bearer $(read -sp 'API key: ' k; echo $k)" --scope user ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/kagi-search ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Tavily API + MCP | BB | 76.8 | web.search, web.extract, web.fetch, search.news, search.images | https://www.anchorterminal.com/tools/tavily-mcp.min.md | | SerpKite | B | 64.8 | web.search, search.news, search.images, web.fetch, web.extract | https://www.anchorterminal.com/tools/serpkite.min.md | | You.com APIs | BB | 76.5 | web.search, web.fetch, web.extract, search.news | https://www.anchorterminal.com/tools/you-com-api.min.md | | Linkup | B | 68.9 | web.search, web.fetch, web.extract, search.images | https://www.anchorterminal.com/tools/linkup.min.md | | Brave Search API + MCP | B | 68 | web.search, web.extract, search.news, search.images | https://www.anchorterminal.com/tools/brave-search-mcp.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)