Introducing

API v4.0

Coin Metrics data is now available through a new, unified, simple to use API. At Coin Metrics, we continually invest in our technology and APIs to improve usability for our customers. API v4.0 highlights include:

  • Unification of the endpoints. v4.0 has a consistent and simple interface for all the endpoints and provides the data through two types of endpoints: catalog and timeseries
  • Improved speed for asset metrics timeseries endpoints for large requests
  • More meaningful error responses
  • Failover and graceful shutdown with zero client interruption during API updates
  • Ability to request multiple assets, metrics, and markets at once
  • Standardized nano timestamps in all responses and in the “timezone” query parameter

Learn More

Contact us at [email protected] if you would like to get access or learn more about the v4.0 API.

What’s New in the API v4.0

General

  • Consistent and simple structure with two types of endpoints: catalog & time series
  • Consistent naming for query parameters and response fields
  • “api_key” query parameter is the only authentication
  • Optional pretty print response formatting for all endpoints
  • Generalized asset metics frequencies so the same metrics can be retrieved using different frequencies and/or different EOD close times
  • Improved performance of catalog & time series endpoints
  • Typos handling: requests fail on unknown parameters or values
  • Meaningful error responses
  • Failover to another backend and graceful server shutdown during rolling updates

Catalog

  • Two types of catalog endpoints:
  • /catalog for data available for specific api_key
  • /catalog-all for full catalog of all Coin Metrics data
  • Time ranges (min_time, max_time), height ranges, and hash ranges for each asset-metric pair time series (v2 shows this only on per asset basis)
  • Metrics, markets and indexes aren’t advertised via the catalog endpoint if we don’t have data for them in the database
  • New “community” flag for community metrics in the /catalog/assets endpoint
  • Flows metrics, which can change after manual review, are marked as “reviewable”
  • “reviewable” flag was added for metrics in the /catalog/metrics endpoint
  • Flows metrics now have “*-status” and “*-status-time” companion metrics
  • Improved markets discovery endpoint /catalog/markets with ability to filter results by asset, base, quote, type, exchange or symbol
  • New /catalog/indexes endpoint

Time Series

  • Time series response format is Pandas friendly
  • Common query parameters among all time series endpoints
  • CSV output format for all asset metrics via “format” query parameter
  • Ability to request multiple assets, metrics or markets at once
  • Сonvenient and consistent paging of response – just open the “next_page_url” JSON field of responses to fetch the next page
  • Standardized nano timestamps in all responses and “timezone” query parameter
  • Consistent human-friendly and JavaScript-friendly number format – exponential/scientific notation is not used
  • Strict policy for gaps in the data; API doesn’t fill any gaps in the data
  • Strict policy for partially available metrics among requested ones:
  • missing metric name in the JSON response means that the metric is “not a supported metric”
  • while some other requested metrics are supported.
  • null value of the metric means “no data in the database” while some other requested metrics have data.

Time Series Streaming

  • WebSocket streaming via the same domain (api.coinmetrics.io)
  • No dropped messages in WebSocket endpoints due to another approach of handling slow clients
  • “warning” events in case of falling behind (60% send queue full) and “error” events before disconnection
  • PING frames for keeping WebSocket connection active to minimize chance of unexpected disconnections