CoinMarketCap Listings (daily snapshot & new-coin alert)
Pricing
from $0.70 / 1,000 coin row scrapeds
CoinMarketCap Listings (daily snapshot & new-coin alert)
CoinMarketCap's own ranking of every listed cryptocurrency: price, market cap, volume, supply, 1h-90d changes, tags, chain and listing date, in up to 10 currencies. Flags coins that are new since your last run.
Pricing
from $0.70 / 1,000 coin row scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
CoinMarketCap Listings Scraper (daily snapshot & new-coin alert)
CoinMarketCap's own ranking of every listed cryptocurrency, one flat row per coin: price, market cap, 24h volume, 1h / 24h / 7d / 30d / 60d / 90d change, fully diluted market cap, circulating / total / max supply, CMC rank, number of market pairs, tags, the chain a token lives on and its contract address, auditors, and the date CMC listed it - in up to ten currencies at once.
Two jobs it is built for:
- A daily market snapshot. Read the top 100, the top 1,000 or the whole market (about 8,100 coins) in one run, sorted any of 17 ways.
- A new-coin alert. Sort by Date added, turn on Only new coins, and schedule it. Each run delivers - and charges for - only the coins that were not there last time. The same works for "what entered the top 500 today".
Data comes from the endpoint coinmarketcap.com's own ranking table uses
(api.coinmarketcap.com/data-api/v3/cryptocurrency/listing). No API key, no
CoinMarketCap account.
We also publish Crypto Market Data Scraper, which reads CoinGecko. The two overlap on price and market cap; this one is CoinMarketCap's own ranking, ids and listing dates, which is what you want when you report against CMC or watch CMC for new listings.
Input
| Field | Default | What it does |
|---|---|---|
sortBy | market_cap | Which ranking to read: market cap, date added, price, volume 24h / 7d / 30d, % change 1h / 24h / 7d / 30d, fully diluted market cap, circulating / total / max supply, number of market pairs, name, symbol. Only sorts measured to return rows are offered - CoinMarketCap answers an unknown sort with an empty list rather than an error, so a typo is refused at input instead of becoming an empty run. |
sortDirection | desc | desc = largest, newest or last-in-the-alphabet first. CMC's own sortType runs backwards for date added, name and symbol (date_added + asc is newest first on CMC); the actor corrects for it, so desc means the same thing for every sort. |
maxItems | 100 | How many coins of the ranking to read, from the top, up to 10,000. Pages of 1,000 are fetched automatically. With changesOnly, this is the window that is checked. |
currency | USD | Currency of the price, market cap, volume and %-change columns: 93 fiat currencies, gold (XAU), silver (XAG), platinum (XPT), BTC or ETH. |
extraCurrencies | none | More currencies for the same coins, at no extra charge, under other_quotes.<CODE>. At most 10 currencies per run including the main one. |
changesOnly | false | Deliver and charge only coins that are new since the previous run of the same search. See Change tracking. |
proxyConfiguration | Apify datacenter | CoinMarketCap answered Apify datacenter exits normally when probed on 2026-10-05. A fresh address is taken before each retry. |
Output
One row per coin, whatever number of currencies you ask for.
id CMC's numeric id (1 = Bitcoin) - stable, the de-dup keyname, symbol, slugurl https://coinmarketcap.com/currencies/<slug>/cmc_rank CMC's market-cap rankchange "new" or "unchanged" since the last run of this searchquote_currency the currency of the columns below, e.g. "USD"pricevolume_24hvolume_change_24h % change of 24h volume vs the previous 24hmarket_cap price x circulating supplymarket_cap_by_total_supply price x total supplypercent_change_1h / _24h / _7d / _30d / _60d / _90dquote_last_updated CMC's timestamp for this quotefully_diluted_market_cap_usd always USD (see below)percent_change_1y_usd always USDytd_price_change_percentage_usd always USDtvl_usd total value locked, DeFi protocols only, always USDdominance % share of CMC's total crypto market capturnover 24h volume / market capcirculating_supplyself_reported_circulating_supply the project's own, unverified claimtotal_supplymax_supplymarket_pair_countis_active, is_auditedauditors e.g. ["CertiK", "Fairyproof"]tags CMC's tags, e.g. ["defi", "ethereum-ecosystem"]platform_name, platform_slug the chain a token lives on; null for native coinstoken_address the token's contract address on that chaindate_added when CMC listed the coin - sort on this for new coinslast_updated CMC's last update of the coin recordsnapshot_at when CMC produced this responseother_quotes {"JPY": {price, volume_24h, market_cap, ...}, ...}
Why one row per coin, with the first currency flattened
A row per coin per currency would charge you twice for one coin and make every
join de-duplicate. So the main currency's numbers are real top-level columns -
sortable in the Apify table, one typed column each in CSV or a database - and
any extra currencies ride along in other_quotes, keyed by code, each holding
the same per-currency columns (price, volume_24h, volume_change_24h,
market_cap, market_cap_by_total_supply, percent_change_1h ... _90d,
quote_last_updated). Ask for one currency and other_quotes is {}.
Columns that are always USD
Measured on 2026-10-05: CoinMarketCap returns the same number for fully
diluted market cap, TVL, 1-year change and year-to-date change in every quote
currency - they are USD figures. Rather than print a USD number in a column
that claims to be JPY, those four are coin-level columns with _usd in the
name.
Nulls are real
- CoinMarketCap writes
0where it has no figure for a supply, and for the market caps computed from one. On 2026-10-05, 3,969 of 8,124 coins had a circulating supply of 0 and a market cap of 0 - exactly the same coins, the ones CMC has not verified a supply for. A coin is not worth exactly $0, so those zeros are emitted asnull:circulating_supply,self_reported_circulating_supply,total_supply,max_supply,market_cap,market_cap_by_total_supply,fully_diluted_market_cap_usd. Screening for "market cap under $1M" would otherwise pick up thousands of coins whose market cap is simply unknown. max_supplyis null both for uncapped coins (Ethereum, Tether) and for coins CMC has no figure for. The source does not tell those two apart, so neither does the actor.tvl_usdis null except for the DeFi protocols CMC tracks it for;turnoveris absent from the source for some coins and is null there.- Volume, percent changes, TVL, dominance and turnover zeros are passed through: a coin really can trade nothing in 24 hours, and a share of the total market really can round to 0.0000.
dominanceis rounded by CMC to four decimals, so most small coins read 0; it also reads 0 for wrapped and staked tokens, which CMC keeps out of its total.- Wrapped and staked tokens are ranked at the bottom by CMC itself whatever
their size - stETH was worth ~$26.6B and sat at rank 7,931 on 2026-10-05.
cmc_rankis CMC's number, unchanged.
CMC's badge codes and its internal wrapped/staked rank are not emitted: they are undocumented numbers with nothing a buyer could read them as.
Change tracking
Every row carries change:
new- this coin (by CMC id) was not in any previous run of the same search.unchanged- it was.
A "search" is the sort, the direction and maxItems - not the currency, which
changes the numbers but not which coins come back. Prices are deliberately
not compared: a market snapshot moves every run, so a price label would
mark every coin and bury the alert.
The memory lives in a named key-value store, coinmarketcap-listings-watch,
on your Apify account - nobody else can see it. The first run has no
memory, so it labels every coin new and, with changesOnly, delivers all
of them. From the second run on, changesOnly delivers only what is new.
Coins that drop out of the window and come back are not reported as new
again.
Recipes:
- New listings:
sortBy: date_added,sortDirection: desc,maxItems: 200,changesOnly: true, scheduled daily. - Entered the top 500:
sortBy: market_cap,maxItems: 500,changesOnly: true.
Pricing
Pay per event:
- $0.0007 per coin delivered (
quote-scraped), charged after the row is written. Extra currencies are included in that one charge. - $0.002 per run (
actor-start), so a run that legitimately finds nothing new still covers its fixed cost.
The whole market in one currency is about $5.69 + $0.002. With changesOnly
you pay only for the new coins - a daily new-listings watch is typically a few
cents. Coins are de-duplicated by id before charging, so a coin CMC repeats
across a page boundary is paid for once. A run that fails on its own input
(an unknown sort or currency) is not charged at all.
How it behaves
- Pages are fetched by absolute offset (
start), 1,000 coins at a time;limitwas measured honoured up to the whole market on 2026-10-05. The run stops at the first empty or short page or at CMC's owntotalCount. - HTTP 403, 429, 202 and 5xx, and an HTML challenge page served with 200, are treated as a refusal of the exit address: the request is retried from a fresh address (a new proxy session) with backoff. 400 / 404 and CMC's own "Invalid value" answers are permanent and not retried. A run refused on every attempt before reading a single coin ends as FAILED, not as an empty success.
- A single coin row that cannot be parsed is skipped, logged and never charged; the rest of the page and the run carry on.
- Every row carries CMC's
quote_last_updatedand the response'ssnapshot_at, unmodified - reason about freshness from those, not from the run's start time. CMC aggregates across exchanges; this is a research and monitoring feed, not an execution feed.
Source
https://api.coinmarketcap.com/data-api/v3/cryptocurrency/listing - the
endpoint behind coinmarketcap.com's ranking table, verified unauthenticated
from an Apify datacenter exit and from a plain server on 2026-10-05.