Documentation Index
Fetch the complete documentation index at: https://kagi.micr.dev/llms.txt
Use this file to discover all available pages before exploring further.
kagi news
Read Kagi News from the public JSON endpoints. This command requires no authentication and provides access to Kagi’s curated news feed.

Synopsis
Description
Thekagi news command fetches the latest news from Kagi’s public news endpoints. Unlike search commands, this requires no authentication and can be used immediately after installation.
Kagi News provides a curated selection of important stories across various categories, updated throughout the day. You can also apply local content filters with built-in presets or custom keywords before the CLI emits JSON.
Authentication
Required: None This command works without any tokens, making it ideal for:- Testing your installation
- Daily news briefings
- Public information gathering
- Unauthenticated environments
Options
--category <CATEGORY>
News category to fetch.
Default: world
Available Categories: use kagi news --list-categories to inspect the live category inventory. The available set changes over time and may include both core and community categories.
Example:
--limit <COUNT>
Number of stories to return.
Type: Integer
Default: 12
Constraint: must be greater than 0
Example:
--lang <LANG>
Language for news content.
Default: default (uses Kagi’s default)
Values: Language codes as supported
Example:
--list-categories
List available news categories instead of fetching news.
Example:
--chaos
Get the current Kagi News chaos index.
The chaos index measures the level of disruption and uncertainty in current news cycles.
Example:
--list-filter-presets
List built-in content-filter presets instead of fetching stories.
Example:
--filter-preset <PRESET_ID>
Apply a built-in content-filter preset. Repeat the flag to combine multiple presets.
Use kagi news --list-filter-presets to inspect available ids.
Example:
--filter-keyword <KEYWORD>
Apply a custom filter keyword. Repeat the flag to combine multiple keywords.
Example:
--filter-mode <MODE>
How to handle matching stories.
Default: hide
Values: hide, blur
hideremoves matching stories from.storiesblurkeeps matching stories in.storiesand tags them with_content_filter
--filter-scope <SCOPE>
Which story fields to inspect for keyword matches.
Default: all
Values: title, summary, all
titlechecks title and categorysummarychecksshort_summaryallalso checks perspectives, source names, story domains, and article links/domains
Output Format
News Response
Fields
| Field | Type | Description |
|---|---|---|
latest_batch | object | Metadata for the current news batch |
category | object | Resolved category metadata |
stories | array | Raw story payloads returned by Kagi News |
total_stories | string | Total number of stories in the category |
domains | array | Domain-level metadata from the feed |
read_count | integer | Aggregate read count for the category |
content_filter | object | Present when local content filters are active |
Filter Preset Response
Examples
Basic Usage
Content Filtering
Processing Output
Daily Briefing
Chaos Index
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (network, parsing, etc.) |
Troubleshooting
Empty results
- Try different category
- Check whether local content filters removed every story
- Check network connectivity
- Verify Kagi endpoints are accessible
”Failed to fetch”
- Check internet connection
- Verify DNS resolution:
nslookup kagi.com - Try with curl:
curl https://kagi.com