Bulk access
Downloading whole windows
/v1/windows.csv returns a complete market window as one CSV — one request per market, no pagination:
curl -H "X-Api-Key: $KEY" -o btc-5m-1793331300.csv \
"https://polybk.com/v1/windows.csv?symbol=btc&timeframe=5&window_start=1793331300"
Walking a day efficiently
import requests, time
KEY, BASE = "pb_yourkey", "https://polybk.com"
H = {"X-Api-Key": KEY}
wins = requests.get(f"{BASE}/v1/windows",
headers=H,
params={"symbol": "btc", "timeframe": 5, "date": "2026-10-30"}).json()
for ws in wins["windows"]:
csv = requests.get(f"{BASE}/v1/windows.csv",
headers=H,
params={"symbol": "btc", "timeframe": 5, "window_start": ws})
open(f"btc-5m-{ws}.csv", "w").write(csv.text)
time.sleep(0.2) # stay comfortably inside 300 req/min
Archive / Parquet
Pro and Archive customers receive the month-partitioned Parquet tree — every column, every stream, compressed. Query it directly without any API calls:
SELECT slug, min(yes_bid), max(yes_bid), count(*)
FROM read_parquet('curated/v1/symbol=btc/timeframe=5m/**/*.parquet',
hive_partitioning = true)
GROUP BY slug;
See data schema for the column reference.