---
title: "Get price history for multiple symbols"
url: https://docs.truemarkets.co/api/market-data/get-price-history-batch
description: "Returns price history for multiple symbols in a single request. Each symbol"
---

Docs index: https://docs.truemarkets.co/llms.txt

# Get price history for multiple symbols

```
GET https://api.truemarkets.co/v1/defi/market/prices/history/batch
```

Returns price history for multiple symbols in a single request. Each symbol
is resolved independently — an unknown or failing symbol returns a per-symbol
error in its result entry instead of failing the whole batch, so partial
results are still returned.

See the [Time Window & Resolution](#section/Time-Window-and-Resolution)
section for the format of `window` and `resolution`.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `asset_ids` | query | string | no | Comma-separated list of backend asset IDs. Mutually exclusive with `symbols`: exactly one of the two is required, and naming both is a 400. |
| `symbols` | query | string | no | Comma-separated list of asset symbols (e.g. `SOL,BTC,ETH`). |
| `window` | query | string | no | Lookback period (e.g. `1h`, `4h`, `1d`, `7d`, `1M`). |
| `resolution` | query | string | no | Gap between consecutive data points (e.g. `5s`, `1m`, `5m`, `1h`). |

## Responses

Every error status returns the same body, described in [Errors](https://docs.truemarkets.co/developer-resources/errors.md).

### 200

Batch price history data

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `window` | string | no | The time window used for the query |
| `resolution` | string | no | The time resolution used for the query |
| `results` | array of object | no | Per-symbol results |
| `results[].asset_id` | string (uuid) | no | Backend asset ID. Absent on the CeFi routes. |
| `results[].symbol` | string | no | The asset symbol |
| `results[].points` | array of object | no | Price points (omitted if error) |
| `results[].points[].t` | string | no | ISO 8601 timestamp for the price point |
| `results[].points[].price` | string | no | Price at this timestamp |
| `results[].error` | string | no | Error message if the symbol could not be resolved (omitted on success) |

### 400

Bad request - invalid parameters or missing symbols

### 500

Internal server error
