When most traders say "slippage," they mean the gap between expected and realized price. But that colloquial definition conflates several distinct costs. Precise measurement requires decomposing execution quality against observable benchmarks — a framework that traces back to Perold's (1988) concept of implementation shortfall.
/api/v1/data/slippage
Trades
slippage_meanMean SlippageAverage slippage in price units versus the prevailing quoteslippage_bps_meanMean Slippage (bps)Average slippage in basis points versus the prevailing quoteslippage_bps_stdSlippage Std Dev (bps)Standard deviation of slippage in basis pointsslippage_bps_medianMedian Slippage (bps)Median slippage in basis pointsslippage_bps_p95Slippage P95 (bps)95th percentile slippage in basis pointsslippage_bps_vwapVWAP Slippage (bps)Trade-size-weighted average slippage in basis pointsslippage_bps_buy_meanBuy Slippage Mean (bps)Average slippage in basis points for buy-side tradesslippage_bps_sell_meanSell Slippage Mean (bps)Average slippage in basis points for sell-side tradesslippage_bps_buy_sell_ratioBuy/Sell Slippage RatioBuy-side average slippage divided by sell-side average slippageslippage_bps_sell_buy_ratioSell/Buy Slippage RatioSell-side average slippage divided by buy-side average slippagefrom datetime import date
from aperiodic import get_metrics
# Free preview — no API key required
df = get_metrics(
metric="slippage",
exchange="binance-futures",
symbol="perpetual-BTC-USDT:USDT",
interval="5m",
timestamp="exchange",
start_date=date(2025, 5, 1),
end_date=date(2025, 5, 31),
preview=True,
)
print(df.head())timestampreqstringTimestamp source. 'exchange' uses the exchange-reported timestamp, 'true' uses actual arrival time at our servers.
exchangetrueintervalreqstringAggregation time interval for the data. Sub-minute intervals (15s, 30s) require a Tier 3 subscription.
15s30s1m5m15m30m1h4h1dexchangereqstringSource exchange for the data.
binance-futuresokx-perpshyperliquid-perpssymbolreqstringTrading pair symbol in the format of Atlas' universal symbology: https://github.com/aperiodic-io/atlas
start_datereqstring<date>Start date for the data range (YYYY-MM-DD format). Data is partitioned by year and month.
end_datereqstring<date>End date for the data range (YYYY-MM-DD format). Must be greater than or equal to start_date.
Successful response with download URLs for every file covering the range — one per month before 2026-08-01, one per day from 2026-08-01 onwards
filesobject[]requiredFiles covering the requested date range, in chronological order. Data before 2026-08-01 is split by month (one file per calendar month, no `day`); data from 2026-08-01 onwards is split by day (one file per calendar day, with `day` set). The changeover falls on a month boundary, so a given month is served entirely one way or the other; a range spanning it returns the earlier months as monthly files followed by a daily file per day.
yearintegerrequiredYear of the data file
monthintegerrequiredMonth of the data file (1-12)
dayintegerDay of the data file (1-31). Present only on daily files, i.e. those covering 2026-08-01 onwards. Absent on monthly files, which cover an entire calendar month.
urlstring<uri>requiredPresigned URL for direct file download (valid for 5 minutes). URLs are served from dataset-specific subdomains, e.g. ohlcv.aperiodic.io, trade-metrics.aperiodic.io, l1-metrics.aperiodic.io, l2-metrics.aperiodic.io, derivative-metrics.aperiodic.io.
{
"files": [
{
"year": 2026,
"month": 6,
"url": "https://ohlcv.aperiodic.io/binance-futures/1h/BTCUSDT/2026-06.parquet?X-Amz-Expires=300&..."
},
{
"year": 2026,
"month": 7,
"url": "https://ohlcv.aperiodic.io/binance-futures/1h/BTCUSDT/2026-07.parquet?X-Amz-Expires=300&..."
},
{
"year": 2026,
"month": 8,
"day": 1,
"url": "https://ohlcv.aperiodic.io/binance-futures/1h/BTCUSDT/2026-08-01.parquet?X-Amz-Expires=300&..."
},
{
"year": 2026,
"month": 8,
"day": 2,
"url": "https://ohlcv.aperiodic.io/binance-futures/1h/BTCUSDT/2026-08-02.parquet?X-Amz-Expires=300&..."
}
]
}
Prefilled with the shared DEMO-KEY and a free preview slice — send the request to see live data, no account required.
/api/v1/data/preview/slippage?timestamp=exchange&interval=5m&exchange=binance-futures&symbol=perpetual-BTC-USDT%3AUSDT&start_date=2025-05-01&end_date=2025-05-31Access a curated slice of real production data with just an account — no credit card or subscription required. Pair it with our research notebooks to get started instantly.