Skip to content
AGENT ACCESS

Connect AiTopNews to your agent

The 3 ways in (MCP · RSS · API) read the same data: picks, the hot ranking, daily, weekly and monthly. Choose the one your tool supports. All anonymous and read-only: no sign-up and no API key.

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

Anonymous GET, ready to use

No token; browser cross-origin requests, curl and any language's default HTTP client can call it. Paths start with /api/v1; fields and error codes are in OpenAPI .

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

Filter by category

Add category to an items request to take one category only; leave it out for all. Items carry the same category values.

CategoryRequest parameter
AI modelscategory=ai-models
AI productscategory=ai-products
Industrycategory=industry
Researchcategory=paper
Tutorialscategory=tip
Opinioncategory=opinion

Cheap, and faster

  1. 01
    Turn on compression

    Add --compressed to curl, or turn on gzip or br in other clients. Compressed JSON is a quarter to an eighth of its size.

  2. 02
    Send the ETag

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

  3. 03
    Fetch at the right pace

    Items and the hot ranking at most once a minute; the daily once after every day at 08:00, the weekly and monthly once after each issue; when paging back, stop at the entry you already have.

How often content changes: items arrive all day, picks change a few dozen times a day, and the daily, weekly and monthly come out once each (Beijing time).

Endpoints

PathWhat it is forHow often
Items
/api/v1/itemsPicks or every item of the last 7 days, filterable by category, window and keywordAt most once a minute
Hot ranking and stories
/api/v1/hot-topicsThe current hot ranking, top 10At most once a minute
/api/v1/stories/{publicId}One event's timeline, AI digest and related eventsWhen needed
Daily
/api/v1/dailies/latestThe latest dailyOnce after every day at 08:00
/api/v1/dailies/{date}One date's daily; withdrawals remove citationsCheck the ETag before use once the cache expires
/api/v1/dailiesThe daily date indexOnce a day
Weekly and monthly
/api/v1/weeklies/latestThe latest weekly: lead, overview and the week's highlights by sectionOnce after every Monday at 10:00
/api/v1/weeklies/{week}One week, ISO such as 2026-W39; withdrawals remove citationsCheck the ETag before use once the cache expires
/api/v1/weekliesThe weekly indexOnce a week
/api/v1/monthlies/latestThe latest monthlyOnce after on the 1st of each month at 10:30
/api/v1/monthlies/{month}One month, such as 2026-09Check the ETag before use once the cache expires
/api/v1/monthliesThe monthly indexOnce a month
For AI assistants
/api/v1/agentUsage notes for agents; the addresses it lists return tidy MarkdownWhen needed
Full pick sync
/api/v1/selected/snapshotEvery current pick, paged onceOnly the first time
/api/v1/selected/changesNew, changed and withdrawn picks after thatEvery few minutes

Common recipes

bash
# First time: keep the ETag from the response headers\n# After that at most once a minute, sending the ETag; a 304 means unchanged\n
curl --compressed -i 'https://aitopnews.wiki/api/v1/items?mode=selected&window=24h&limit=20'
curl --compressed -i -H 'If-None-Match: <last ETag>' 'https://aitopnews.wiki/api/v1/items?mode=selected&window=24h&limit=20'

To page back, pass page.nextCursor back as the cursor and stop at the entry you already have; do not re-page seven days every time.

When something goes wrong

400
Wrong parameters: fix them as the OpenAPI and the returned code say; do not widen the query on your own. An invalid cursor or one outside the window returns invalid_cursor — start from the first page.
409
snapshot_required: the increment cannot continue safely; take a fresh full snapshot.
429
Too many requests: wait for Retry-After and do not retry concurrently.
5xx
Back off exponentially and keep using the last good result; a public service promises no SLA.

Anonymous access is not a license for every use: see theTerms.