curl --request GET \
--url 'https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}' \
--header 'Authorization: Bearer <token>'
import requests
url = "https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}"
headers = {"Authorization": "Bearer <token>"}
response = requests.request("GET", url, headers=headers)
print(response.json())
const response = await fetch('https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}', {
method: 'GET',
headers: {"Authorization": "Bearer <token>"},
});
console.log(await response.json());
{
"data": [
{
"time": 123,
"open": 123.45,
"high": 123.45,
"low": 123.45,
"close": 123.45,
"volume": 123.45
}
],
"immutable": true,
"no_more": true
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
Market data
Get candles
Get up to 1,000 OHLC candles at a chosen resolution, ending at a given time.
GET
/
trading
/
chart
/
{ticker}
/
candles
/
{resolution}
/
{count}
/
{dt}
curl --request GET \
--url 'https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}' \
--header 'Authorization: Bearer <token>'
import requests
url = "https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}"
headers = {"Authorization": "Bearer <token>"}
response = requests.request("GET", url, headers=headers)
print(response.json())
const response = await fetch('https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}', {
method: 'GET',
headers: {"Authorization": "Bearer <token>"},
});
console.log(await response.json());
{
"data": [
{
"time": 123,
"open": 123.45,
"high": 123.45,
"low": 123.45,
"close": 123.45,
"volume": 123.45
}
],
"immutable": true,
"no_more": true
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
Path parameters
string
required
Trading symbol, for example XAUUSD, EURUSD, or BTCUSD.
integer
required
Candle size in seconds, must be a multiple of 60. Common values: 60 (1 min), 3600 (1 H), 86400 (1 D).
integer
required
Number of candles to return. Maximum 1000.
string
required
ISO-8601 upper-bound timestamp, for example 2025-06-01T00:00:00.000Z. Use the current datetime to retrieve the most recent candles.
Response
200 Success.
object[]
boolean
True when the right edge is finalized and safe to cache.
boolean
True when no further historical data exists beyond this range.
Possible Errors
| Error | Possible cause | What to do |
|---|---|---|
| 400 | Invalid or missing field | Check the request against the schema. |
| 401 | Token missing or expired | Log in again or use the refresh token. |
| 403 | IP not whitelisted, or account restricted | Confirm your IP is whitelisted; otherwise contact Amana. |
| 429 / 5xx | Rate limit, or temporary issue on our side | Retry with backoff; contact support if it persists. |
curl --request GET \
--url 'https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}' \
--header 'Authorization: Bearer <token>'
import requests
url = "https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}"
headers = {"Authorization": "Bearer <token>"}
response = requests.request("GET", url, headers=headers)
print(response.json())
const response = await fetch('https://gateway.amana.io/trading/chart/{ticker}/candles/{resolution}/{count}/{dt}', {
method: 'GET',
headers: {"Authorization": "Bearer <token>"},
});
console.log(await response.json());
{
"data": [
{
"time": 123,
"open": 123.45,
"high": 123.45,
"low": 123.45,
"close": 123.45,
"volume": 123.45
}
],
"immutable": true,
"no_more": true
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
Last modified on October 8, 2026
