{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Official Client Libraries","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Kagi API provides programmatic access to data that powers our search results & more."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get started on the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.com/api"},"children":["API Dashboard"]}," to set up billing, manage API keys, and more."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See our ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.com/api/pricing"},"children":["API Pricing"]}," page for standard rates."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"official-client-libraries"},"children":["Official Client Libraries"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We offer the following libraries you can use to interact with the Kagi API. These are generated from an OpenAPI spec."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://github.com/kagisearch/kagi-openapi-golang"},"children":["Golang"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://github.com/kagisearch/kagi-openapi-python"},"children":["Python"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://github.com/kagisearch/kagi-openapi-typescript"},"children":["TypeScript"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://github.com/kagisearch/kagi-openapi-rust"},"children":["Rust"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you have a language you would like to use and it's not in the list, send us a message and we will add it to the list if it is supported. Or you can use the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.redocly.app/_spec/openapi.yaml?download"},"children":["spec"]}," to build your own custom library."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the future we will most likely offer more crafted API wrappers and spotlight clients and applications built by our community - feel free to send them to us!"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"mcp"},"children":["MCP"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We offer a hosted MCP server at: https://mcp.kagi.com/mcp"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At this time, we do not support setup via OAuth2 flow, but this is on our roadmap. You will need to get your ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.com/api/keys"},"children":["API key from the dashboard"]}," and plug it into your local client with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Bearer"]}," HTTP authentication."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here is an example to get started with Claude Code:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header \"Authorization: Bearer $(read -sp 'API key: ' k; echo $k)\" --scope user\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can review and contribute to our ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://github.com/kagisearch/kagimcp/tree/rehan/v1-api"},"children":["MCP server on GitHub"]},"!"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"support"},"children":["Support"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For bug reports, feature requests, or billing related issues please reach out to ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/mailto:developers@kagi.com"},"children":["developers@kagi.com"]}," and we will be happy to assist you."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To help us answer your reports efficiently, please be prepared to provide as much info as you can:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For bugs, include request trace IDs from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["meta.trace"]}," response field or the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Kagi-Trace"]}," response header."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If issues are easily reproduced in our ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.com/api/playground/search"},"children":["playground"]},", send us a link to the playground - the URL will contain parameters to configure the request so that we can reproduce ourselves."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Include any code snippets or precise descriptions of the request you are making, and full samples of the response bodies from the API"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Include mention of which wrapper you are using if any, or links to relevant application code we can review"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Include the email address associated with your Kagi login if it is not the one you are emailing from"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Thank you!"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"discord"},"children":["Discord"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Join our ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api/docs/https://kagi.com/discord"},"children":["Discord"]},"! Good for quick questions or chatting about things you've made with our APIs!"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the server you will find the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["#api"]}," forum for API related inquiries."]}]},"headings":[{"value":"Official Client Libraries","id":"official-client-libraries","depth":3},{"value":"MCP","id":"mcp","depth":3},{"value":"Support","id":"support","depth":3},{"value":"Discord","id":"discord","depth":3}],"frontmatter":{"seo":{"title":"Official Client Libraries"}},"lastModified":"2026-05-21T18:11:09.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/description","userData":{"isAuthenticated":false,"teams":["anonymous"]}}