API · Reference

AI Crypto Data Sources: How Every CMC AI Answer Is Attributed

CoinMarketCap APIUpdated 15 September 2026 · 10 min read
AI Crypto Data Sources: How Every CMC AI Answer Is Attributed, shown as a halftone CoinMarketCap mark resting above an open robotic hand.

Every CMC AI answer is generated from sources, and every source is returned with the answer.

This page sets out what a source is, what the mix actually looks like when you measure it, how the list is trimmed, and how to check a claim yourself.

Key Takeaways

  • A source is identified by its URL, which is also its identity key, so the list is deduplicated on the normalised URL rather than on a title.
  • Source concentration is high and varies sharply by question type. On the discussion question, 84% of linked sources were posts on x.com. Measured across four question types, x.com accounts for 51%.
  • Those 206 links resolved to just 13 distinct hostnames, so the source base is concentrated rather than broad.
  • The API returns sources_count, the true total behind an answer, next to a capped sources[] array and a sources_truncated flag.
  • Requesting sources_limit=0 still returns sources_count, so a citation count can be displayed without transferring the array.

What a Source Is

The source object is deliberately thin. Its one required field is the canonical URL of the page a claim came from, and because that URL is the only field, it is also the identity used to deduplicate. Two entries pointing at the same article, arriving with different query strings, are the same source and collapse into one.

That puts weight on URL normalisation, which the documentation describes as forcing https, stripping tracking and rendering parameters, stripping www., normalising twitter.com to x.com, and removing fragments before the array is deduplicated. Across the 206 published source links measured, every one used https and none carried a query string, so scheme forcing and parameter stripping both hold on the rendered surface.

The www. rule has a narrow exception

Re-measured on 11 September across 40 pages and 172 answer-source links, 13 carried www., a rate of 7.6%, and they fell on exactly two hosts. Both of those hosts redirect a bare request to their www. form and declare www. as canonical, confirmed by navigation on 14 September. So the rule holds except where the publisher’s own canonical host includes www. If you deduplicate source URLs against your own store, normalise the host yourself rather than assuming the array has been stripped.

The Measured Source Mix

Measured 9 September 2026 across 206 linked sources on 62 coin pages, all of one question type.

Class Share Links Hosts observed
Social 83.5% 172 x.com
CoinMarketCap 10.2% 21 coinmarketcap.com
News 3.4% 7 Cointelegraph, CryptoSlate, AMBCrypto, Bitcoinist, news.bitcoin.com, Yahoo Finance
Data and exchange 2.9% 6 TradingView, OKX, Phemex, BYDFi, Changelly

Method: same-origin fetch of the latest-updates page for 64 coin slugs, parsed with DOMParser, counting every anchor the page labels “View original post” and classifying by hostname. 62 pages carried linked sources, 2 returned 404.

Two things follow for anyone building on this. There is no parameter for filtering sources by kind, so a product that does not want to surface social posts has to filter client-side on the hostname, and it will be discarding most of the citations rather than a fraction of them. And a product that surfaces citations to a professional audience should expect handles rather than mastheads, and design the credit line accordingly.

The concentration matters as much as the mix. Thirteen hostnames across 206 links means the same small set of publishers and accounts recurs, so a citation display will show repeat names to any user reading more than a few answers.

What the Published Answers Show

A discussion answer renders considerably more than a bare link. Four sources behind one Bitcoin answer, read on 8 September 2026:

Source as shown Type shown Timestamp shown Links to
U.Today Publication 8 Sep 2026 12:01 AM UTC u.today/price-analysis/…
CoinMarketCap Publication 8 Sep 2026 12:08 AM UTC coinmarketcap.com/community/articles/…
Coinbase Predictions Publication 31 Dec 2026 12:00 AM UTC coinbase.com/predictions/event/…
@wick_btc 4,487 followers 10 Jun 2026 11:57 PM UTC x.com/ox__Wick/status/…

Each carries a short verbatim quotation from the source, an interpretation of what it means for the asset, and a link labelled “View original post” that resolves to the original page.

Linked Sources Sit on the Discussion Answer

Attribution is not uniform across question types, and this is the practical thing to know before building a citation UI.

Question Attribution What renders
Discussion Linked Name, type, follower count and timestamp, with a “View original post” link
News Parenthetical A publisher name in brackets at the end of the item, no link
Codebase Parenthetical Same, and two items credited only to “(Source)”
Roadmap Parenthetical Same pattern
Price up and price down Parenthetical Named inside the reasoning. Zero linked sources across 28 pages that returned content

So a claim in a discussion answer can be checked in two clicks. A claim in a price answer names its source but leaves the reader to find it. Build the citation surface around the answer type rather than assuming one pattern.

Filtering Sources Is a Client-Side Job

The API returns every source in one array with no kind attached, so classifying them is work the caller does. The four groupings used on this page are a description of what turns up, not values the endpoint accepts.

Grouping Covers
CoinMarketCap Its own pages, Academy articles and Community posts
News News outlets and editorial publications
Social Posts from individual accounts and commentators
Data and exchange Market-data, exchange and institutional sources

A product that needs to exclude one of these matches on the hostname after the response arrives. Given the measured mix, excluding social removes roughly five in six of the citations behind a discussion answer, so plan the empty state as carefully as the populated one.

How Many Sources Sit Behind an Answer

Answers draw on far more sources than any interface shows, which is why the array is capped and the true total is reported separately.

Field What it is
sources[] The returned list, trimmed to sources_limit
sources_limit The cap you request. Defaults to 10, accepts up to 100, and 0 returns an empty array with the count still populated
sources_count The true number behind the answer, before the cap
sources_truncated True whenever the array is shorter than that count

The gap is wide: published pages average 3.32 linked sources while a single answer’s sources_count can run into the dozens. Together those fields make an honest citation display possible: show what came back, and state the count that did not, rather than implying the visible handful is the whole basis.

bash
# Count only, no array transferred
GET /v5/cmc-ai/coins/latest?slug=bitcoin&sources_limit=0

# Raise the cap to see more of what an answer drew on
GET /v5/cmc-ai/coins/latest?slug=bitcoin&sources_limit=100

Parameter names and defaults verified against the shipped Pro API reference. The family is Enterprise-gated in Phase 1, so these are not callable on a lower plan.

A citation line built from those fields, rather than from the array length:

python
def citation_line(insight):
    """Build the line from the fields, never from len(sources)."""
    shown = len(insight["sources"])
    total = insight["sources_count"]

    if not insight.get("sources_truncated"):
        return f"{total} source{'s' if total != 1 else ''}"

    return f"Showing {shown} of {total} sources"

Where an Answer Says It Does Not Know

Generated answers disclose their own gaps rather than filling them. On the live codebase answer for Bitcoin, the text states that specific patch notes for one release “are not detailed in the provided sources” and reasons from what such a release generally consolidates. On the news answer, a corporate purchase is described as reported, with the note that transaction details “remain unconfirmed by an official filing”.

For anyone assessing whether to republish an answer, that hedging marks the boundary of what the sources support.

Checking an Answer Yourself

The published pages are the reference implementation. Open the answer, read the claim, follow the source link, compare. Four questions render per covered coin on the latest updates page, so news, discussion, codebase and roadmap answers can be checked side by side, and price analysis covers the price-move questions.

If you republish these answers

Each is timestamped and bylined to CMC AI, and each shows the disclaimer “CMC AI can make mistakes. Not financial advice.” Keep both at comparable prominence, and keep the source links live.

Where to Go Next

For the questions these answers respond to and the keys that identify them, read the question keys reference. For what each call costs, read the per-endpoint credit reference.

FAQ

Does the API return the sources behind each answer?

Yes. Each insight carries a sources[] array of URLs, plus sources_count giving the true total behind the answer and sources_truncated indicating whether the array was cut.

What kind of sources are they, mostly?

Two measurements, and the difference between them matters. Across 206 linked sources on 62 coin pages, all of one question type, 84% were posts on x.com, 10% were CoinMarketCap pages, and the remaining 6% were news outlets, exchanges and market-data providers. Widening to four question types across 10 assets and 40 pages on 11 September 2026 gives a different picture: of 172 answer-source links, x.com accounts for 88, or 51%. The rest spread across finance.yahoo.com (11), www.tradingview.com (10), u.today (8), github.com (7), crypto.news (5) and a long tail of crypto publications. So the 84% figure is real but question-specific. Anyone quoting a single concentration number should say which question type it describes.

Why is the array shorter than the source count?

Because the array is capped, by default at 10. sources_count always reports the full number so a citation display can be accurate about what it is not showing.

Can I get the count without the URLs?

Yes. sources_limit=0 returns an empty array with sources_count still populated.

Can I exclude social posts?

Not through the API. Sources arrive in one array with no kind attached, so filter on the hostname after the response. Expect to discard most of the list, since social is the largest group by a wide margin.

Are duplicate sources removed?

Yes. URLs are normalised before deduplication, which forces https, strips tracking and rendering parameters and removes fragments. Across 206 published source links, none carried a query string and all used https. One documented step has a measured exception: www. is stripped except on hosts that redirect a bare request to their www. form, which was 7.6% of links across a 172-link sample and only two hosts. Normalise the host on your side before deduplicating.

Do sources include CoinMarketCap’s own pages?

Yes, covering CoinMarketCap headlines, Academy articles and Community posts. That was 10% of measured links.

Do all answer types link their sources?

No. The discussion answer links each source with its name, type and timestamp. The news, codebase, roadmap and price-move answers name sources in parentheses without a link.