API данных

Всё, что проверяет сайт, в JSON: токены и расхождения между CoinGecko и CMC, реальная и бумажная капитализация, права владельца, разлоки, плечо, биржи и сколько их объёма выдерживают стаканы, индикаторы рынка и сигналы. В каждом ответе указано, когда прочитаны данные.

Ключи

Каждый эндпоинт требует ключ в заголовке: Authorization: Bearer <ключ> или X-API-Key: <ключ>. Ключ в URL не принимается. Ключи создаются в личном кабинете, вход по passkey или через GitHub: личный кабинет.

curl -H "Authorization: Bearer $CCS_KEY" \ https://cryptocoinstat.io/api/v1/tokens/uniswap

Лимиты

Бесплатный: 30 в минуту, 10 000 в сутки

Партнёрский: 300 в минуту, 300 000 в сутки

Считаются по ключу в фиксированных окнах. В каждом ответе заголовки RateLimit и RateLimit-Policy; сверх лимита — 429 с Retry-After.

Документ OpenAPI 3.1

Импортируется в Postman, Insomnia или генератор клиентов.

Ответ: { data, meta: { publishedAt, readAt, page } } и ETag: пришлите его в If-None-Match, и неизменившийся ответ придёт как 304. Ошибки — проблемы по RFC 9457 (application/problem+json): { type, title, status, detail, code, requestId }.

Старый API

Старый API cryptocoinstat.io выведен из работы, его пути отвечают 410. Старые id (xrp, polygon…) по-прежнему находятся: /api/v1/tokens/resolve?q=xrp.

Эндпоинты

GET/api/v1/tokens

List tokens

Every token CoinGecko and CoinMarketCap list, in a published order, with what we could check about each. Sort by rank, market cap, volume or price change (sort=change24h&dir=desc for gainers, dir=asc for losers); filter by a flag, a category or a search; page with offset and limit.

  • sortqueryOrder by: rank: market cap rank; name; price; mcap: market cap; code: commits by people over 90 days; fees: fees over 30 days; gap: how far CoinGecko and CoinMarketCap differ on market cap; volume: 24h volume; change1h, change24h, change7d: price change (desc for gainers, asc for losers)
  • dirqueryasc: smallest first (rank 1 first); desc: largest first. Tokens without the value come last either way
  • qqueryName or ticker contains
  • flagqueryOnly tokens carrying this signal. all: every token; code: commits by people in its public code over the last 90 days; fees: users paid fees over the last 30 days (DefiLlama); gaps: CoinGecko and CoinMarketCap differ on market cap by 5% or more; thin: real cap under half the market cap: order books too shallow for its size; unbacked: under half the volume exchanges report is carried by their order books (on $1M+ a day); unlocks: the next 30 days of vesting are worth more than a day of trading; heated: open interest at 30%+ of market cap, or funding beyond ±0.05% per 8h; mint: its contract’s owner can mint; whales: ten wallets hold half the supply; fakes: copies under its ticker whose owner can take or freeze tokens
  • categoryqueryA category slug from /categories, e.g. defi, nft, stablecoins
  • idsqueryUp to 100 token ids, comma separated: answers those tokens in that order, ignoring sort, filters and paging
  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates
  • offsetqueryHow many matching items to skip; the next page’s path is in meta.page.next
  • limitqueryHow many to return, 1 to 100

GET/api/v1/tokens/index

Every token, compact

Id, ticker, name, rank and logo of every token in one answer, by rank: for search and autocomplete.

GET/api/v1/tokens/resolve

Find the token a name, ticker or old id stands for

Accepts our id, an id from the old cryptocoinstat.io API (xrp, polygon…), a ticker or a name; answers the token and how it was matched.

  • qqueryобязательныйOur id, an old cryptocoinstat.io id, a ticker or a name
  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

GET/api/v1/tokens/trending

Most searched

The tokens most searched on CoinGecko over the last day, most first; read hourly.

  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

GET/api/v1/tokens/new

Newly listed

Tokens we saw listed for the first time, newest first. Kept since 2026-11; older tokens aren’t on it.

  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates
  • offsetqueryHow many matching items to skip; the next page’s path is in meta.page.next
  • limitqueryHow many to return, 1 to 100

GET/api/v1/tokens/popular

Most looked at

The tokens most looked at on cryptocoinstat.io over the last 7 days: page views by people and API lookups. Counted per day, with no visitor data.

  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

GET/api/v1/tokens/{id}

One token, everything we read

Market figures from both lists and where they disagree, the day’s range, all-time high and low, max supply, ICO return, price ranges over 7, 30, 90 days and 52 weeks, links (sites, explorers, forums, chats, code, social), the project’s code and usage, and for the top 1000 what the chain and futures say: supply, owner powers, holders, unlocks, real vs paper cap, how much volume the books carry, leverage, supply on each chain, copies, and its latest signals.

  • idpathобязательныйToken id, e.g. bitcoin
  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

GET/api/v1/tokens/{id}/history

Price over a period, fees and weekly commits

Price over the last `days`: hourly for up to 7 days (top 1000), daily up to a year (top 1000 and every token we read in full). Daily fees from DefiLlama and commits by week.

  • idpathобязательныйToken id, e.g. bitcoin
  • daysqueryHow many days back, 1 to 365: hourly points up to 7, daily beyond
  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

GET/api/v1/rates

Currency rates

Fiat, crypto and commodity rates against the US dollar, from CoinGecko every 3 hours. Any code here works as ?currency= on token answers.

GET/api/v1/exchanges

Exchanges by reported volume

Every exchange seen across the top 1000’s markets: what it reports, what its order books could carry, on how many tokens its volume runs past its book, and how its trades tested.

  • offsetqueryHow many matching items to skip; the next page’s path is in meta.page.next
  • limitqueryHow many to return, 1 to 100

GET/api/v1/exchanges/{slug}

One exchange and its largest markets

The summary plus its 50 largest markets, each with depth, turnover against the norm and the trade test.

  • slugpathобязательныйThe slug a list returned, e.g. binance or defi

GET/api/v1/categories

Categories

Sectors, chains, venues and backers, with their size. Their tokens: /tokens?category={slug}.

GET/api/v1/categories/{slug}

One category

Its size, how much of it we read, live code, fees and where the lists disagree.

  • slugpathобязательныйThe slug a list returned, e.g. binance or defi

GET/api/v1/market

Market gauges

Risk appetite and its parts, altcoin season, leverage, real volume, liquidations, unlocks ahead and search interest, with a month of daily history.

GET/api/v1/signals

Signals, newest first

The last month of on-chain signals for the top 1000, each sized against depth and a day of trading.

  • kindqueryOnly this kind: unlock, mint, bridge, admin, whale, drain, fake (see the Signal schema)
  • tokenqueryOnly this token’s signals (token id)
  • offsetqueryHow many matching items to skip; the next page’s path is in meta.page.next
  • limitqueryHow many to return, 1 to 100

GET/api/v1/contracts/{address}

Is this address the real token?

A token’s own contract, a listed deployment or wrapper, or a copy under its ticker that no list names.

  • addresspathобязательныйEVM 0x… or Solana address

GET/api/v1/watchlist

Your watchlist

The tokens the key’s account watches, newest first, with their list rows.

  • currencyqueryCurrency code for money figures, e.g. EUR or BTC; USD when absent. Codes: /rates

PUT/api/v1/watchlist/{id}

Watch a token

Adds the token to the key’s account’s watchlist; adding it again changes nothing.

  • idpathобязательныйToken id

DELETE/api/v1/watchlist/{id}

Stop watching a token

Removes the token from the key’s account’s watchlist.

  • idpathобязательныйToken id

Ошибки

Ветвитесь по code, показывайте detail, а в письме нам укажите requestId (он же заголовок X-Request-Id). Ответ 400 перечисляет все неверные параметры в invalidParams.

not_found 404
Not found: no such endpoint, token, exchange or category (404)
bad_request 400
A parameter or body is not valid: a parameter or body is missing, malformed or out of range (400); see invalidParams
unauthorized 401
Not allowed without a valid key or session: no key, a key that isn’t valid or was revoked, or not an admin’s (401)
gone 410
This path was retired: a path of the retired old API (410)
rate_limited 429
Over the limit: over the key’s per-minute or per-day limit; see Retry-After (429)
unavailable 503
Temporarily unavailable: a store the answer needs is down; try again later (503)
internal 500
Something went wrong on our side: our fault; it was logged under requestId (500)

Изменения

v1 только растёт: новые поля, эндпоинты, параметры и значения перечислений могут появиться в любой момент, неизвестные нужно пропускать. Ничего не удаляется и не меняет тип без объявления об устаревании: ответы несут заголовки Deprecation и Sunset, и до отключения не меньше полугода. Ломающие изменения — только в /api/v2.

1.0.0 2026-11-05

  • Добавлено Tokens: list with sorting, filters, batches by id and paging; one token’s full record; price history; resolving a name, ticker or an id from the old API.
  • Добавлено Lists: the compact index, most searched, newly listed, most looked at, currency rates; money in any listed currency.
  • Добавлено Exchanges, categories, market gauges, on-chain signals and the contract check.
  • Добавлено Watchlist per account.
  • Добавлено Keys and plan limits with RateLimit headers; ETag and 304; X-Request-Id; errors as RFC 9457 problems.