API reference

Send your API key in the X-Api-Key header with every request. All timestamps are UTC.

Available streams

Symbols: btc, eth, sol, xrp · Market lengths: 5 and 15 minutes. Every symbol + timeframe pair is one stream (8 in total).

symboltimeframeStream
btc5, 15btc-5m, btc-15m
eth5, 15eth-5m, eth-15m
sol5, 15sol-5m, sol-15m
xrp5, 15xrp-5m, xrp-15m
GET/v1/coverage

What your key can access.

curl -H "X-Api-Key: $KEY" https://polybk.com/v1/coverage
→ {"tier":"pro","streams":["btc-5m",…],"earliest_ts":…,"first_month":"2026-03"}
GET/v1/windows

List the markets (settlement windows) available on a date.

ParamDefaultMeaning
symbolbtcbtc · eth · sol · xrp
timeframe55 or 15 (minutes)
datetodayYYYY-MM-DD
→ {"stream":"btc-5m","date":"2026-10-30","windows":[…]}
GET/v1/rows

Get rows for one market window.

ParamDefaultMeaning
symbolbtcbtc · eth · sol · xrp
timeframe55 or 15
window_start—window open time (unix seconds — take it from /v1/windows)
limit5000max rows per call (up to 50000)
→ {"window_start":…,"count":…,"source":"parquet","rows":[…]}
GET/v1/windows.csv

Same parameters as /v1/rows — downloads the whole window as a CSV file.

GET/v1/latest

The most recent recorded row for a stream.

Errors

CodeMeaning
401missing or invalid API key
402key works, but no active plan
403stream or date range not in your plan
404no such window
429too many requests — wait a minute

Request limits

Starter: 300 requests/minute · Pro: 600 requests/minute, per key. For large downloads use /v1/windows.csv — one request per market window.