Binance BTCUSDT spot historical order book & tick data
6.72M trade and depth events for BTCUSDT on Binance spot since 2025-06-01 — about 13,125 events a day.
Coverage
BTCUSDT spot data coverage
What is recorded, how often it updates and how much there is.
History start
2025-06-01
512 days of history
Events recorded
6,720,000
≈ 6.72M as of 2026-10-25
Avg events / day
13,125
trade · depth update
Update frequency
Every trade tick-by-tick; depth diffs at 100 ms
Daily activity · last 30 days
Indicative daily event volume, last 30 days to 2026-10-25. Shape modeled from collector stats; mean matches the average events/day above.
About this market
What is BTCUSDT spot?
BTCUSDT is the most active pair on the most active spot venue, so its tape is where microstructure research on Binance usually starts — every trade, plus 100 ms depth diffs down to the tick. AymarData has recorded 6.72M events on Binance spot BTCUSDT since 2025-06-01: every trade, plus order-book updates at 100 ms.
Bitcoin is the market's reserve asset and the benchmark every other crypto instrument is quoted against. The things that move BTC on spot are, in rough order: US spot-ETF creations and redemptions, which show up as persistent one-way flow around the New York cash open; macro prints (CPI, payrolls, FOMC) that reprice the dollar and real yields within seconds; and liquidation cascades on leveraged venues, which turn a 1% move into a 3% wick. Each shows up in the data differently — as a burst of aggressive trades, as depth leaving one side of the book, or as a widening spread.
With about 13,125 events a day, BTCUSDT is dense enough for genuine execution research: rebuild the book from depth diffs, replay trades against it, and measure how much a market order of a given size would have moved the price at each moment. It is also the reference leg for most basis, lead-lag and prediction-market-settlement studies.
What moves BTCUSDT spot
- US spot-ETF creations and redemptions, which show up as persistent one-way flow around the New York cash open
- Macro prints (CPI, payrolls, FOMC) that reprice the dollar and real yields within seconds
- Liquidation cascades on leveraged venues, which turn a 1% move into a 3% wick
Schema
BTCUSDT spot fields and sample rows
The same columns are returned by the API and in Parquet and CSV files.
| Field | Type | Description |
|---|---|---|
| ts_ms | int64 | Exchange event time, Unix milliseconds |
| symbol | string | Binance symbol, here BTCUSDT |
| event_type | string | trade | depth_update |
| side | string | buy / sell for trades (taker side); bid / ask for depth |
| price | number | Trade price or book level in USDT |
| size | number | Base-asset quantity; 0 on a depth update means the level was removed |
Sample rows
| ts_ms | symbol | event_type | side | price | size |
|---|---|---|---|---|---|
| 1792679412719 | BTCUSDT | trade | buy | 67240.7 | 0.0325 |
| 1792679412991 | BTCUSDT | trade | sell | 67240.6 | 0.0445 |
| 1792679413232 | BTCUSDT | depth_update | bid | 67240.4 | 0.0196 |
Illustrative rows for BTCUSDT on Binance spot; prices are in USDT and shown for schema purposes, not as live quotes.
Code
Pull BTCUSDT spot in Python, cURL or MCP
Market id: BTCUSDT. Export AYMARDATA_API_KEY from your dashboard, then run the Python requests example.
import os
import requests
API = "https://api.aymardata.com/v1"
KEY = os.environ["AYMARDATA_API_KEY"] # export AYMARDATA_API_KEY=ad_live_…
H = {"Authorization": f"Bearer {KEY}", "User-Agent": "aymardata-docs/1.0"}
# BTCUSDT spot: five minutes of trades
trades = requests.get(
f"{API}/trades",
headers=H,
params={
"source": "binance-spot",
"market": "BTCUSDT",
"start": "2026-10-22T14:30:00Z",
"end": "2026-10-22T14:35:00Z",
"limit": 500,
},
timeout=30,
).json()["data"]
buys = [t for t in trades if t["side"] == "buy"]
print(f"{len(buys)} of {len(trades)} BTCUSDT prints were taker buys")
book = requests.get(
f"{API}/book",
headers=H,
params={
"source": "binance-spot",
"market": "BTCUSDT",
"at": "2026-10-22T14:32:00Z",
"depth": 10,
},
timeout=30,
).json()
print(book.get("spread"), len(trades))FAQ
BTCUSDT spot: common questions
How granular is the BTCUSDT spot order book data?
Depth updates are recorded at the 100 ms stream cadence and every trade is stored with its exchange timestamp. At about 13,125 events a day for BTCUSDT, you can rebuild the book at any instant and replay trades against it.
What moves BTCUSDT on Binance spot?
Mainly US spot-ETF creations and redemptions, which show up as persistent one-way flow around the New York cash open, and macro prints (CPI, payrolls, FOMC) that reprice the dollar and real yields within seconds. BTCUSDT is the most active pair on the most active spot venue, so its tape is where microstructure research on Binance usually starts — every trade, plus 100 ms depth diffs down to the tick.
How much BTCUSDT spot data is there?
6.72M events since 2025-06-01, averaging 13,125 per day. Events carry the Binance exchange timestamp in milliseconds; trades record the taker side.
How does BTCUSDT spot compare with the BTCUSDT perpetual?
Spot is the cash reference; the perp adds mark price and funding. Joining the two on timestamp gives you basis and lead-lag — see the BTC perp page for the matching feed.
How do I pull BTCUSDT spot trades with the API?
Call GET /v1/trades with source=binance-spot and market=BTCUSDT plus start and end timestamps (Python requests examples on this page). Ready to run with your API key.
Related
Related markets and next steps
BTC perpetual
Funding, mark price and perp depth
ETHUSDT spot
Related Binance spot pair
SOLUSDT spot
Related Binance spot pair
ZECUSDT spot
Related Binance spot pair
Polymarket: BTC Up/Down 15m
Prediction-market view of the same asset
Hyperliquid: BTC perp
On-chain perpetual
Kalshi: KXBTCD BTC Daily
Kalshi contracts on the same asset
← All binance data
Parent hub for Binance spot
Pricing →
Builder, Pro and Enterprise plans
Backtest BTCUSDT spot with real tick data
Get an API key, pull your first window and join it with the other sources in the catalog.