---
title: "Raw OHLCV for any symbol/timeframe/range"
method: GET
path: "/v1/candles"
---

# Raw OHLCV for any symbol/timeframe/range

`GET /v1/candles`

## Request

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

## Query parameters

- `symbol` string, required
- `tf` string, required
- `from` string, required
- `to` string, required
- `exchange` string
- `requireComplete` '1' | 'true' | 'yes'

## Response `200`

Success

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

## Other responses

- `400`: validation_error — a missing/invalid parameter, or symbol_not_found (the ticker has no market data; do not retry)
- `403`: Plan does not include marketData
- `404`: No candle data exists for that symbol/timeframe in the requested range
- `409`: INCOMPLETE_RANGE — requireComplete was set and part of the range is missing; the gaps are listed in missingRanges
- `413`: Requested range is too large — this endpoint buffers the whole series in one body; raise the timeframe or shorten the range
- `429`: rate_limited — the market-data provider quota is exhausted
- `502`: upstream_unavailable — the market-data provider failed; retry later

---

[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)
