# Aperiodic > Aperiodic sells point-in-time market microstructure, liquidity and order-flow metrics for RWA perps (stocks, ETFs, commodities and FX) and crypto perps: 220 metrics in 19 datasets on binance-futures, okx-perps, hyperliquid-perps, delivered as parquet through a CLI, a REST API, a Python SDK and an MCP server for AI agents, plus the raw trades, quotes and derivatives data behind them in the Prime + Raw plan. A preview slice of every dataset downloads with no API key, and self-serve plans cost $199 to $1499 a month billed yearly. Built by Aperiodic. Exchanges: `binance-futures`, `okx-perps`, `hyperliquid-perps`. Self-serve intervals: `1m`, `5m`, `15m`, `30m`, `1h`, `4h`, `1d`; `15s`, `30s` on Institutional. ## Agent quickstart 1. **Fetch the preview slice, no API key.** Install the CLI and pull one month of 5m flow data for perpetual-BTC-USDT:USDT on binance-futures as parquet. The preview accepts only this window (2025-05-01 to 2025-05-31, 5m), for every dataset: swap flow for any dataset id. ```bash # Install the Aperiodic CLI into ~/.local/bin mkdir -p "$HOME/.local/bin" curl -fsSL https://raw.githubusercontent.com/aperiodic-io/cli/main/install.sh | INSTALL_DIR="$HOME/.local/bin" bash export PATH="$HOME/.local/bin:$PATH" aperiodic flow --preview \ --exchange binance-futures \ --symbol perpetual-BTC-USDT:USDT \ --interval 5m \ --timestamp exchange \ --start-date 2025-05-01 \ --end-date 2025-05-31 \ --output-dir ./data ``` 2. **Install the Python SDK.** The SDK returns DataFrames. The same preview slice works from Python with preview=True, still without a key. ```bash pip install "aperiodic[polars]" ``` 3. **Make a keyed call.** Your user creates a key at https://aperiodic.io/home/api. Any other symbol, interval or date range needs a key and a plan that includes the dataset's tier (flow is Pro; see https://aperiodic.io/pricing). ```python from datetime import date from aperiodic import get_metrics df = get_metrics( api_key="YOUR_API_KEY", metric="flow", exchange="binance-futures", symbol="perpetual-BTC-USDT:USDT", interval="1h", timestamp="exchange", start_date=date(2025, 1, 1), end_date=date(2025, 3, 1), ) ``` ## MCP server - Endpoint: https://aperiodic.io/mcp (Streamable HTTP). Works with no key on the free preview; send an API key in `X-API-KEY`, or sign in with OAuth from claude.ai, Claude Desktop, ChatGPT or Cursor. With no credential, a call beyond the preview is answered with HTTP 401 so the client signs you in. - Claude Code: `claude mcp add --transport http aperiodic https://aperiodic.io/mcp` (add `--header "X-API-KEY: "` for your plan's data) - Tools: list_datasets, describe_dataset, find_symbols, get_data (signed Parquet handles with schema, stats and a sample, never the rows), summarize (statistics without code), live_feed (WebSocket connection details), search and fetch. - Guide: [MCP server](https://aperiodic.io/mcp) ## Preview access (no account) - CLI: `aperiodic --preview` with the flags above - Python: `preview=True` on any SDK call - REST: `GET https://aperiodic.io/api/v1/data/preview/{dataset_id}?timestamp=exchange&interval=5m&exchange=binance-futures&symbol=perpetual-BTC-USDT:USDT&start_date=2025-05-01&end_date=2025-05-31` with header `X-API-KEY: DEMO-KEY` - Window: binance-futures, perpetual-BTC-USDT:USDT, 5m, 2025-05-01 to 2025-05-31, every dataset. Other parameters are refused. ## Indices Three indices, each one column of the metric datasets below: Cost (l1_liquidity.spread_bps), Depth (l1_liquidity.total_dollar_depth) and Impact (impact.kyle_like_lambda, shown in bps per $1M of flow). The pages show each contract’s last 24 hours, 15 minutes behind. - [All indices](https://aperiodic.io/indices) - [Aperiodic Cost Index](https://aperiodic.io/indices/cost): What does crossing the spread cost? Best ask minus best bid, in basis points of the mid price (l1_liquidity.spread_bps). - [Aperiodic Depth Index](https://aperiodic.io/indices/depth): How much is quoted at the best bid and ask? Dollars quoted at the best bid plus the best ask (l1_liquidity.total_dollar_depth). - [Aperiodic Impact Index](https://aperiodic.io/indices/impact): How far does $1M of net taker flow move the price? Kyle’s λ: the price return per unit of signed trade size (impact.kyle_like_lambda). ## Datasets 19 datasets, 220 metrics. Machine-readable catalog: [catalog.json](https://aperiodic.io/catalog.json) ### Market Data - [Candlesticks](https://aperiodic.io/catalog/ohlcv): `ohlcv`, 6 metrics, Pro. Open, High, Low, Close, Volume candlestick data with notional volume. Markdown: `/catalog/ohlcv.agent` - [VWAP / TWAP](https://aperiodic.io/catalog/vtwap): `vtwap`, 2 metrics, Pro. Volume-weighted and time-weighted average prices for precise execution benchmarks. Markdown: `/catalog/vtwap.agent` ### Derivatives - [Basis](https://aperiodic.io/catalog/basis): `basis`, 8 metrics, Pro. Perpetual futures mark price premium over index price (basis) and last trade price, in absolute and basis-point terms. Markdown: `/catalog/basis.agent` - [Funding](https://aperiodic.io/catalog/funding): `funding`, 3 metrics, Pro. Funding rate and update frequencies for perpetual futures contracts. Markdown: `/catalog/funding.agent` - [Open Interest](https://aperiodic.io/catalog/open_interest): `open_interest`, 4 metrics, Pro. Open interest values with percentage change, volatility, and OI/price change ratio. Markdown: `/catalog/open_interest.agent` - [Derivative Price](https://aperiodic.io/catalog/derivative_price): `derivative_price`, 9 metrics, Pro. Snapshot of mark, index, and last trade prices with interval percentage changes and pairwise divergence ratios. Markdown: `/catalog/derivative_price.agent` ### Trades - [Flow Metrics](https://aperiodic.io/catalog/flow): `flow`, 36 metrics, Pro. Directional order flow split by taker buy vs. sell, broken into small/medium/large notional segments, with a flow toxicity score. Markdown: `/catalog/flow.agent` - [Trade Size](https://aperiodic.io/catalog/trade_size): `trade_size`, 24 metrics, Pro. Trade notional split into small (< $100), medium ($100–$1,000), and large (≥ $1,000) segments, with summary statistics for individual trade sizes. Markdown: `/catalog/trade_size.agent` - [Price Range & Distribution](https://aperiodic.io/catalog/range): `range`, 10 metrics, Pro. Intrabar high-low price range and full distribution statistics (mean, median, std, skewness, kurtosis) for trade prices within each interval. Markdown: `/catalog/range.agent` - [Impact Metrics](https://aperiodic.io/catalog/impact): `impact`, 5 metrics, Pro. How much each unit of trading volume moves the price, measured via Amihud illiquidity, Kyle lambda, impact per notional, and large-trade reversal. Markdown: `/catalog/impact.agent` - [Up / Down Tick Metrics](https://aperiodic.io/catalog/updownticks): `updownticks`, 14 metrics, Pro. Uptick and downtick count, volume, ratios and percentages based on price movement direction. Markdown: `/catalog/updownticks.agent` - [Trade Run Structure](https://aperiodic.io/catalog/run_structure): `run_structure`, 7 metrics, Pro. Consecutive same-direction trade run lengths, imbalance, flip rate, and price change on direction flip. Markdown: `/catalog/run_structure.agent` - [Returns & Volatility](https://aperiodic.io/catalog/returns): `returns`, 6 metrics, Pro. Log-return based metrics: variance, realized volatility, bipower variation, jump ratio, autocorrelation, and trendiness. Markdown: `/catalog/returns.agent` - [Slippage](https://aperiodic.io/catalog/slippage): `slippage`, 10 metrics, Pro. How much each trade pays above the best ask (buys) or receives below the best bid (sells) relative to the prevailing quote, aggregated per interval. Markdown: `/catalog/slippage.agent` ### L1 — Top of Book - [L1 Price](https://aperiodic.io/catalog/l1_price): `l1_price`, 12 metrics, Pro. Best bid and ask prices with quantities, midprice, quantity-weighted midprice, time/volume-weighted averages, and quote update frequency. Markdown: `/catalog/l1_price.agent` - [L1 Imbalance](https://aperiodic.io/catalog/l1_imbalance): `l1_imbalance`, 10 metrics, Prime. Bid/ask imbalance, ratio, percentages — both instantaneous (last) and averaged over the interval. Markdown: `/catalog/l1_imbalance.agent` - [L1 Liquidity](https://aperiodic.io/catalog/l1_liquidity): `l1_liquidity`, 14 metrics, Prime. Spread (absolute and bps), depth, dollar depth — instantaneous and interval-averaged. Markdown: `/catalog/l1_liquidity.agent` ### L2 — Order Book - [L2 Order Book Imbalance](https://aperiodic.io/catalog/l2_imbalance): `l2_imbalance`, 24 metrics, Prime. Multi-depth (5, 10, 20, 25 levels) order book imbalance, ratio, and averages. Markdown: `/catalog/l2_imbalance.agent` - [L2 Order Book Liquidity](https://aperiodic.io/catalog/l2_liquidity): `l2_liquidity`, 16 metrics, Prime. Total bid/ask depth aggregated over 5, 10, 20, 25 order book levels — instantaneous and interval-averaged. Markdown: `/catalog/l2_liquidity.agent` ## Raw data 5 raw datasets, counted separately from the 19 metric datasets, for the Prime + Raw and Institutional plans: https://aperiodic.io/raw-data (markdown: `/raw-data.agent`). - [Trades](https://aperiodic.io/catalog/raw/trades): `trades`. Every trade printed on the venue, with its trade id, taker side, price and size. Venues: binance-futures, okx-perps, hyperliquid-perps. Columns: `exchange_timestamp`, `local_timestamp`, `id`, `side`, `price`, `amount`. Markdown: `/catalog/raw/trades.agent` - [Quotes](https://aperiodic.io/catalog/raw/quotes): `quotes`. Top-of-book updates: best bid and best ask with their sizes, one row per change. Venues: binance-futures, okx-perps, hyperliquid-perps. Columns: `exchange_timestamp`, `local_timestamp`, `bid_price`, `bid_amount`, `ask_price`, `ask_amount`. Markdown: `/catalog/raw/quotes.agent` - [Mark price](https://aperiodic.io/catalog/raw/mark_price): `mark_price`. The venue’s mark price, one row each time it changes. Venues: binance-futures, okx-perps, hyperliquid-perps. Columns: `exchange_timestamp`, `local_timestamp`, `mark_price`. Markdown: `/catalog/raw/mark_price.agent` - [Index price](https://aperiodic.io/catalog/raw/index_price): `index_price`. The venue’s index price for the contract’s underlying, one row each time it changes. Venues: binance-futures, okx-perps, hyperliquid-perps. Columns: `exchange_timestamp`, `local_timestamp`, `index_price`. Markdown: `/catalog/raw/index_price.agent` - [Funding rate](https://aperiodic.io/catalog/raw/funding_rate): `funding_rate`. The current funding rate and the next funding time, one row each time either changes. Venues: binance-futures, okx-perps, hyperliquid-perps. Columns: `exchange_timestamp`, `local_timestamp`, `funding_rate`, `next_funding_timestamp`. Markdown: `/catalog/raw/funding_rate.agent` - REST: `GET https://aperiodic.io/api/v1/data/raw/{dataset}?exchange=&symbol=&start_date=&end_date=` (at most 366 days) returns presigned Parquet URLs valid for one hour: one file per month before 2026-08-01, one per day after. Other plans get HTTP 403 `raw_not_in_plan`. - Preview with `X-API-KEY: DEMO-KEY`: `GET https://aperiodic.io/api/v1/data/raw/preview/trades?exchange=&symbol=`, the 2025-06 trades file of the BTC perpetual on Binance and OKX (the only raw preview); add `download=true` for a redirect to the file itself, so `curl -fL -o NAME` saves it in one request. Coverage: `GET https://aperiodic.io/api/v1/metadata/raw` (no key). - Python: `aperiodic.get_raw(...)`, `aperiodic.download_raw(..., output_dir=...)`. - `exchange_timestamp` is the venue's time. `local_timestamp` is when the event reached our capture machine. - Not offered: raw L2 order book, liquidations, spot, dated futures, other venues. ## Free delayed data (no key) Every Binance, OKX and Hyperliquid perpetual, 15 minutes behind, on 5m bars: price, 1h and 24h change, volume, open interest, funding, spread, top-of-book depth, book imbalance, taker flow, flow toxicity, realized volatility, basis, slippage and Kyle lambda. Dashboard: https://aperiodic.io/markets - `GET https://aperiodic.io/api/v1/public/markets/board`: one row per venue and symbol, with a 24h sparkline - `GET https://aperiodic.io/api/v1/public/markets/series?exchange=&symbol=&window=24h`: one symbol as columns; window is 1h, 4h, 12h or 24h (the tape keeps a day: longer history is the API's) ## Pricing and licence Self-serve: $199 to $1499 a month billed yearly, $249 to $1899 month to month. - **Pro**: $199/month billed yearly, $249 month to month. Index with Prime: cost; Index with Prime: depth; Index: impact; 15 of 19 metric datasets; 5 years of history; Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d; Real-time metric stream; API (High Rate Limits); personal licence - **Prime**: $399/month billed yearly, $499 month to month. Index: cost; Index: depth; Index: impact; All 19 metric datasets; Full history; Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d; Real-time metric stream; API (No Rate Limits); personal licence - **Prime Commercial**: $799/month billed yearly, $999 month to month. Index: cost; Index: depth; Index: impact; All 19 metric datasets; Full history; Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d; Real-time metric stream; API (No Rate Limits); commercial licence - **Prime + Raw**: $1499/month billed yearly, $1899 month to month. Index: cost; Index: depth; Index: impact; Everything in Prime Commercial; Raw data: trades, quotes, mark, index, funding; Binance, OKX & Hyperliquid perpetuals; Full history, updated daily; Real-time metric stream; commercial licence - **Institutional**: quoted. Full history; Negotiated SLA; AUM-based pricing; Real-time data stream; Sub-minute intervals: 15s, 30s, 1m, 5m, 15m, 30m, 1h, 4h, 1d; REST API, S3, and custom delivery channels; Deployment in your cloud or on-prem; Commercial licence & dedicated support; Proof of Concept: historical time slice - Pro, Prime: personal-use licence, the subscriber's own research only. - Prime Commercial, Prime + Raw: commercial licence, internal business use within the subscriber's organization. - Institutional adds negotiated licence terms, an SLA (https://aperiodic.io/sla), full history and 15s/30s intervals. It is quoted, not self-serve: https://aperiodic.io/booking. - No plan allows redistribution. Raw data (Prime + Raw) is licensed for internal research and trading only. - Licensing in plain English: https://aperiodic.io/licensing. Terms: https://aperiodic.io/terms-of-service. ## Documentation - [Agent guide](https://aperiodic.io/agents): quickstart and FAQ for agents. Markdown: `/agents.agent` - [Full LLM reference](https://aperiodic.io/llms-full.txt): API reference, fields, error codes - [OpenAPI 3.0 specification](https://aperiodic.io/api.data.specification.json) - [API documentation](https://aperiodic.io/api-docs) - [Live WebSocket feed](https://aperiodic.io/api-docs/live): connecting, channels, messages, limits and error codes - [Python SDK on PyPI](https://pypi.org/project/aperiodic/) - [CLI on GitHub](https://github.com/aperiodic-io/cli) - [Atlas security master](https://aperiodic.io/atlas): the free, open-source symbology behind every Aperiodic symbol ([GitHub](https://github.com/aperiodic-io/atlas)) - [RWA perps](https://aperiodic.io/rwa): perpetuals on stocks, ETFs, commodities and FX on Binance, OKX and Hyperliquid (HIP-3), in every metric and raw dataset under their Atlas IDs - [A2A agent card](https://aperiodic.io/.well-known/agent.json) - [Pre-flight](https://aperiodic.io/preflight): test a trading agent on a recorded day of real order books before it trades real money. How it works: [preflight/how-it-works](https://aperiodic.io/preflight/how-it-works). Skill file: [preflight.md](https://aperiodic.io/preflight.md) - [Start file](https://aperiodic.io/start.md): set up the Python client, check it on the free preview and answer in a few lines; a skill file to keep - [AI plugin manifest](https://aperiodic.io/.well-known/ai-plugin.json) - Append `.agent` to catalog, metrics, compare, pricing and raw-data URLs for markdown, e.g. `/pricing.agent` ## Comparisons - [Crypto market data vendors compared](https://aperiodic.io/compare): 16 vendors and the exchanges' own archives next to Aperiodic on 40 criteria, every fact linked to the vendor's own page and dated. Built by Aperiodic, which is one of the columns; nobody is ranked. Markdown: `/compare.agent`, one vendor: `/compare/vendors/{vendor}.agent`. Data: [CSV](https://aperiodic.io/compare/crypto-data-vendors.csv), [JSON](https://aperiodic.io/compare/crypto-data-vendors.json); quoting with a link is fine, republishing needs permission ([terms](https://aperiodic.io/compare/methodology#terms)) - [Aperiodic vs Tardis.dev](https://aperiodic.io/compare/aperiodic-vs-tardis): Looking for a Tardis.dev alternative? Aperiodic is the better pick for signal research on perps, and the wrong one for tick replay. Try it with no API key. Markdown: `/compare/aperiodic-vs-tardis.agent` - [Aperiodic vs CoinGlass](https://aperiodic.io/compare/aperiodic-vs-coinglass): Looking for a CoinGlass alternative? Keep CoinGlass for watching liquidations. Use Aperiodic when code is the consumer: per-venue parquet, no API key to try. Markdown: `/compare/aperiodic-vs-coinglass.agent` - [Aperiodic vs Kaiko](https://aperiodic.io/compare/aperiodic-vs-kaiko): Looking for a Kaiko alternative? Kaiko wins on history, venues and regulated benchmarks. Aperiodic is self-serve from $199 with a no-key preview. Markdown: `/compare/aperiodic-vs-kaiko.agent` - [Aperiodic vs Amberdata](https://aperiodic.io/compare/aperiodic-vs-amberdata): Looking for an Amberdata alternative? Amberdata wins on venues, history and options analytics. Aperiodic lists its price and has a no-key preview. Markdown: `/compare/aperiodic-vs-amberdata.agent` ## Optional - [Catalog](https://aperiodic.io/catalog) - [Pricing](https://aperiodic.io/pricing) - [FAQ](https://aperiodic.io/faq) - [Sign up](https://aperiodic.io/auth/sign-up) - Contact: info@aperiodic.io