---
title: "Buy one archived object over x402 (pay per resource)"
method: GET
path: "/api/v1/backtesting/archives/purchase"
tags: ["Backtesting"]
---

# Buy one archived object over x402 (pay per resource)

`GET /api/v1/backtesting/archives/purchase`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/backtesting/archives/purchase`
- Auth: API key in header `X-API-Key`

One archived Parquet / JSON object for one USDC payment — no key needed.

**Flow:** call once to get a `402` quoting the price for exactly this object
(a missing object is a `404` *before* any quote, so you can never pay for a
file that is not there); sign the amount; call again with `x-payment`. The
response is a pre-signed download URL valid for one hour.

A **Pro Plus** key gets the same URL free (parity with `/archives/download`,
which lists whole ranges). Prices per `data_type` are in
`GET /api/v1/pricing` → `resources`.

## Query parameters

- `data_type` string, required: klines, funding, liquidations, hl_liquidations, hl_trade_flow, daily, snapshots, klines_deep, funding_deep
- `exchange` string: klines / funding / daily / *_deep
- `symbol` string: klines / funding / liquidations / *_deep
- `date` string: YYYY-MM-DD for daily-file types
- `month` string: YYYY-MM for *_deep monthly files
- `interval` string: klines_deep only: 1h, 4h, 1d
- `bundle` string: daily only: klines or funding
- `snapshot_type` string: snapshots only: the snapshot data type name

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
