Do You Have Historical Data for BTC/USDT on Binance, and Should I Use REST or Flat Files?

Many customers ask:

  • “Do you have historical data for BTC/USDT on Binance?”
  • “What if I need trade data for SOL/USD on Coinbase or ETH futures from Binance?”
  • “Should I use the REST API or Flat Files to get the data?”

This tutorial answers all of those questions, and not just for BTC/USDT.

The process shown here works for any symbol and any exchange.

If you’re looking for trades, order books, quotes, or OHLCV, this is how to check what’s available, how far back it goes, and which access method to use.

Let’s walk through it using a real-world example: BTC/USDT on Binance.

You can follow the same steps for any symbol and any exchange.

Use the /v1/symbols endpoint to find supported markets.

GET <https://rest.coinapi.io/v1/symbols?filter_symbol_id=BTC_USDT>

Look for a result like this:

1{
2  "symbol_id": "BINANCE_SPOT_BTC_USDT",
3  "exchange_id": "BINANCE",
4  "symbol_type": "SPOT",
5  "asset_id_base": "BTC",
6  "asset_id_quote": "USDT",
7  "data_start": "2017-08-17",
8  "data_end": "2025-10-01",
9  "data_quote_start": "2017-12-18T00:00:00.0000000Z",
10  "data_quote_end": "2025-10-01T00:00:00.0000000Z",
11  "data_orderbook_start": "2017-12-18T00:00:00.0000000Z",
12  "data_orderbook_end": "2025-10-01T00:00:00.0000000Z",
13  "data_trade_start": "2017-08-17T00:00:00.0000000Z",
14  "data_trade_end": "2025-10-01T00:00:00.0000000Z",
15  "volume_1hrs": 144.3288,
16  "volume_1hrs_usd": 16779372.23,
17  "volume_1day": 12124.88049,
18  "volume_1day_usd": 1409613902.13,
19  "volume_1mth": 645062.5622,
20  "volume_1mth_usd": 74993659209.16,
21  "price": 116246.29000000,
22  "symbol_id_exchange": "BTCUSDT",
23  "asset_id_base_exchange": "BTC",
24  "asset_id_quote_exchange": "USDT",
25  "price_precision": 0.010000000,
26  "size_precision": 0.00000100000000000000,
27  "volume_to_usd": 116257.9625662916814784000000,
28  "symbol_id_int": 138123
29}



Pro tip: You can also filter by exchange, e.g.

?filter_exchange_id=COINBASE or ?filter_exchange_id=BINANCE

Still using the BINANCE_SPOT_BTC_USDT example, look for:

"data_trade_start": "2017-07-14T00:00:00Z",
"data_orderbook_start": "2017-12-18T00:00:00Z"

This tells you:

  • Trades available since: July 14, 2017
  • Order books available since: December 18, 2017

🎯 These fields are available for every supported symbol, not just BTC/USDT.

You can repeat this check for ETH/USD on Coinbase, DOGE/USDT on OKX, etc.

Once you’ve confirmed the data exists, choose how to access it.

Use CaseUse REST APIUse Flat Files
Quick data access (1–30 days)
Snapshots of order books or OHLCV
Full trade history over months/years⚠️ (slow)
Tick-by-tick order book updates
Massive backtests, full dataset exports
Avoid rate limits & pagination

https://www.coinapi.io/blog/rest-api-or-flat-files-choosing-the-best-crypto-data-access-method

“I need historical order book data (going back a few years) for BTC/USDT. Are Flat Files included in paid plans?”

Yes:

  • Use REST if you only need L2 snapshots (timestamped snapshots of top 20 bids/asks)
  • Use Flat Files if you need:
    • All L2 changes (inserts, updates, deletes)
    • Accurate depth for backtesting or modeling
    • Local CSV/Parquet files with full precision
  • /v1/exchanges → list of all supported exchanges
  • /v1/symbols?filter_exchange_id=BINANCE → list symbols on a specific exchange
  • /v1/symbols?filter_symbol_id=ETH_USDT → filter by asset pair
  • /v1/assets → asset-level support info (e.g., BTC, ETH)

Check data_trade_start, data_orderbook_start, data_quote_start before sending large requests.

  • REST API Reference
  • Flat Files Overview
  • Symbol Normalization Guide
  • REST vs. Flat Files Blog
QuestionAnswer
Do you have data for BTC/USDT on Binance?✅ Yes, since 2017
Does this apply to other symbols?✅ Absolutely, use the same process
REST or Flat Files?Depends on volume, speed, and depth of data needed
What's the symbol ID format?EXCHANGE_TYPE_BASE_QUOTE (e.g. BINANCE_SPOT_ETH_USDT)

Try it yourself - search for your symbol on /v1/symbols, check coverage, and choose your method.