Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kagisearch/kite-public/llms.txt

Use this file to discover all available pages before exploring further.

Batches are the core publishing unit of Kagi News. Each batch represents a snapshot of the news at a point in time and contains one or more categories, each of which holds a set of story clusters. The endpoints below let you enumerate all published batches, jump straight to the latest one, and drill into per-batch metadata such as available languages, the Chaos Index score, and On This Day historical events.

List Batches

GET /api/batches
Returns a paginated list of all available batches, ordered most-recent first. Use this endpoint to discover batch IDs for subsequent requests.

Response

Returns a BatchesResponse object.
batches
BatchInfo[]
required
Ordered array of batch summary objects, most recent first.

Example

curl https://kite.kagi.com/api/batches
{
  "batches": [
    {
      "id": "01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b",
      "createdAt": "2024-11-15T08:00:00.000Z",
      "language": "en",
      "totalCategories": 12,
      "totalClusters": 148,
      "totalArticles": 1024,
      "chaosIndex": 62,
      "chaosDescription": "Moderately turbulent news cycle.",
      "chaosLastUpdated": "2024-11-15T09:30:00.000Z"
    }
  ]
}

Get Latest Batch

GET /api/batches/latest
Returns metadata for the most recently published batch. This is a convenience shortcut that avoids listing all batches and inspecting the first result.

Response

Returns a single BatchInfo object (same schema as each element of the batches array above).

Example

curl https://kite.kagi.com/api/batches/latest
{
  "id": "01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b",
  "createdAt": "2024-11-15T08:00:00.000Z",
  "language": "en",
  "totalCategories": 12,
  "totalClusters": 148,
  "totalArticles": 1024,
  "chaosIndex": 62,
  "chaosDescription": "Moderately turbulent news cycle.",
  "chaosLastUpdated": "2024-11-15T09:30:00.000Z"
}

Get Batch by ID

GET /api/batches/{batchId}
Returns metadata for a specific batch identified by its UUID.

Path Parameters

batchId
string
required
The UUID of the batch to retrieve. Obtain batch IDs from GET /api/batches or GET /api/batches/latest.

Response

Returns a single BatchInfo object.

Example

curl https://kite.kagi.com/api/batches/01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b
{
  "id": "01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b",
  "createdAt": "2024-11-15T08:00:00.000Z",
  "language": "en",
  "totalCategories": 12,
  "totalClusters": 148,
  "totalArticles": 1024
}

List Categories in a Batch

GET /api/batches/{batchId}/categories
Returns all categories available in the specified batch, along with story counts and read counters. Use the lang query parameter to request a localised view of the category list.

Path Parameters

batchId
string
required
UUID of the target batch.

Query Parameters

lang
string
BCP 47 language code (e.g. en, de, fr, ja). When supplied, the API returns category names and metadata localised to the requested language, if available. Falls back to the batch’s primary language when the requested language is not available.

Response

Returns a BatchCategoriesResponse object.
batchId
string
required
UUID of the batch these categories belong to.
createdAt
string
required
ISO 8601 datetime when the batch was published.
hasOnThisDay
boolean
required
true if the batch includes On This Day historical events for its date.
categories
object[]
required
Array of category summary objects.

Example

curl "https://kite.kagi.com/api/batches/01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b/categories?lang=en"
{
  "batchId": "01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b",
  "createdAt": "2024-11-15T08:00:00.000Z",
  "hasOnThisDay": true,
  "categories": [
    {
      "id": "cat-001",
      "categoryId": "world",
      "categoryName": "World",
      "timestamp": 1731657600,
      "readCount": 4210,
      "clusterCount": 18
    }
  ]
}

List Categories in the Latest Batch

GET /api/batches/latest/categories
Convenience shortcut that returns categories for the most recently published batch. Accepts the same lang query parameter and returns the same BatchCategoriesResponse structure as GET /api/batches/{batchId}/categories.

Query Parameters

lang
string
BCP 47 language code for localised category names.

Example

curl "https://kite.kagi.com/api/batches/latest/categories?lang=en"

Get Chaos Index

GET /api/batches/{batchId}/chaos
Returns the Chaos Index score and a short editorial summary for the specified batch. The Chaos Index is a 0–100 measure of how turbulent the day’s news cycle is — higher values indicate more breaking or disruptive news.

Path Parameters

batchId
string
required
UUID of the target batch.

Response

score
number
required
Chaos Index score from 0 (calm) to 100 (extremely turbulent).
summary
string
required
Short editorial description explaining the score in plain language.

Example

curl https://kite.kagi.com/api/batches/01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b/chaos
{
  "score": 62,
  "summary": "Moderately turbulent news cycle with several developing international stories."
}
Use GET /api/batches/latest/chaos as a shortcut to retrieve the Chaos Index for the most recent batch without needing to look up a batch ID first.

Get On This Day Events

GET /api/batches/{batchId}/onthisday
Returns a collection of historical events that occurred on the same calendar date as the batch. Events include birthdays, deaths, and notable occurrences, and are sourced from publicly available historical records.

Path Parameters

batchId
string
required
UUID of the target batch.

Query Parameters

lang
string
BCP 47 language code for localised event descriptions. Defaults to the batch’s primary language when omitted.

Response

Returns a LoadOnThisDayResponse object.
events
OnThisDayEvent[]
required
Array of historical event objects, sorted by sort_year.
timestamp
number
required
Unix timestamp (seconds) indicating when this On This Day data was generated.
language
string
required
The language code actually used for the response content. May differ from the requested lang if the requested language was unavailable.

Example

curl "https://kite.kagi.com/api/batches/01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b/onthisday?lang=en"
{
  "events": [
    {
      "year": "1969",
      "content": "Apollo 12 launched from Kennedy Space Center, the second crewed lunar landing mission.",
      "sort_year": 1969,
      "type": "event",
      "image": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Apollo_12_launch.jpg/320px-Apollo_12_launch.jpg"
    },
    {
      "year": "1738",
      "content": "William Herschel, astronomer and composer, born in Hanover.",
      "sort_year": 1738,
      "type": "person"
    }
  ],
  "timestamp": 1731657600,
  "language": "en"
}
Use GET /api/batches/latest/onthisday to fetch On This Day events for today’s batch without first looking up a batch ID.

List Available Languages

GET /api/batches/{batchId}/languages
Returns the set of languages for which this batch has been localised, together with completeness flags and content counts per language. Use this endpoint to determine which lang values are valid for other batch endpoints.

Path Parameters

batchId
string
required
UUID of the target batch.

Response

Returns a BatchLanguagesResponse object.
batchId
string
required
UUID of the batch these language records belong to.
languages
BatchLanguageInfo[]
required
Array of per-language availability records.

Example

curl https://kite.kagi.com/api/batches/01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b/languages
{
  "batchId": "01934d2a-b1c3-7e4f-a092-3f8c6d9e1a2b",
  "languages": [
    {
      "languageCode": "en",
      "isComplete": true,
      "totalCategories": 12,
      "totalClusters": 148,
      "totalArticles": 1024
    },
    {
      "languageCode": "de",
      "isComplete": true,
      "totalCategories": 12,
      "totalClusters": 148,
      "totalArticles": 1024
    },
    {
      "languageCode": "fr",
      "isComplete": false,
      "totalCategories": 8,
      "totalClusters": 96,
      "totalArticles": 640
    }
  ]
}

Build docs developers (and LLMs) love