Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/cryptodataapi-com:cryptodataapi-com-daily-snapshot-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Crypto Data Daily Snapshot API
description: 'Real-time crypto market intelligence API. Built for AI agents: gasless USDC payments via x402 protocol, one-call onboarding, and 180+ endpoints for prices, derivatives, funding, and sentiment.'
version: '2026-10-28'
servers:
- url: https://cryptodataapi.com
tags:
- name: Daily Snapshot
description: One-call daily market overview — health scores, derivatives, sentiment, macro, cycle indicators, and coin profiles. Rebuilt 20:00 UTC.
paths:
/api/v1/daily:
get:
tags:
- Daily Snapshot
summary: Get Daily Snapshot
description: 'Full daily snapshot of all current (non-history) data in one response. Excludes Binance spot prices and Hyperliquid data which are available
via dedicated ``/daily/prices`` and ``/daily/hyperliquid`` endpoints. **Market health block (`market_health`)**
Dual-score architecture: 4 long-term components (Price Trend, Market Breadth,
Stablecoin Flow 90d, Macro/DXY) + 7 short-term components (Volume Quality,
Fear & Greed, Derivatives, Market Breadth Short, Volatility, Short-Term Price,
Stablecoin Flow 14d). Combined score = 0.5·LT + 0.5·ST. - `market_health.total_score` / `long_term_score` / `short_term_score`: int 0–100
- `market_health.sentiment` / `long_term_sentiment` / `short_term_sentiment`: BULLISH | NEUTRAL | BEARISH
- `market_health.components`: `{name: {score, weight}}` (per-component details
are stripped from `/daily`; hit `/market-health` for component `.details`)
- `market_health.indicators`: flat denormalization for quick consumption (below)
**`market_health.indicators` contract**
A flat dict of the most-filtered values from `components..details`. Keys are
**omitted entirely** when the source value is unavailable (never null) so consumers
can safely use `dict.get(key, default)` for fallbacks. Committed key set:
- `long_short_ratio` (float) — BTC long/short ratio (Binance perps)
- `funding_rate` (float, %) — avg funding rate (aliased from `avg_funding_rate`;
CoinGlass cross-exchange when available, Binance fallback)
- `buy_ratio` (float, 0–1) — weighted taker-buy ratio across top spot pairs
- `fear_greed_value` (int, 0–100) — averaged Fear & Greed index
- `breadth_pct` (float, %) — share of top-30 coins above their 200D MA
- `pct_from_200ma` (float, %) — BTC distance from 200D MA
- `cross_status` (str) — Golden | Death | Neutral
- `stablecoin_change_7d` (float) — 7-day stablecoin market-cap change
**Cross-exchange scope**
`market_health` is computed cross-exchange (CoinGlass aggregate + Binance) and
is **not** scoped by the `exchange` query param. The `exchange` filter only
trims the `coins`, `coinglass.funding`, and `coinglass.liquidations` lists. In particular `indicators.long_short_ratio` is BTC-on-Binance, used as a
market-wide sentiment signal — not a per-exchange Hyperliquid metric. **Payload trimming and filter-source readiness**
To keep responses small, `coinglass.funding` and `coinglass.liquidations` are
always capped at the top 100 entries (sorted by max absolute funding rate
and 24h liquidation USD respectively) regardless of the `exchange` filter. The full long tail is available at the dedicated
`/market-intelligence/funding-rates` and `/market-intelligence/liquidations`
endpoints. When `exchange` is set to a specific venue whose coin set has
not yet loaded after server start, this endpoint returns `503` rather than
silently emitting the unfiltered payload. **Technical / Structural regime block (`technical_regime`)**
Universe-wide counts (`above_200ma`, `in_squeeze`, `overbought_1d`, …) plus
top-N symbol lists (`top_in_squeeze`, `top_overbought`, `top_oversold`,
`top_near_high`, `top_near_low`) as a macro overlay. The full per-symbol map
(`by_symbol`, keyed by ticker, each entry carrying the `ma` / `bollinger` /
`range_state` / `rsi` blocks) is **omitted by default** to keep this payload
compact — pass `technical_detail=true` to include it here, or read it
point-in-time from `/backtesting/daily-snapshots/{date}` where it is always
present. Per-symbol `rsi.*_1h` fields are only meaningful in the live
snapshot; backfilled historical days have no intraday series. **Volatility regime block (`volatility_regime`)**
Realized-vol risk-sizing overlay (Regime #13): regime counts + shares
(`compressed`, `expanding`, `vol_shock`, `mean_reverting`, `normal`), a
0-100 `composite_score` (higher = more market-wide vol stress) with
`sentiment`, `median_vol_pctile_30`, and top-N lists (`top_compressed`,
`top_vol_shock`, `top_expanding`).'
operationId: get_daily_snapshot_api_v1_daily_get
security:
- APIKeyHeader: []
parameters:
- name: exchange
in: query
required: false
schema:
type: string
description: 'Filter coins by exchange: hyperliquid, binance_spot, asterdex, or ''all'' for unfiltered'
default: hyperliquid
title: Exchange
description: 'Filter coins by exchange: hyperliquid, binance_spot, asterdex, or ''all'' for unfiltered'
- name: format
in: query
required: false
schema:
type: string
description: 'Response format: ''markdown'' for LLM-friendly plain text'
title: Format
description: 'Response format: ''markdown'' for LLM-friendly plain text'
- name: technical_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol technical_regime.by_symbol map (keyed by ticker). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Technical Detail
description: Include the full per-symbol technical_regime.by_symbol map (keyed by ticker). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
- name: volatility_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol volatility_regime.by_symbol map (keyed by ticker; regime + vol metrics per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Volatility Detail
description: Include the full per-symbol volatility_regime.by_symbol map (keyed by ticker; regime + vol metrics per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
- name: meme_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol meme_regime.by_symbol map (keyed by ticker; regime + meme metrics per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Meme Detail
description: Include the full per-symbol meme_regime.by_symbol map (keyed by ticker; regime + meme metrics per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
- name: event_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol event_regime.by_symbol overlay (keyed by ticker; pending catalysts + net bias per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Event Detail
description: Include the full per-symbol event_regime.by_symbol overlay (keyed by ticker; pending catalysts + net bias per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
- name: security_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol security_regime.by_symbol overlay (keyed by ticker; implicating hacks/depegs + acute bias per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Security Detail
description: Include the full per-symbol security_regime.by_symbol overlay (keyed by ticker; implicating hacks/depegs + acute bias per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
- name: signum_detail
in: query
required: false
schema:
type: boolean
description: Include the full per-symbol signum_rgg.by_symbol map (keyed by ticker; RED/GREY/GREEN color + signed trend score + ADX/DMI + hl_symbol join key per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
default: false
title: Signum Detail
description: Include the full per-symbol signum_rgg.by_symbol map (keyed by ticker; RED/GREY/GREEN color + signed trend score + ADX/DMI + hl_symbol join key per coin). Off by default to keep the payload compact; always available point-in-time via /backtesting/daily-snapshots/{date}.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DailySnapshotResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/daily/prices:
get:
tags:
- Daily Snapshot
summary: Get Daily Prices
description: All Binance spot price pairs (~2,500 symbols).
operationId: get_daily_prices_api_v1_daily_prices_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DailySnapshotResponse'
security:
- APIKeyHeader: []
/api/v1/daily/hyperliquid:
get:
tags:
- Daily Snapshot
summary: Get Daily Hyperliquid
description: 'Hyperliquid perpetuals: prices, funding rates, and open interest (~230 assets).
Each entry in ``funding_oi`` contains both raw and derived fields:
- ``funding_rate`` — Hyperliquid''s own funding rate, per HL funding interval
(1h on HL by default). Negative values indicate shorts paying longs.
This is **Hyperliquid-specific**; cross-exchange averaged funding
lives in ``/market-health`` and ``/market-intelligence/funding-rates``.
- ``open_interest`` — **in base-coin units** (number of contracts), mirroring
the Hyperliquid API. For BTC this might be ``28846.42`` meaning ~28.8K BTC.
Use this when comparing across exchanges that quote OI in the same units.
- ``open_interest_usd`` — derived notional in USD = ``open_interest * mark_price``.
Use this for "is this market large enough to trade?" thresholds.
- ``mark_price`` / ``oracle_price`` — both USD.
- ``day_ntl_vlm`` — 24h notional volume, **already USD-denominated**.
- ``premium`` — Hyperliquid''s own ``premium`` context field (mark vs oracle
premium), passed through unchanged.
- ``as_of`` — ms timestamp of the ``metaAndAssetCtxs`` snapshot the row came
from (one call covers the whole universe, so every row shares it).
Top level: ``generated_at`` (ms, when this payload was assembled),
``prices_as_of`` / ``funding_oi_as_of`` (ms fetch instants of the two HL
snapshots) and ``coverage`` = ``{universe_total, delisted_excluded, rows}``
— HL keeps delisted perps in its universe with a mark but no OI/funding, and
they are excluded here, which is why ``rows`` (~177) is below the ~232
universe. Refresh cadence: 1 minute. Thinly-traded perps may emit
``open_interest = 0`` legitimately when no positions are open.'
operationId: get_daily_hyperliquid_api_v1_daily_hyperliquid_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DailySnapshotResponse'
security:
- APIKeyHeader: []
/api/v1/daily/hl-traders:
get:
tags:
- Daily Snapshot
summary: Get Daily Hl Traders
description: Top trader leaderboard, wallet positions, and tracking metadata.
operationId: get_daily_hl_traders_api_v1_daily_hl_traders_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DailySnapshotResponse'
security:
- APIKeyHeader: []
components:
schemas:
DailySnapshotResponse:
properties:
available_sections:
items:
type: string
type: array
title: Available Sections
default: []
market_health:
additionalProperties: true
type: object
title: Market Health
default: {}
additionalProperties: true
type: object
title: DailySnapshotResponse
description: 'Full daily snapshot containing all current data from all collectors.
Keys are collector names (e.g., binance_spot, hyperliquid, fear_greed, etc.)
with their respective daily data payloads.'
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key