FinzData

Crypto Historical Data API

Our crypto data API delivers daily OHLCV bars for 15 major cryptocurrency pairs versus USD, with history dating back to 2015 for backtesting and analysis.

Get a free API key See pricing Download free samples

Overview

Our crypto historical data API provides daily bars back to July 2015 (BTC-USD; each other pair from its first trading day) for 15 cryptocurrency pairs quoted in USD: BTC, ETH, SOL, XRP, ADA, DOGE, AVAX, LINK, LTC, BCH, DOT, UNI, AAVE, XLM, ATOM. Each pair follows the symbol convention like "BTC-USD" for seamless integration with our Python client. The data includes adjusted close prices that account for splits and dividends where applicable, stored as traded with corporate actions applied on read. This ensures survivorship-free, point-in-time accurate datasets suitable for quantitative research and strategy development.

Data Coverage

Coverage spans from 2015 to present with daily granularity, offering over 3,500 days of history for each pair. The dataset includes all major cryptocurrencies by market cap and liquidity, enabling diversified portfolio analysis. Data is sourced from our vendor and undergoes rigorous validation to ensure completeness and accuracy. Unlike exchange-specific APIs that may have limited history or changing schemas, our unified format provides consistent fields across all pairs and timeframes, eliminating the need for complex data normalization in research workflows.

Python Access

import finzdata as yf
# Get daily BTC-USD data since 2015
df = yf.Ticker("BTC-USD").history(start="2015-01-01")
print(f"Retrieved {len(df)} days of data")

Backtesting Features

The API supports calendar-aware backtesting essential for realistic crypto strategy evaluation. Since cryptocurrency markets trade 24/7 with no closing hours, our data aligns with universal time coordinates to prevent look-ahead bias. Users can implement daily rebalancing strategies knowing each bar represents a complete trading day. The continuous trading nature means gap risk differs from traditional markets, making proper time handling critical for accurate simulation results, especially for strategies sensitive to intra-day volatility or specific hourly patterns.

Related Instruments

Beyond spot cryptocurrency pairs, our platform includes data for crypto-linked equities treated as normal stock tickers. This encompasses publicly traded crypto mining companies (such as those involved in Bitcoin mining operations) and cryptocurrency exchange-traded products (ETPs) that provide exposure to digital assets through traditional brokerage accounts. These instruments are accessed via the same Ticker interface using their standard equity symbols, enabling correlation analysis between spot crypto prices and related equity performance without switching APIs or data formats.

Data Quality

All crypto data undergoes automated validation checks for anomalies, gaps, and consistency with known market events. Price series are verified against multiple data points from our vendor to ensure reliability. The dataset maintains uniform trading calendars, treating each day as a complete trading session despite 24/7 market operation. This approach simplifies analysis while preserving the integrity of daily returns calculations. Users receive data that is clean, synchronized, and ready for immediate use in statistical modeling, machine learning, or portfolio optimization workflows.

Frequently asked questions

What cryptocurrency pairs are available in the crypto data API?

The API provides daily data for 15 major cryptocurrency pairs versus USD: BTC-USD, ETH-USD, SOL-USD, XRP-USD, ADA-USD, DOGE-USD, AVAX-USD, LINK-USD, LTC-USD, BCH-USD, DOT-USD, UNI-USD, AAVE-USD, XLM-USD, ATOM-USD.

How far back does the crypto historical data go?

Daily historical data is available for all 15 cryptocurrency pairs from each pair's first trading day (BTC-USD back to July 2015), providing over 3,500 days of BTC-USD history for backtesting and analysis.

How do I access crypto data using the Python client?

Use two lines of code: import finzdata as yf, then df = yf.Ticker("BTC-USD").history(start="2015-01-01") to get a pandas DataFrame with OHLCV data for any of the 15 supported pairs.

Is the crypto data suitable for backtesting trading strategies?

Yes, the data supports calendar-aware backtesting with 24/7 market awareness. Each daily bar represents a complete trading day, and the continuous trading nature is properly handled to avoid look-ahead bias in strategy evaluation.

Can I access crypto-related stocks and ETFs through the same API?

Yes, crypto mining companies and exchange-traded products are available as normal stock tickers using the same Ticker interface, enabling seamless correlation analysis between spot prices and related equities.

Can I backtest a crypto strategy alongside stocks and macro data?

Yes. Crypto bars use the same history call and pandas DataFrame shape as stocks and ETFs, so you can join BTC-USD or ETH-USD to equity prices, the Commitments of Traders report or macro series on date. Because crypto trades every day, align calendars explicitly: resample crypto to business days, or forward-fill equity and macro series onto the 24/7 calendar before you compute signals, so weekend moves are not silently dropped or double counted in your backtest.