Overview
Commodities candles
Parameters symbol and interval.
REST / WebSocket endpoints
Get historical candle series by commodity code.
Updated: 2026-09-12
Commodities candles
Parameters symbol and interval.
| Field | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Symbol (required) |
interval | string | No | Default 1; supports 1/1m, 5, 15, 60/1h, 240/4h, 1d, 1w, 1mo, … |
limit | number | No | Default 300, range 1–5000 |
| Field | Type | Description |
|---|---|---|
succ | boolean | Whether the request succeeded |
data | object | array | Business payload (see fields below) |
msg | string | Human-readable error message on failure (optional) |
code | string | Machine-readable error code (optional) |
X-Request-Id | header | Request trace ID (response header, not in JSON body) |
X-API-Key | header | API key; Authorization: Bearer is also accepted |
| Field | Type | Description |
|---|---|---|
symbol | string | Resolved symbol |
interval | string | Normalized interval |
bars | array | Candle array (see below) |
source | string | Always tradingview |
market | string | Market tag for this path |
bars[].openTime / openTimeMs | string | number | Bar open time |
bars[].closeTime / closeTimeMs | string | number | Bar close time |
bars[].open / high / low / close | number | OHLC |
bars[].volume | number | Volume |
| code | HTTP | Description |
|---|---|---|
INVALID_REQUEST | 400 | Missing or invalid parameters (e.g. interval) |
INVALID_SYMBOL | 400 | Invalid symbol format |
UNKNOWN_SYMBOL | 400 | Unrecognized symbol (multi-market quote) |
NO_SUBSCRIPTION | 403 | No active subscription |
SUBSCRIPTION_EXPIRED | 403 | Subscription expired |
MARKET_NOT_ENABLED | 403 | Market not enabled on current plan |
API_KEY_SCOPE_DENIED | 403 | API key scope denied |
IP_DENIED / GEO_DENIED | 403 | IP or geo policy denied |
DAILY_LIMIT_EXCEEDED | 429 | Daily quota exceeded |
MONTHLY_LIMIT_EXCEEDED | 429 | Monthly quota exceeded |
RATE_LIMIT_EXCEEDED | 429 | Per-user RPM exceeded |
KEY_RATE_LIMIT_EXCEEDED | 429 | Per-key RPM exceeded |
UPSTREAM_UNAVAILABLE | 502 | Upstream market source unavailable |
RATE_LIMIT_UNAVAILABLE | 503 | Rate-limit infrastructure unavailable |
WS_CONN_LIMIT | WS | WebSocket connection cap reached |
curl https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d \
-H "X-API-Key: YOUR_API_KEY"import requests
url = "https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d"
headers = {"X-API-Key": "YOUR_API_KEY"}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
print(resp.json())const res = await fetch("https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d", {
headers: { "X-API-Key": "YOUR_API_KEY" }
});
if (!res.ok) throw new Error(res.status);
console.log(await res.json());