Aperiodic
Metrics
MarketsLive
DocsPricing
Get Started
/

Get started

  • Overview
  • History over REST
    • Making a request
    • Parameters
    • Files
    • Errors
    • History by plan
    • Free preview
  • Live over WebSocket

Datasets

Each with its history over REST and its live channel

Reference

  • MetadataREST
  • Raw dataREST

Download the spec

OpenAPIRESTAsyncAPIWS
History over REST
Get started

History over REST

REST access to pre-computed market microstructure aggregates. Every data request returns presigned URLs to Parquet files, so a single call can span an arbitrary date range. History before 2026-08-01 is delivered as one file per month; from 2026-08-01 onwards data is updated daily and delivered as one file per day. Request parameters are unchanged either way — pass `start_date` and `end_date` and the API returns whichever files cover them.
Base URL
https://aperiodic.io/api/v1
Auth
X-API-KEY header
Returns
JSON with Parquet URLs
Spec
OpenAPI 3.0.3

Making a request

Every dataset is one endpoint, named after it: GET /api/v1/data/{dataset}. Send your key in the X-API-KEY header. Each dataset's page in the Datasets list shows its own request, ready to copy, and a Try it panel.

GET/api/v1/data/{dataset}

curl
curl -H "X-API-KEY: $APERIODIC_API_KEY" \
  "https://aperiodic.io/api/v1/data/ohlcv?exchange=binance-futures&symbol=perpetual-BTC-USDT:USDT&interval=1h&timestamp=exchange&start_date=2026-07-01&end_date=2026-08-02"

Parameters

The same six parameters on every dataset. The exchanges and intervals below are the full lists; each dataset's page shows the ones it has.

ParameterValuesMeaning
timestampquery · requiredexchangetrueTimestamp source. 'exchange' uses the exchange-reported timestamp, 'true' uses actual arrival time at our servers.
intervalquery · required15s30s1m5m15m30m1h4h1dAggregation time interval for the data. Sub-minute intervals (15s, 30s) require an Institutional plan.
exchangequery · requiredbinance-futuresokx-perpshyperliquid-perpsSource exchange for the data.
symbolquery · requiredstringTrading pair symbol in the format of Atlas' universal symbology: https://github.com/aperiodic-io/atlas
start_datequery · requireddateStart date for the data range (YYYY-MM-DD format). A metric series starts on the first day of the raw series it is computed from (see /metadata/raw); raw trades and quotes start binance-futures from 2020-01-01, okx-perps from 2019-09-01, hyperliquid-perps from 2025-01-01. Earlier days return no files. How far back you can go depends on the plan: 5 years on Pro, full history on Prime, Prime + Raw and Institutional. An earlier start_date than the plan reaches returns 403.
end_datequery · requireddateEnd date for the data range (YYYY-MM-DD format). Must be greater than or equal to start_date.

Files

A response lists the files that cover your range, oldest first. Each url is a pre-signed link to a Parquet file: fetch it straight away, and request the list again when the links expire.

  • Before 2026-08-01: one file per month, without a day.
  • From 2026-08-01: one file per day, with day set.
  • A range that spans the changeover returns the months, then the days. Your parameters stay the same either way.
200 response
{
  "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&..."
    }
  ]
}
StatusMeaning
200Successful response with download URLs for every existing file covering the range from the series' published start — one per month before 2026-08-01, one per day from 2026-08-01 onwards

Errors

Errors come back as JSON with an error message and, for a request that failed validation, a details list.

StatusMeaning
400Bad request - missing or invalid parameters
401Unauthorized - missing or invalid API key
403Forbidden - the subscription does not cover this request
404Unknown dataset
500Server error - failed to resolve the series start or generate download URLs
Error body
{
  "error": "…",
  "details": ["…"]
}

History by plan

Each dataset's page names the cheapest plan that includes it. How far back you can request depends on your plan:

  • Pro: the last 5 years, counted back from today.
  • Every Prime plan and Institutional: the full history.

A start_date earlier than your plan allows is refused with a message that names the earliest date you can ask for. Compare plans.

Free preview

Without an account, a fixed slice of every dataset answers at /api/v1/data/preview/{dataset} with the shared key DEMO-KEY. The Try it panels on the dataset pages use it until you sign in.

PreviousOverviewNextLive over WebSocket
Aperiodic

Built from hundreds of terabytes of raw data and distilled into point-in-time metrics you can pull as parquet files. Plus the raw trades, quotes and derivatives data behind them.

Use Cases
  • Improve your backtest
  • Find new alpha
  • Execute smarter
Indices
  • All indices
  • Aperiodic Cost Index
  • Aperiodic Depth Index
  • Aperiodic Impact Index
Metrics
  • Metrics library
  • Data Catalog
  • Live markets dashboard
  • Global Liquidity
  • Unusual activity
  • Order Flow
  • L1 & L2
  • Derivatives
  • RWA
  • Raw Data
Developers
  • API Docs
  • MCP Server
  • Notebooks
  • For AI Agents
  • Atlas Security Master
  • Pre-flight
  • Changelog
  • Roadmap
  • llms.txt
Learn
  • Replays
  • Microstructure Guide
  • Architecture
  • Research Blog
  • FAQ
Compare
  • All vendors
  • vs. Tardis
  • vs. CoinGlass
  • vs. Kaiko
  • vs. Amberdata
Company
  • Team
  • Pricing
  • Contact
  • Book a call
  • Terms of Service
  • Privacy Policy
  • Licensing
  • SLA

© Copyright 2026 Aperiodic. All Rights Reserved.

Aperiodic Limited · Registered in Ireland · Company No. 815273 ·
136 Capel Street, Dublin D01 T2C9, Ireland