Aperiodic
DataFactors
Catalog
Pricing
Get Started

Raw data · Prime + Raw

Raw trades, quotes and derivatives data, next to the metrics built from it

For Binance, OKX and Hyperliquid perpetuals. Same API key, same symbols, one Parquet file per month of history and per day since August 2026. Metrics stay the fast path; raw is for when you need the ticks.

What’s included

Six raw datasets, counted separately from the 19 metric datasets. Every file starts with exchange_timestamp, local_timestamp and local_timestamp_kind, then the columns below; exchange and symbol come from the path. Hyperliquid's derivative feed carries no exchange time, so in its mark price, index price, funding and open interest files exchange_timestamp is modelled, and an exchange_timestamp_kind column says so.

Trades

Every print, with the venue’s trade id and taker side.

tradesBinance USDⓈ-M · OKX · Hyperliquid

Every trade printed on the venue, with its trade id, taker side, price and size.

  • id
  • side
  • price
  • amount

Quotes

Every change at the top of the book.

quotesBinance USDⓈ-M · OKX · Hyperliquid

Top-of-book updates: best bid and best ask with their sizes, one row per change.

  • bid_price
  • bid_amount
  • ask_price
  • ask_amount

Derivatives

Mark and index price, funding and open interest, one row per change.

mark_priceBinance USDⓈ-M · OKX · Hyperliquid

The venue’s mark price, one row each time it changes.

  • mark_price
index_priceBinance USDⓈ-M · OKX · Hyperliquid

The venue’s index price for the contract’s underlying, one row each time it changes.

  • index_price
funding_rateBinance USDⓈ-M · OKX · Hyperliquid

The current funding rate and the next funding time, one row each time either changes.

  • funding_rate
  • next_funding_timestamp
open_interestBinance USDⓈ-M · OKX · Hyperliquid

Open interest as the venue reports it, one row each time it changes.

  • open_interest
Full schema and per-symbol coverage in the raw catalog

Coverage

DatasetBinance USDⓈ-MOKXHyperliquid
tradesJan 2020Sep 2019Jan 2025
quotesJan 2020Sep 2019Jan 2025
mark_priceMar 2020Oct 2019Mar 2025
index_priceMar 2020Oct 2019Mar 2025
funding_rateJan 2020Sep 2019Feb 2025
open_interestFeb 2020Nov 2019Feb 2025

First month across all symbols of a venue; the raw catalog and /api/v1/metadata/raw list every symbol with its own coverage. Perpetuals only.

How delivery works

Try it without an account

The shared key DEMO-KEY gets the 2025-06 file of each venue’s BTC perpetual, for every dataset, with no account and no API key of your own.

terminal
# Save the 2025-06 trades file in this folder — no account needed
file=binance-futures_trades_perpetual-BTC-USDT-USDT_2025-06.parquet
curl -fLG -H "X-API-KEY: DEMO-KEY" \
  "https://aperiodic.io/api/v1/data/raw/preview/trades" \
  -d exchange=binance-futures \
  -d symbol=perpetual-BTC-USDT:USDT \
  -d download=true \
  -o "$file" && echo "Saved to $PWD/$file"

Every dataset and venue, with its command, is in the catalog’s preview data.

Ask the API

One request per dataset, symbol and date range (up to 366 days), with your usual X-API-KEY.

Get signed URLs

The response lists every Parquet file that overlaps the range, each with a download URL valid for one hour.

Read a folder

The Python client and the CLI download them into the same folder layout, skipping files you already have.

With your API key

Install the Python client, then load a range into a DataFrame or sync it to a folder.

pip install "aperiodic[polars]"
pypi ↗

Into a DataFrame

example.py
from datetime import date
import aperiodic as ap

df = ap.get_raw(
    api_key="YOUR_KEY",
    dataset="trades",
    exchange="binance-futures",
    symbol="perpetual-BTC-USDT:USDT",
    start_date=date(2025, 6, 1),
    end_date=date(2025, 6, 3),
)
print(df.head())

Sync a folder

example.py
from datetime import date
import aperiodic as ap

# Skips files already in ./raw, so running it again resumes
ap.download_raw(
    api_key="YOUR_KEY",
    dataset="trades",
    exchange="okx-perps",
    symbol="perpetual-BTC-USDT:USDT",
    start_date=date(2025, 1, 1),
    end_date=date(2025, 12, 31),
    output_dir="raw",
)

File layout

Monthly and daily files sit at different depths, so read a folder with a glob and filter on exchange_timestamp.

raw/trades/exchange=binance-futures/symbol=perpetual-BTC-USDT:USDT/
  year=2025/month=06/data.parquet            one file per month before 2026-08-01
  year=2026/month=08/day=10/data.parquet     one file per day from 2026-08-01
terminal
# DuckDB, from the folder that holds ./raw
duckdb -c "SELECT * FROM read_parquet('raw/trades/**/data.parquet')
  WHERE exchange_timestamp >= '2025-06-01' LIMIT 10"
example.py
from datetime import datetime, timezone
import polars as pl

df = (
    pl.scan_parquet("raw/trades/**/data.parquet")
    .filter(pl.col("exchange_timestamp") >= datetime(2025, 6, 1, tzinfo=timezone.utc))
    .collect()
)
print(df.head())

Timestamps, plainly

  • exchange_timestamp is the venue's own time for the event, exactly as it published it.
  • local_timestamp is when the event reached the capture machine. For days we captured ourselves it is measured. For days before that it is modelled: exchange_timestamp plus a latency drawn from the distribution we measure on our own capture, per venue and dataset.
  • local_timestamp_kind says measured or modelled on every row. Don't use modelled days for latency research.

Not included, yet

Raw L2 order books, liquidations, spot, dated futures and venues other than Binance, OKX and Hyperliquid. Our L2 metrics are on Prime and above.

Prime + Raw

$1,249 / month, billed yearly

$1,579 month to month. Institutional plans include raw data.

  • Everything in Prime
  • Raw trades, top-of-book quotes, mark and index price, funding, open interest
  • Binance, OKX and Hyperliquid perpetuals
  • Full history, updated daily
  • Parquet files through the API, the CLI and the Python client

Aperiodic

Crypto microstructure, liquidity & flow metrics — built from hundreds of terabytes of raw data, distilled into point-in-time metrics you can pull as parquet files. Plus the raw trades, quotes and derivatives data behind them.

Registered office
Aperiodic Limited
136 Capel StreetDublin, D01 T2C9Ireland
Registered in Ireland · Company No. 815273

© Copyright 2026 Aperiodic. All Rights Reserved.

Product
  • Data Catalog
  • Pricing
  • API Docs
  • Notebooks
  • Find new alpha
  • Roadmap
  • Changelog
  • FAQ
  • For AI Agents
  • Atlas Security Master
Metrics
  • Order Flow
  • L1 — Top of Book
  • L2 — Order Book
  • Market Data
  • Derivatives
  • Raw Data
Channels
  • Blog: Research Insights
  • Microstructure Guide
  • Data vendors compared
  • Aperiodic vs. Tardis
  • Aperiodic vs. CoinGlass
  • Aperiodic vs. Kaiko
  • Aperiodic vs. Amberdata
  • LinkedIn
Company
  • Contact
  • Book a call
  • Terms of Service
  • Privacy Policy
  • LLM? Read this.

Provided for informational purposes only; not investment advice, a recommendation, or an offer to transact. Past performance is not indicative of future results.