kagi CLI
Reference

API and Product Coverage

This document summarizes what the kagi CLI implements today, which auth path it uses, and which product settings are now manageable from the terminal.

Currently Implemented

Current V1 OpenAPI Endpoints

These endpoints come from Kagi's current OpenAPI contract at https://kagi.com/api/docs/openapi and use KAGI_API_KEY with Bearer auth:

EndpointCommandStatus
Search API (POST /api/v1/search)kagi search✅ Implemented for query, limit, and filters.region/after/before
Extract APIkagi extract✅ Implemented, including stdin URL filter mode

Current V1 Search optional fields not exposed by this CLI: workflow, API response format, lens_id, inline lens, timeout, page, search-result extract, safe_search, and explicit personalization rule objects. Subscriber web-product features cover some adjacent workflows, but they are not represented as V1 OpenAPI request fields.

Legacy V0 APIs

These commands use Kagi's older public API surface with KAGI_API_TOKEN and Bot auth:

EndpointCommandStatus
Universal Summarizerkagi summarize✅ Implemented
FastGPTkagi fastgpt✅ Implemented
Web Enrichment (Teclis)kagi enrich web✅ Implemented
News Enrichment (TinyGem)kagi enrich news✅ Implemented

Subscriber Web Product Features

These features use the subscriber web product with KAGI_SESSION_TOKEN:

FeatureCommandStatus
Base searchkagi search✅ Implemented
Snap-prefixed searchkagi search --snap✅ Implemented
Lens searchkagi search --lens✅ Implemented for numeric indexes and exact enabled lens names
Filtered searchkagi search --region/--from-date/--to-date on V1 API or session path; --time/--order/... on session path✅ Implemented
Quick Answerkagi quick✅ Implemented
Web Summarizerkagi summarize --subscriber✅ Implemented
Search result summarize pipelinekagi search --follow✅ Implemented
Assistant prompt + thread managementkagi assistant✅ Implemented, including prompt contracts
Assistant terminal REPLkagi assistant repl✅ Implemented
Custom assistant managementkagi assistant custom✅ Implemented
Ask questions about a pagekagi ask-page✅ Implemented
Translate (text mode)kagi translate✅ Implemented
Lens settingskagi lens✅ Implemented
Custom bang settingskagi bang custom✅ Implemented
Redirect rule settingskagi redirect✅ Implemented
Local domain preferenceskagi site-pref✅ Implemented locally

Public Product Endpoints

These require no authentication:

EndpointCommandStatus
Kagi Newskagi news✅ Implemented
Small Web feedkagi smallweb✅ Implemented
News categorieskagi news --list-categories✅ Implemented
Chaos indexkagi news --chaos✅ Implemented

Command Coverage Summary

CommandDescriptionAuthStatus
searchBase Kagi searchAPI or Session✅
search --snapSnap-prefixed searchAPI or Session✅
search --lensLens-aware search by numeric index or exact enabled nameSession✅
search with filtersRegion, time, date, order, verbatim, personalization filtersSession✅
search --templateLightweight result templatesAPI or Session✅
search --followSearch plus subscriber summaries for top resultsSession✅
batchParallel search with shared search optionsAPI or Session✅
batch via stdinParallel search from stdin linesAPI or Session✅
authCredential managementNone✅
usage / billingAccount billing and calendar-month usageSession✅
completionGenerate and install shell completionsNoneImplemented
--profileNamed auth profiles from the config file (~/.config/kagi-cli/config.toml)None✅
summarizePublic API summarizerAPI✅
summarize --subscriberWeb summarizerSession✅
summarize --filterSummarize stdin items as URLs or textAPI or Session✅
extractExtract page content as markdown or stdin URL JSONL recordsAPI✅
watchSearch diff monitoringAPI or Session✅
notifyWebhook notifications for search/newsAPI, Session, or None✅
historyLocal history and statsNone✅
newsNews feed and metadataNone✅
quickQuick AnswerSession✅
assistantAI assistant prompt + thread managementSession✅
assistant replContinuous Assistant conversationSession✅
assistant customSaved assistant CRUDSession✅
ask-pagePage-focused Assistant questionSession✅
translateKagi Translate text modeSession✅
fastgptFast answersAPI✅
enrich webWeb enrichmentAPI✅
enrich newsNews enrichmentAPI✅
smallwebSmall Web feedNone✅
mcpStdio MCP server for CLI-parity Kagi tools, with mutating tools gated by --enable-mutating-toolsAPI, Session, or None by tool✅
site-prefLocal domain preference list/set/removeNone✅
lensLens CRUD + enable/disableSession✅
bang customCustom bang CRUDSession✅
redirectRedirect CRUD + enable/disableSession✅

Output and Flag Coverage

Human-Readable Formats

CommandFormats
searchjson, toon, compact, pretty, markdown, csv
batchjson, toon, compact, pretty, markdown, csv
quickjson, toon, compact, pretty, markdown
assistantjson, toon, compact, pretty, markdown

Search Options

OptionCommandsStatus
--snapsearch, batch✅
--lenssearch, batch, quick✅
--regionsearch, batch✅
--timesearch, batch✅
--from-datesearch, batch✅
--to-datesearch, batch✅
--ordersearch, batch✅
--verbatimsearch, batch✅
--personalized / --no-personalizedsearch, batch, assistant✅
--templatesearch, batch✅
--local-cache / --cache-ttlsearch, summarize, quick, fastgpt✅
--error-formatglobalImplemented

Assistant and Settings Options

OptionCommandsStatus
--assistantassistant✅
--contract / --contract-fileassistantImplemented
--thread-idassistant✅
--modelassistant, assistant custom✅
--lensassistant, assistant custom✅
--web-access / --no-web-accessassistant, assistant custom✅
thread list/get/delete/exportassistant✅
custom list/get/create/update/deleteassistant✅
replassistant✅
--filterextractImplemented
list/get/create/update/deletelens✅
enable / disablelens, redirect✅
custom list/get/create/update/deletebang✅

Live Verification

Live subscriber CRUD and round-trip tests were run against the real product flows for:

  • custom assistants
  • lenses
  • custom bangs
  • redirect rules
  • assistant thread round-trip

After those tests, the account-level settings pages were checked directly to confirm cleanup and no leftover test data.

Not Available

Intentionally Excluded

  • Account-synced domain preference writes are not exposed because Kagi does not document a stable public write API for Personalized Results.
  • Kagi Translate document, image, website, proofread, dictionary, and voice modes are not exposed.
  • Search-time safe-search overrides are not exposed. Safe-search remains an account setting.

Notes

  • Base-search fallback to the session-token path only exists on kagi search and kagi batch, and only when API-first mode was selected.
  • Search filters and lens search remain session-only because they depend on Kagi's live web-product flow.
  • Settings management currently targets Kagi's authenticated settings forms, not public API endpoints.