News
AI-analyzed market news — news feed, search, and detail endpoints. Supports locales en, zh-CN, zh-TW, fr, ru, es, ar, ko.
AI-analyzed market news, linked to assets, with a localized analysis block (direction / affected assets / impact). News locale ∈ en · zh-CN · zh-TW · fr · ru · es · ar · ko. When a locale's AI analysis isn't ready yet, the item falls back to its base (English) content. For shared conventions see Conventions.
News feed
GET /news — latest news, optionally filtered by asset, type, or hotness. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
assetSymbol | no | — | Only news linked to this asset (e.g. BTC) |
type | no | — | ALL · CRYPTO · STOCK · ETF · FOREX · COMMODITY |
category | no | all | all · hot-24h · hot-7d |
locale | no | en | Localized title/analysis |
page | no | 1 | |
limit | no | 100 | max 100 |
Example response for GET /news?assetSymbol=BTC&category=hot-24h&limit=1:
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"id": 100231,
"source": "NEWSAPI",
"title": "Bitcoin reclaims $60k as spot-ETF inflows resume",
"summary": "Bitcoin rose past $60,000 after three days of net ETF inflows…",
"url": "https://example.com/news/btc-60k",
"imageUrl": "https://example.com/img/btc.jpg",
"publishedAt": "2026-06-26T08:30:00.000Z",
"publisher": "Reuters",
"tags": ["bitcoin", "etf"],
"concepts": ["Bitcoin"],
"sentiment": 0.62,
"contentClass": "normal",
"assetLinked": true,
"assets": [{ "id": 1, "symbol": "BTC", "name": "Bitcoin", "type": "CRYPTO" }],
"translationReady": true,
"analysis": {
"locale": "en",
"title": "ETF inflows lift BTC back above $60k",
"coreSummary": "Renewed institutional demand…",
"direction": "bullish",
"affectedAssets": "BTC, ETH",
"impactLogic": "Sustained ETF inflows reduce float…",
"timeHorizon": "Short-term",
"risksAndWatchlist": "Watch for a reversal if inflows stall."
}
}
],
"page": 1,
"limit": 1,
"total": null,
"hasMore": true
}
}Search news
GET /news/search — full-text search across news (multilingual). Credits: 2
| Param | Required | Default | Notes |
|---|---|---|---|
q | yes | — | Query, 2–120 chars |
type · category · locale | no | — | Same as the feed |
sort | no | latest | latest · relevance — relevance ranks by match quality but is much slower for broad queries |
page | no | 1 | |
limit | no | 20 | max 50 |
Example request: GET /news/search?q=ETF%20inflows&limit=1. The response shape is identical to the feed ({ items: [NewsItem], page, limit, total: null, hasMore }).
News detail
GET /news/{id} — a single article. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
id (path) | yes | — | News id (integer) |
locale | no | en | Localized content |
assetSymbol | no | — | Scope the analysis to one linked asset |
Returns a single NewsItem (same shape as a feed item).