The same once-per-asset counting the site is built on, as JSON. No signup, no key, no query language — one file per thing, served straight from the CDN.
curl https://coin-spectrum.com/api/v1/assets/xrp.json
Live · 5,981 assets · 527 cryptocurrencies
Every endpoint is a plain JSON file. There are no query parameters and no auth on the free tier. Download the file, filter in the client. That is deliberate: it keeps the free tier truly free, and it keeps the surface small enough that a version bump is a real event.
https://coin-spectrum.com/api/v1/
Versioned from day one. Adding a field is a minor change and lands
silently; renaming, removing, or changing a shape opens v2/,
and v1/ is frozen for at least twelve months.
Schema version, counts, license, endpoint list. A one-shot health check for a consumer starting up.
Total market cap, per-category counts, chains, and the fiat exchange rates the site uses for currency conversion.
Every asset in one file — around 1.3 MB. Pull once, filter in memory; cheaper than one call per asset.
A single asset by its CoinSpectrum slug — e.g.
bitcoin, xrp, digibyte.
The slug matches the page URL at /assets/{slug}/.
The ranking — assets with their own blockchain and their own consensus mechanism. Nothing else.
Fiat-pegged tokens. Listed on the site but never added to the cryptocurrency total.
Wrapped, staked and pegged representations of assets that are already counted somewhere else.
Non-crypto tokens — utility, governance, and the long tail of things issued on someone else's chain.
Memecoins. Same shape, kept separate because they deserve their own bucket and their own explanation.
Slug + market cap only, pre-sorted descending. Small enough to be the ranking's cheapest paint.
Chain jq for a pure Bash pipeline that names every
SHA-256 chain in the ranking:
curl -s https://coin-spectrum.com/api/v1/categories/cryptocurrencies.json \
| jq -r '.assets[] | select(.consensus == "SHA-256") | .name'
Every asset — cryptocurrency, stablecoin, wrapped, token, memecoin —
uses the same shape. Fields that don't apply stay null,
never omitted.
{
"slug": "bitcoin",
"symbol": "BTC",
"name": "Bitcoin",
"category": "cryptocurrency",
"consensus": "SHA-256",
"hashrate": 8.9e20,
"price_usd": 77401,
"market_cap_usd": 1553734997147,
"rank": 1,
"supply": { "circulating": 20076428, "max": 21000000 },
"ledger": "overlay",
"nature": "commodity",
"nature_basis": "Named a digital commodity in the joint SEC-CFTC interpretation.",
"nature_tags": ["commodity"],
"chains": null,
"image": "https://..."
}
Rebuilt roughly every ten minutes. Every response includes a
generated_at ISO-8601 timestamp; a caller who wants the
freshest snapshot should read that field rather than trust HTTP dates.
The CDN serves cached copies for 60 s at the edge and 300 s upstream,
with a one-hour stale-while-revalidate window.
The free tier has no per-key limit — every response is a static file behind a CDN, so throughput is effectively bounded by the CDN itself. Please cache. Aggressive polling of a file that only changes every ten minutes is wasteful for both sides.
For higher throughput, historical snapshots, webhooks and per-key identification, a paid API lives at api.coin-spectrum.com. Prices are quoted in USD and invoices settle in Bitcoin Cash only, locked at the spot rate for fifteen minutes.
$5 / mo
~0.015 BCH
$29 / mo
~0.09 BCH
$149 / mo
~0.45 BCH
Annual plans pay ten monthly invoices in one BCH transaction and get two months free. No card processor, no chargebacks, no KYC — payment is a single on-chain transaction and the API key activates on the first confirmation.
Licensed under
CC BY 4.0.
Use the data anywhere, commercial use included. In return, please link
back to coin-spectrum.com — a footer credit or a note in
your project's README is enough. The API exists to be reused; a link
is how it stays sustainable.
The data is derived from public sources — see methodology. It is provided as-is, without warranty of any kind. If you use it to decide whether to spend money, that is entirely your call and entirely your risk.
Questions, bug reports, or a request for an endpoint that isn't here
yet: open an issue or write to api@coin-spectrum.com.
The /api/v1/ tier is free and unmetered — every file is served straight from
the CDN, no signup, no key. Paid tiers on api.coin-spectrum.com add higher
throughput, historical endpoints and per-key limits; they are priced in BCH.
Not for /api/v1/. Files are served without authentication and without
rate-limiting beyond the CDN's own DDoS protection. Paid tiers issue a key for the proxy
endpoint.
Every ten minutes. Every response carries a generated_at ISO-8601 timestamp
so a consumer can decide whether to re-fetch. Prices lag behind the site's own live feed
by that window; use the live feed for tickers and the API for structural fields — rank,
family, supply, classification.
Use the data anywhere — a chart, a screener, an app, a research paper, a commercial
product. The only requirement is credit somewhere reasonable: a byline, a data-source
line, or a link to coin-spectrum.com. Commercial use is included.
/api/v1/assets/xrp.json and /assets/xrp/?Same data, two consumers. The JSON is for machines; the HTML page is for readers. Both use the same canonical slug so the two URLs shape-match — one can be derived from the other with a trivial string replacement.
v1/ is frozen for at least twelve months from launch. Adding a field is a
minor change and lands silently; renaming, removing, or reshaping a field opens
v2/, and v1/ keeps serving unchanged until deprecation is
announced.