cryptodataapi-com Daily Snapshot API

One-call daily market overview — health scores, derivatives, sentiment, macro, cycle indicators, and coin profiles. Rebuilt 20:00 UTC.

Operations 4

GET /api/v1/daily Get Daily Snapshot #
GET /api/v1/daily/prices Get Daily Prices #
GET /api/v1/daily/hyperliquid Get Daily Hyperliquid #
GET /api/v1/daily/hl-traders Get Daily Hl Traders #

Work with this as data

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 Specification

cryptodataapi-com-daily-snapshot-api-openapi.yml Raw ↑
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