Data Downloader
The Data Downloader at download.coinmetrics.io turns a Coin Metrics API query into a file without any code. Pick a dataset, a date range, and the markets or accounts you want, and the portal streams the result to your machine as line-delimited JSON, CSV, or Apache Parquet. Log in with your API key to start.
Get access
Go to download.coinmetrics.io, select Log in, and paste your Coin Metrics API key. The portal validates it against the API and keeps it in your browser, so you log in once per browser.
Check that the selectors list the data you expect. The portal reads entitlements from your key, so the market and asset lists cover only what your license includes.
Any valid Coin Metrics API key works. Until you log in, the portal previews a public sample of the catalog and the download controls stay locked. Speed depends on the plan behind the key: the Download plan streams as fast as your connection allows, and other plans are throttled, with an Upgrade prompt in the app.
Datasets Available
The portal carries fourteen datasets, a subset of what the API serves. Each arrives exactly as the API returns it, so follow a link for field definitions. Eleven cover market data, and the granularity column lists what the portal offers for downsampling.
The other three cover blockchain data. You select these by account or transaction ID rather than by market, and they run as queued requests rather than direct downloads.
Datasets the portal does not carry, including asset metrics, index levels, and reference data, are available through the API, the Python client, or Cloud Delivery.
File formats
.jsonl
Your browser's download folder, through a new tab
.csv
A single file at the location you pick
.parquet
part-00000.parquet, part-00001.parquet, and so on, roughly 100 MB each, in a directory you pick
JSONL streams straight from the API, so it is the fastest, and it carries every field the endpoint returns. CSV and Parquet are converted in the browser as the stream arrives, which is slower but lets you choose fields, with the required ones selected for you.
Order books are the only dataset here with nested values, the asks and bids levels, and CSV keeps just the first ten entries of one, followed by a count of what it dropped. An order book requested at 100 levels arrives with ten. Choose Parquet or JSONL when you need the full book. Every other dataset is flat, so CSV carries it complete.
CSV and Parquet are written through the File System Access API, so they need Chrome or another Chromium browser at version 86 or later. In Firefox or Safari the portal reports the API as unsupported and the download stops. JSONL works in any browser.
Download market data
Open a dataset from the portal's landing page.
Set the start and end date. Both are UTC and default to today.
Select markets. Where a dataset serves more than one market class, switch between spot, future, and option first. The list offers only markets with data inside your date range, so widen the range if something you expect is missing.
Set the parameters the dataset exposes. Candles take a frequency. Order books take a depth: 1 for top of book, 100, 10% of mid price, 30000 for the full book, or a custom value between 2 and 29999. Where a granularity selector appears it downsamples to one record per minute, hour, or day, and runs slower than
rawbecause the aggregation happens server-side.Choose a file format, and for CSV or Parquet select the fields to include.
Select Preview to check the first three rows, then Download. Parquet has no preview. A JSONL download opens in a new tab and is handed to your browser, which tracks it from there. CSV and Parquet are written by the portal itself, which reports bytes and speed as they run and offers a Cancel button.
Download blockchain account data
The three blockchain datasets run as queued requests rather than direct downloads.
Select an asset.
Add the accounts or transaction IDs the dataset takes. Enter them one at a time, paste a list, or upload a
.txtor.csvfile whose entries are separated by newlines, commas, semicolons, or tabs, with no header row.Set the point in the chain, or the range, that the dataset takes.
Select Submit Download Request. The request appears under Download Requests, where the status refreshes on its own.
When the status reads Completed, select Download Results. These three datasets deliver line-delimited JSON only.
Completed results expire at the time shown in the table. The request list also lives in your browser, so logging out clears it and you cannot see your requests from another machine. Copy the job ID if you may need to follow up.
Automate a download
Once a market data selection is complete, the Automate downloads / API call examples panel renders it as a runnable curl command and as a Python script. Both write to the same filename the browser download would produce. Copy either one, or save it as a .sh or .py file, and you have a repeatable version of the download you configured by hand. The examples carry YOUR_API_KEY, and a toggle substitutes the real key from your session, so treat anything copied afterward as a secret. The panel appears when the format is JSONL, and it links to the API reference for the endpoint behind your selection.
Limits and notes
Keep the tab open for CSV and Parquet. Both are converted in the page as the stream arrives, so closing the tab or navigating away ends the download and leaves a partial file. JSONL hands off to the browser instead, and finishes on its own.
A wide market selection can exceed the request limit. Every selected market goes into the query string, and the API rejects a request whose URI runs past 10,000 characters. That works out to a few hundred markets, and fewer where the identifiers are long, as option market identifiers are. Split a wide selection into several downloads.
No cap applies to the date range. A longer range simply takes longer, and order book depth drives file size harder than either the range or the market count. If you are unsure of the volume, run a short range first and check the size of the file it produces.
History depends on the market, not on the portal. Because the market list is filtered to markets with data in your range, an empty list usually means the range predates the market rather than that the dataset is unavailable. The coverage tool is the authoritative source for what exists.
Related
Python API Client: make the same requests in code, with paging and parallel fetching handled for you.
Cloud Delivery: scheduled bulk delivery of these datasets to Amazon S3 or Snowflake.
API Conventions: the parameters, formats, and paging rules the portal is built on.
Last updated

