List Archives
GET/v1/cryptodata/backtesting/archives
List archived files available for download from cold storage. Use ``data_type=daily`` for consolidated Parquet files containing all symbols for an exchange in a single file (recommended for bulk downloads). ``data_type=klines_deep`` / ``funding_deep`` expose the deep monthly cold history (one Parquet per symbol per month) — much further back than the rolling daily files. ``klines_deep`` is coarse OHLCV (``interval`` 1h/4h/1d) for BOTH exchanges: ``exchange=binance`` (spot, back to each market's listing — BTCUSDT to Aug 2017) and ``exchange=hyperliquid`` (1d to HL's 2023 launch). ``funding_deep`` is hourly HL ``funding_rate`` + ``premium`` only (what ``fundingHistory`` carries); minute-level mark / oracle / OI history is ``hl_asset_ctxs``. Pass ``start``/``end`` (YYYY-MM-DD; YYYY-MM for deep tiers) to filter by date server-side — strongly recommended for high-volume types where the unfiltered listing can be large enough to time out.
Price
$0.01/ callEdge cache
Off
Uptime 24h
54.17%
p95
3.22s
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| data_type | query | string = klines | Data type: daily, klines, funding, funding_hourly, hl_asset_ctxs, liquidations, hl_liquidations, hl_trade_flow, l4_depth, news_events, snapshots, klines_deep, or funding_deep. Use 'daily' for consolidated per-exchange bundles; 'hl_liquidations' is the per-event Hyperliquid liquidation tape, 'hl_trade_flow' the 1-min HL taker buy/sell buckets, 'funding_hourly' the settled HL funding prints with the boundary oracle price and 'hl_asset_ctxs' Hyperliquid's own 1-minute mark / oracle / mid / OI snapshots from its S3 archive, 2023-05-20 on (each one file per day, all coins); 'l4_depth' is 1-second exact-price band depth per coin-day reconstructed from the Hyperliquid order tape (pass symbol; from the day it is switched on, 2026-10-24 at the earliest); the '*_deep' tiers are monthly cold history (see /archives/index). |
| exchange | query | string | Filter by exchange (klines/funding/daily/klines_deep/funding_deep only) |
| symbol | query | string | Filter by symbol, or snapshot type name for snapshots |
| start | query | string | Earliest archive date to include (YYYY-MM-DD, inclusive; YYYY-MM for '*_deep' tiers). Recommended for large types like liquidations to avoid listing timeouts. |
| end | query | string | Latest archive date to include (YYYY-MM-DD, inclusive; YYYY-MM for '*_deep' tiers). |
| interval | query | string | Candle interval for klines_deep only: 1h, 4h, or 1d (ignored for other types). |
Code
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives")).json();
console.log(data);# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests
session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives").json())curl "https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
How do I get list archives from CryptoDataAPI?
Send GET https://api.realtimeapi.ai/v1/cryptodata/backtesting/archives. Pay $0.01 per request with x402, or send an X-API-Key header.
What does GET /backtesting/archives cost?
$0.01 per successful request in USDC on Base. Failed requests are never charged.
Can I call this endpoint from an MCP client?
Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.