How To Export Data

This guide will show you how to export data using the Coin Metrics API.

HTTP API

On a web browser, you can append any valid API request URL with &format=csv or &format=json to download the data in CSV or JSON format, respectively.

For example:

https://api.coinmetrics.io/v4/timeseries/asset-metrics?api_key=<YOUR_API_KEY>>&assets=eth&metrics=PriceUSD&frequency=1d&end_time=2015-08-01&start_inclusive=false&format=csv

Google Sheets

On the formula tab, you can use the IMPORTDATA function on the HTTP call on a cell:

=IMPORTDATA("https://api.coinmetrics.io/v4/timeseries/asset-metrics?metrics=CapMrktEstUSD,SplyCur,PriceUSD,CapMrktCurUSD&api_key=<API_KEY>&assets=usdc&frequency=1d&limit_per_asset=1&format=csv")

Python API Client

In the Python API client, you can use the export_to_csv and export_to_json methods to export data to a CSV or JSON file.

For example:

from coinmetrics.api_client import CoinMetricsClient

client = CoinMetricsClient()

client.get_asset_metrics(
    assets = ["btc", "eth"], 
    metrics = ["PriceUSD"], 
    start_time = "2024-01-01",
    end_time = "2024-01-31"
).export_to_csv("sample_data.csv")

client.get_asset_metrics(
    assets = ["btc", "eth"], 
    metrics = ["PriceUSD"], 
    start_time = "2024-01-01",
    end_time = "2024-01-31"
).export_to_json("sample_data.json")

As of version 2025.9.17.17, exporting to JSON files using the Python API Client is as fast using a curl command. See these release notes for more on benchmarking.

Exporting data can be sped up significantly by splitting the API calls to parallel threads.

Note that the download speed is evenly divided between all active connections of a single api key. 10 parallel connections are allowed. Excessing connections will be queued (no data transfer will happen).

Last updated

Was this helpful?