Skip to content
FOR AGENTS

Connect KVwire to your agent

MCP, RSS, API: three ways to read the same data (selected stories, trending, daily, weekly and monthly issues). Pick the one that fits your tools. All anonymous and read-only, no sign-up, no API key.

Service OKVersion 4.0.0Anonymous, read-only · no key
REST API · 4.0.0

Anonymous GETs, ready to use

No token: cross-origin browsers, curl and the default HTTP client of any language can call it directly. Paths are under /api/v1; fields and error codes follow the OpenAPI definition.

First request
curl --compressed 'https://kvwire.com/api/v1/items?mode=selected&window=24h&limit=20'

Filter by category

Add category to an items request to get one category; without it all categories are included. Returned items use the same values in their category.

CategoryParameter
Standards & Regulationcategory=standards
Grid Projectscategory=grid
Tenders & Contractscategory=tenders
Failures & Incidentscategory=incidents
Test Technologycategory=technology
Market & Businesscategory=business
Methods & Guidescategory=guides
Research & Analysiscategory=research

Lean and fast

  1. 01
    Compress

    Add --compressed to curl, or enable gzip or br in other clients. Compressed JSON is 1/4 to 1/8 of its size.

  2. 02
    Send the ETag

    Keep the ETag from the response and send If-None-Match next time; unchanged content returns 304 with no body.

  3. 03
    Keep the pace

    Items and trending at most once a minute; the daily once after daily at 08:00, the weekly and monthly once after they come out; when paging back, stop at an item you already have.

How often content changes: new items arrive throughout the day, the selection changes a few to a few dozen times a day, and the daily comes out daily at 08:00, the weekly Mondays at 10:00 and the monthly on the 1st of each month at 10:30 (UTC).

Endpoints

PathWhat it is forHow often
Items
/api/v1/itemsSelected or all updates from the last 7 days, filterable by category, window and keywordAt most once a minute
Trending and stories
/api/v1/hot-topicsThe current top 10At most once a minute
/api/v1/stories/{publicId}A story's coverage timeline, AI overview and related storiesWhen needed
Dailies
/api/v1/dailies/latestThe latest dailyOnce after daily at 08:00
/api/v1/dailies/{date}A given day's daily; retractions remove citationsRevalidate the ETag after the cache expires
/api/v1/dailiesIndex of daily datesOnce a day
Weeklies and monthlies
/api/v1/weeklies/latestThe latest weekly: lead story, overview and the week's highlights by sectionOnce after Mondays at 10:00
/api/v1/weeklies/{week}A given ISO week such as 2026-W39; retractions remove citationsRevalidate the ETag after the cache expires
/api/v1/weekliesIndex of weekliesOnce a week
/api/v1/monthlies/latestThe latest monthlyOnce after on the 1st of each month at 10:30
/api/v1/monthlies/{month}A given month such as 2026-09Revalidate the ETag after the cache expires
/api/v1/monthliesIndex of monthliesOnce a month
For AI assistants
/api/v1/agentThe guide for agents; the addresses it lists return edited English MarkdownWhen needed
Full selection sync
/api/v1/selected/snapshotThe whole current selection, pagedFirst time only
/api/v1/selected/changesAdditions, edits and removals sinceEvery few minutes

Common uses

bash
# First time: keep the ETag from the response headers
curl --compressed -i 'https://kvwire.com/api/v1/items?mode=selected&window=24h&limit=20'
# Then at most once a minute with the ETag; a 304 means nothing changed
curl --compressed -i -H 'If-None-Match: <last ETag>' 'https://kvwire.com/api/v1/items?mode=selected&window=24h&limit=20'

To page back, pass page.nextCursor back as cursor and stop at an item you already have, instead of re-reading 7 days each time.

When something goes wrong

400
Bad parameters: fix them per the OpenAPI definition and the returned code; do not switch to a wider query automatically. An invalid cursor, or one outside the window, returns invalid_cursor; start again from the first page.
409
snapshot_required: changes cannot safely continue; take a fresh full snapshot.
429
Too many requests: wait as Retry-After says and do not retry in parallel.
5xx
Back off exponentially and use the last successful result meanwhile; the public service has no SLA.

Anonymous access does not mean every use is permitted; see the Terms of Use。