Tick-level
crypto data.
Verified, normalized, free.
Historical high-frequency cryptocurrency market data for research
Download historical L2 order books, tick trades, funding rates, liquidations and open interest from major crypto exchanges for backtesting and market-microstructure research.
No credit card · Sign up with email or Google in seconds
Explore CryptoHFTData datasets and tools
01 / Normalized
9 dialects.
One schema.
Every exchange streams its order book in its own format. We map each one onto the same 13 columns, keep prices as the exact strings sent, and leave fields a venue never provides as null instead of inventing them.
{"e": "depthUpdate",→ event_type"E": 1788350399886,→ event_time"T": 1788350399885,→ transaction_time"s": "BTCUSDT",→ symbol"U": 11454752530038,→ first_update_id"u": 11454752532647,→ final_update_id"pu": 11454752529739,→ prev_final_update_id"a": [["76788.60", "2.682"], …],→ side · price · quantity"b": [ … ]}
Normalized row · 13 columns
binance_futures/2026-09-02/12/BTCUSDT_orderbook.parquet
- received_timecollector clock, ns
- 1788350400007361359
- event_time
- 1788350399886
- transaction_time
- 1788350399885
- symbol
- BTCUSDT
- event_type
- update
- first_update_id
- 11454752530038
- final_update_id
- 11454752532647
- prev_final_update_id
- 11454752529739
- last_update_id
- null
- side
- ask
- price
- 76788.60
- quantity
- 2.682
- order_count
- null
Normalized values are real rows from the published sample hour. Raw messages are reconstructed from those rows and abridged.
02 / Verified
Data you can trust with a backtest.
Exchange feeds drop messages, reorder them, and disconnect. We check every update as it arrives and audit every file after it is published, so problems surface in our checks instead of your backtest.
- Sequence-checked as it streams
- Order book updates are checked against exchange sequence IDs and checksums wherever the venue provides them. A detected gap re-anchors the book from a fresh snapshot.
- Re-audited every hour
- Every published hour is read back end to end: books are rebuilt and checked for crossings and sequence gaps, and every file for time regressions and duplicate rows.
- Two clocks on every row
- Nanosecond receive time from our collectors, stored next to the exchange's own event time.
- Exact, never rounded
- Prices and sizes are kept as the exact strings the exchange sent, so there is no floating-point drift.
Hourly audit
binance_futures / BTCUSDT / orderbook / 12:00 UTC
- 5.45M rows
Book rebuilt from snapshot + deltas
Every row replayed in order
- 0 crossed
Never crossed
Best bid below best ask after every event
- 0 gaps
Sequence continuity
Update IDs chain without gaps or regressions
- monotonic
Time order
Timestamps never move backwards
- 0 found
Duplicates
No repeated rows or trade IDs
- valid
Schema
Required columns present, symbol matches file
Unified schema across 9+ major spot and derivatives venues
Every venue that matters to your book.
Centralized giants and on-chain perps, collected side by side and published on the same hourly clock.
- Exchanges
- 9
- Markets
- 15
- Data types
- 6
- Your cost
- $0.00
For developers
Three lines of Python.
Every exchange.
Install the SDK, paste your key, and pull order books, trades, funding rates, and liquidations straight into a DataFrame. Your first backtest can be running before your coffee cools.
6
Data types
Hourly
Data updates
100%
Free access
import cryptohftdata as chd # Initialize the CryptoHFTData clientclient = chd.CryptoHFTDataClient(api_key="your-api-key-here") # Load full Binance Futures order book historyorderbook_df = client.get_orderbook( symbol="ETHUSDT", exchange=chd.exchanges.BINANCE_FUTURES, start_date="2025-07-16", end_date="2025-07-16") # Inspect the resultsprint(f"Updates captured: {len(orderbook_df):,}")print(orderbook_df.head())
03 / Free
One plan. Everything included.
Free while we grow. There is no catch.
CRYPTOHFTDATA
Launch access · monthly
- L2 order book snapshots$0.00
- Every order book update$0.00
- Tick trades$0.00
- Funding & mark price$0.00
- Liquidations$0.00
- Open interest$0.00
- Hourly Parquet files$0.00
- REST API + Python SDK$0.00
- Bulk downloads$0.00
- Usage caps (launch)none
- Credit cardnot needed
Thank you for not paying
Order Book
L2 tick-by-tick
Snapshots plus every update
Update Frequency
Hourly
New files published at :01 UTC
File Format
Parquet
Columnar, typed, compressed
History Start
June 2025
Start dates vary by exchange
Cost
$0.00
No usage caps during launch
| Capability | CryptoHFTData | Details |
|---|---|---|
| Order Book | L2 tick-by-tick | Snapshots plus every update |
| Update Frequency | Hourly | New files published at :01 UTC |
| File Format | Parquet | Columnar, typed, compressed |
| History Start | June 2025 | Start dates vary by exchange |
| Cost | $0.00 | No usage caps during launch |
- No credit card
- Sign up with email or Google. There is nothing to cancel.
- Free tier stays forever
- Paid plans may arrive as we grow, but a generous free tier is permanent.
- Why free?
- We want this data inside as many backtests as possible while we grow.
Historical market data for agents and researchers
A data API built for reproducible crypto research.
CryptoHFTData collects high-frequency public market feeds from major spot and derivatives exchanges, normalizes them into a consistent schema, and publishes research-ready hourly Parquet files. The archive includes tick-level trades, full L2 order book updates and snapshots, funding and mark-price records, open interest, and liquidation events. Researchers can use the same field conventions across venues instead of maintaining a separate parser for every exchange.
Choose browser, REST, Python, CLI, or bulk-file access
Start without credentials by exploring public datasets or making a rate-limited REST download. For repeatable workflows, create a free account, generate an API key yourself, and exchange it for a short-lived bearer token. The Python package reads the published files into data frames, while the OpenAPI contract, agent skills, and MCP metadata let automated clients discover supported operations before they call them. Every dataset page documents coverage, schema, known caveats, and an example request.
Verify availability before running a backtest
Exchange symbols and feed availability change over time. Query the symbols endpoint for the requested venue and data family, inspect the live ingestion status, and keep the exact exchange, date, hour, symbol, and data type in each research artifact. This produces an auditable input path and avoids silently substituting a similar market. Developer documentation explains authentication, rate limits, versioning, error handling, and flat-file access for both people and software agents.
Stop paying for
market data.
Order books, trades, funding rates, liquidations, and open interest. One API key. $0.00.
30 seconds to sign up · No credit card
Full tick-level data. $0.00 · No credit card