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