Skip to content
FOR AGENTS

Connect Elephante Brief to your agent

MCP, RSS, API: three ways to the same data (top stories, the hot list, and the daily, weekly and monthly editions). Pick the one your tools use. All anonymous and read-only, no sign-up, no API key.

Service upVersion 4.0.0Anonymous, read-only · No key
REST API · 4.0.0

Anonymous GET, ready to use

No token: browsers (CORS), curl and every language's default HTTP client can call it directly. Paths are under /api/v1; the OpenAPI file defines fields and error codes.

Your first request
curl --compressed 'https://brief.elephantepress.com/api/v1/items?mode=selected&window=24h&limit=20'

Cheaper and faster

  1. 01
    Compress

    Add --compressed to curl, or turn on gzip or br in other clients. Compressed JSON is 1/4 to 1/8 the size.

  2. 02
    Send the ETag

    Keep the response's ETag and send it next time as If-None-Match; when nothing changed you get a 304 with no body.

  3. 03
    Keep a rhythm

    Items and the hot list at most once a minute; the daily once after it comes out (daily at 07:00), weeklies and monthlies once after they come out; when paging back, stop at the first item you already have.

How often things change: new items arrive all day, top stories change a few to a few dozen times a day, and editions come out daily at 07:00 (daily), Mondays at 10:00 (weekly) and on the 1st of each month at 10:30 (monthly), Beijing time.

Endpoints

PathWhat it's forHow often
Items
/api/v1/itemsTop stories, or all items from the last 7 days, filtered by category, time window or keywordAt most once a minute
Hot list and events
/api/v1/hot-topicsThe current top 10 hot listAt most once a minute
/api/v1/stories/{publicId}An event's report timeline, AI overview and related eventsAs needed
Daily edition
/api/v1/dailies/latestThe latest daily editionOnce, after 07:00 Beijing time
/api/v1/dailies/{date}A daily by date; withdrawn items drop outRevalidate the ETag once the cache expires
/api/v1/dailiesIndex of daily datesOnce a day
Weekly and monthly editions
/api/v1/weeklies/latestThe latest weekly: lead story, overview and the week's main stories by sectionOnce, after 10:00 on Mondays
/api/v1/weeklies/{week}One week by ISO week, e.g. 2026-W39; withdrawn items drop outRevalidate the ETag once the cache expires
/api/v1/weekliesIndex of weekliesOnce a week
/api/v1/monthlies/latestThe latest monthly editionOnce, after 10:30 on the 1st
/api/v1/monthlies/{month}One month, e.g. 2026-09Revalidate the ETag once the cache expires
/api/v1/monthliesIndex of monthliesOnce a month
For AI assistants
/api/v1/agentUsage notes for agents; the addresses it lists return ready-made MarkdownAs needed
Full top-story sync
/api/v1/selected/snapshotAll current top stories, pagedOnly the first time
/api/v1/selected/changesAdditions, edits and removals sinceEvery few minutes

Common recipes

bash
# First time: keep the ETag from the response headers
curl --compressed -i 'https://brief.elephantepress.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://brief.elephantepress.com/api/v1/items?mode=selected&window=24h&limit=20'

To page back, pass page.nextCursor back as cursor and stop at the first item you already have; don't re-read all 7 days each time.

When something fails

400
Bad parameters: fix them by the OpenAPI file and the returned code; don't fall back to a wider query. An invalid cursor, or one past the time window, returns invalid_cursor: start again from the first page.
409
snapshot_required: the changes can't safely continue; take a full snapshot again.
429
Too many requests: wait as Retry-After says, and don't retry concurrently.
5xx
Back off exponentially and use the last good result meanwhile; the public service has no SLA.

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