Developers
CHAINTOPNEWS API v1
REST API for pulling CHAINTOPNEWS stories and headlines into your product.
API key
- Every request requires an API key issued by CHAINTOPNEWS. To request a key, contact the CHAINTOPNEWS team.
- Send the key on every request as an HTTP header:
X-API-Key: YOUR_KEY. - Alternative formats:
Authorization: Bearer YOUR_KEYor query parameter?api_key=YOUR_KEY. - Keys are personal. Do not embed them in public client code. Abuse leads to revocation.
How to connect
- Base URL:
https://chaintopnews.com/api/v1· JSON, UTF-8, open CORS - Method:
GETonly. No authentication handshake, no session — just the key header. - Rate limit: per key, per minute (default 600). Headers
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset; over the limit you get429withRetry-After. - Every story carries a canonical
urlandpublisher. Link to it and credit CHAINTOPNEWS when you republish.
Quick test
curl -H "X-API-Key: YOUR_KEY" "https://chaintopnews.com/api/v1/articles?limit=5"
Response envelope
{
"ok": true,
"data": …,
"meta": { "publisher": "CHAINTOPNEWS", "version": "v1", "generatedAt": "2026-09-28T02:10:00.000Z", "total": 335, "offset": 0, "limit": 20 }
}
// errors
{ "ok": false, "error": { "code": "invalid_api_key", "message": "This API key is invalid or has been revoked." } }
| HTTP | code | Meaning |
|---|---|---|
| 401 | missing_api_key | No key sent |
| 403 | invalid_api_key | Unknown or revoked key |
| 404 | not_found | Unknown endpoint or slug |
| 429 | rate_limited | Per-key limit exceeded |
REST endpoints
| Method / path | Returns |
|---|---|
GET/api/v1/status | Service info, categories, story count, your key's limits |
GET/api/v1/categories | Sections: slug, name, url, story count |
GET/api/v1/home | Curated front page: featured, sideFeature, leftList, sideList, latest, sections[] |
GET/api/v1/articles | Paged stories (data[], meta.total). Query: category, limit ≤100, offset, images=1|0, since=<ISO>, q=<text> |
GET/api/v1/articles/:slug | One story with rendered HTML body |
GET/api/v1/live | Newest wire headlines. Query: limit ≤100, since, before, category |
JavaScript example
const res = await fetch('https://chaintopnews.com/api/v1/articles?category=world&limit=10', { headers: { 'X-API-Key': 'YOUR_KEY' } });
const { ok, data, meta } = await res.json();
if (ok) data.forEach(a => console.log(a.title, a.url));
Incremental sync (only what changed since your last pull)
curl -H "X-API-Key: YOUR_KEY" "https://chaintopnews.com/api/v1/articles?since=2026-09-28T00:00:00Z&limit=100"
Categories
world, business, technology, crypto, policy
Terms
Content is provided by CHAINTOPNEWS for display in your product with attribution and a link to the story url.