GET /v1/news
#GET /v1/newslistNews
News stories, newest first (one row per story, with the publishers that reported it)
| Scope | news:read |
|---|---|
| Lowest tier | sandbox |
| Weight (units) | 1 |
| Paginated | yes: follow meta.next_cursor |
| SDK | Python client.news.list ยท JavaScript cd.news.list |
Parameters
| Parameter | In | Type | Description |
|---|---|---|---|
asset | query | string | Coin or asset ticker. |
category | query | string | News category. |
source | query | string | Source id (see /v1/news/sources). |
since | query | string | Only stories after this time (unix seconds or RFC 3339). |
q | query | string | Words in the headline. |
min | query | integer | Lowest importance, 1 to 3. |
cursor | query | string | meta.next_cursor of the previous page (opaque; bound to the route). |
limit | query | integer | Rows per page, at most 100 (default 50). |
Answer
data: a list of stories: the lead publisher's title, link and name; other publishers of the same story under `also`. No article text.
Errors
400invalid_param, invalid_cursor401unauthorized: missing, unknown, revoked or expired key403insufficient_scope, tier_required404not_found, not_available, not_in_sandbox422window_too_large429rate_limited (per minute) or quota_exhausted (month; X-Quota-* headers, Retry-After = seconds to the next month); see Retry-After503api_disabled, overloaded
Example
curl "https://api.chartdeck.trade/v1/news" \
-H "Authorization: Bearer $CHARTDECK_API_KEY"from chartdeck import Client
client = Client() # reads CHARTDECK_API_KEY
r = client.news.list()
print(r.data, r.meta["attribution"])import { ChartDeck } from '@chartdeck/api';
const cd = new ChartDeck(); // reads CHARTDECK_API_KEY
const r = await cd.news.list();
console.log(r.data, r.meta.attribution);