Real-time news from 49 crypto outlets, deduped and tagged, with sentiment scored per record.
49 outlets behind the corpus. Sorted newest-first; every record carries a published_at, a sentiment score, and the source's name and slug.
Every field the corpus returns for one record. Real shape — walked corpus-wide, not sampled.
A curl that runs against the live API right now, plus the MCP tool names for the same data.
MCP tools
get_newsget_news_detailget_trending_newsget_news_last_24_hoursThree concrete questions this capability answers that a general crypto API does not.
tags=arbitrum returns 1,264 articles, a 'who has covered this' count is a ?sources=* walk from there.sentiment and sentiment_score are scored per article, so a one-week tone chart for a project is a single sort.get_news_last_24_hours is a separate tool, and ?period=0 gives the same window on this endpoint — 69 articles in the last 24 hours, against 3,992 for the week.Required, not optional. Coverage gaps, staleness and parameter traps that were observed by running the curl above against the live server on 2026-09-18.
sources requires the source's slug, not its name.
Verified corpus-wide on 18 Sep 2026: ?sources=decrypt returns 0 on news; ?sources=decrypt_news returns 22,778. The slug is the join key (e.g. decrypt_news, kyberswap_blog), not the display name — discoverable from any record's source.slug field. A junk value returns 0, the same shape a working-looking invalid filter has.
tags is a fuzzy keyword match, not a slug match.
?tags=banana returns 77 news items, not 0 — the parameter searches across the keyword bag on every record rather than matching the taxonomy slug exactly. Use the tag taxonomy (get_tags) to discover slugs first; once you have them, the count is exact.
sentiment is a single number, not a label.
sentiment is a numeric score and sentiment_score is its decimal string ("0.00"). The endpoint does not bucket articles as positive/negative/neutral; the bucket has to be derived client-side from the score's sign.