---
title: "Crypto perpetual open interest history"
method: GET
path: "/v1/open-interest"
---

# Crypto perpetual open interest history

`GET /v1/open-interest`

## Request

- Base URL: `https://app.texttoquant.com/api`
- URL: `https://app.texttoquant.com/api/v1/open-interest`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Open interest aggregated across exchanges as OHLC bars, the series backtests read for aggregated_open_interest. A busy shared data budget is not an error: the answer is 200 with complete:false, missingRanges ([from, to, reason]) and retryAfterSeconds. Crypto perps only.

## Query parameters

- `symbol` string, required
- `tf` '5m' | '15m' | '30m' | '45m' | '1h' | '2h' | '4h' | '6h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M', required
- `from` string, required
- `to` string, required
- `unit` 'usd' | 'coin'
- `breakdown` '1' | 'true' | 'yes'

## Response `200`

Success

- object
  - `success` true, required
  - `data` object, required

## Other responses

- `400`: validation_error — a missing/invalid parameter or an unsupported timeframe
- `403`: Plan does not include marketData
- `413`: Requested range is too large; raise the timeframe or shorten the range
- `422`: not_applicable — the symbol has no perpetual futures (a stock, index, forex or metal)
- `502`: upstream — open interest could not be loaded

---

[API](https://skmtc.dev/texttoquant/apis/texttoquant-api.md) · [All operations](https://skmtc.dev/texttoquant/apis/texttoquant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/texttoquant/apis/texttoquant-api/revisions/d417fc3f4a7d?raw)
