Technical Indicators API
Calculate common technical indicators including Bollinger Bands, MACD, RSI and more.
| Method | Endpoint | Description |
|---|
| GET | /v1/indicators/bbands | Bollinger Bands |
| GET | /v1/indicators/macd | MACD |
| GET | /v1/indicators/rsi | RSI |
| GET | /v1/indicators/query | Generic indicator query |
| GET | /v1/market/vwap | VWAP |
| GET | /v1/market/stoch | Stochastic |
| GET | /v1/market/atr | ATR |
| GET | /v1/market/obv | OBV |
| GET | /v1/market/adx | ADX |
Bollinger Bands
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/indicators/bbands |
Parameters
| Parameter | Type | Required | Default | Description |
|---|
symbol | string | ✅ | - | Stock code |
interval | string | - | 1d | Time interval |
timeperiod | int | - | 20 | Calculation period |
stds | float | - | 2.0 | Standard deviation multiplier |
Try It
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/indicators/bbands",
params={
"symbol": "000001.SZ",
"interval": "1d",
"timeperiod": 20,
"stds": 2.0
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
print(f"Upper={data['values'][0]['upper_band']}, Middle={data['values'][0]['middle_band']}")
JavaScript
const API_KEY = 'your_api_key';
const params = new URLSearchParams({
symbol: '000001.SZ',
interval: '1d',
timeperiod: 20,
stds: 2.0
});
const response = await fetch(
`https://tickerlab.org/v1/indicators/bbands?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
const data = await response.json();
console.log('Bollinger Bands:', data.values[0]);
cURL
curl -G "https://tickerlab.org/v1/indicators/bbands" \
-H "X-API-Key: your_api_key" \
-d "symbol=000001.SZ" \
-d "interval=1d" \
-d "timeperiod=20" \
-d "stds=2.0"
Response Example
{
"meta": {"symbol": "000001.SZ", "indicator": {"name": "BBANDS"}},
"values": [
{"datetime": "2024-01-15", "upper_band": "10.80", "middle_band": "10.50", "lower_band": "10.20"}
]
}
MACD
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/indicators/macd |
Parameters
| Parameter | Type | Required | Default | Description |
|---|
symbol | string | ✅ | - | Stock code |
interval | string | - | 1d | Time interval |
fastperiod | int | - | 12 | Fast EMA period |
slowperiod | int | - | 26 | Slow EMA period |
signalperiod | int | - | 9 | Signal line period |
Try It
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/indicators/macd",
params={
"symbol": "000001.SZ",
"interval": "1d",
"fastperiod": 12,
"slowperiod": 26,
"signalperiod": 9
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
item = data["values"][0]
print(f"MACD={item['macd']}, Signal={item['macd_signal']}, Hist={item['macd_hist']}")
JavaScript
const API_KEY = 'your_api_key';
const params = new URLSearchParams({
symbol: '000001.SZ',
interval: '1d',
fastperiod: 12,
slowperiod: 26,
signalperiod: 9
});
const response = await fetch(
`https://tickerlab.org/v1/indicators/macd?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
const data = await response.json();
console.log('MACD:', data.values[0]);
cURL
curl -G "https://tickerlab.org/v1/indicators/macd" \
-H "X-API-Key: your_api_key" \
-d "symbol=000001.SZ" \
-d "interval=1d" \
-d "fastperiod=12" \
-d "slowperiod=26" \
-d "signalperiod=9"
Response Example
{
"meta": {"symbol": "000001.SZ", "indicator": {"name": "MACD"}},
"values": [
{"datetime": "2024-01-15", "macd": "0.15", "macd_signal": "0.10", "macd_hist": "0.05"}
]
}
RSI (Relative Strength Index)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/indicators/rsi |
Parameters
| Parameter | Type | Required | Default | Description |
|---|
symbol | string | ✅ | - | Stock code |
interval | string | - | 1d | Time interval |
timeperiod | int | - | 14 | Calculation period |
Try It
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/indicators/rsi",
params={
"symbol": "000001.SZ",
"interval": "1d",
"timeperiod": 14
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
rsi = float(data["values"][0]["rsi"])
signal = "Overbought" if rsi > 70 else "Oversold" if rsi < 30 else "Neutral"
print(f"RSI={rsi:.2f} ({signal})")
JavaScript
const API_KEY = 'your_api_key';
const params = new URLSearchParams({
symbol: '000001.SZ',
interval: '1d',
timeperiod: 14
});
const response = await fetch(
`https://tickerlab.org/v1/indicators/rsi?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
const data = await response.json();
const rsi = parseFloat(data.values[0].rsi);
const signal = rsi > 70 ? 'Overbought' : rsi < 30 ? 'Oversold' : 'Neutral';
console.log(`RSI=${rsi.toFixed(2)} (${signal})`);
cURL
curl -G "https://tickerlab.org/v1/indicators/rsi" \
-H "X-API-Key: your_api_key" \
-d "symbol=000001.SZ" \
-d "interval=1d" \
-d "timeperiod=14"
Response Example
{
"meta": {"symbol": "000001.SZ", "indicator": {"name": "RSI"}},
"values": [
{"datetime": "2024-01-15", "rsi": "58.75"}
]
}
Moving Averages (SMA/EMA)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/indicators/query |
Generic indicator endpoint supporting SMA, EMA, WMA, TEMA and more.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
function | string | ✅ | - | Indicator: SMA, EMA, WMA, TEMA |
symbol | string | ✅ | - | Stock code |
apikey | string | ✅ | - | API Key (query parameter) |
time_period | int | - | 20 | Calculation period |
series_type | string | - | close | Data type: close, open, high, low |
Try It
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/indicators/query",
params={
"function": "SMA",
"symbol": "000001.SZ",
"time_period": 20,
"series_type": "close",
"apikey": API_KEY
}
)
data = response.json()
print(f"SMA20: {data['values'][0]['sma']}")
JavaScript
const API_KEY = 'your_api_key';
const params = new URLSearchParams({
function: 'SMA',
symbol: '000001.SZ',
time_period: 20,
series_type: 'close',
apikey: API_KEY
});
const response = await fetch(`https://tickerlab.org/v1/indicators/query?${params}`);
const data = await response.json();
console.log('SMA20:', data.values[0].sma);
cURL
curl -G "https://tickerlab.org/v1/indicators/query" \
-d "function=SMA" \
-d "symbol=000001.SZ" \
-d "time_period=20" \
-d "series_type=close" \
-d "apikey=your_api_key"
Response Example
{
"meta": {"symbol": "000001.SZ", "indicator": {"name": "SMA"}},
"values": [
{"datetime": "2024-01-15", "sma": "10.35"}
]
}
Signal Interpretation
| Indicator | Overbought | Oversold | Description |
|---|
| RSI | > 70 | < 30 | Relative strength |
| MACD | DIF > DEA | DIF < DEA | Trend direction |
| Bollinger | Above upper | Below lower | Volatility range |
VWAP (Volume Weighted Average Price)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/market/vwap |
Parameters
| Parameter | Type | Required | Description |
|---|
symbol | string | ✅ | Code |
interval | string | - | Interval (default 1d) |
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/market/vwap",
params={
"symbol": "000001.SZ",
"interval": "1d"
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
# Get latest VWAP value
latest = data["values"][0]
print(f"Date: {latest['datetime']}, VWAP: {latest['vwap']}")
JavaScript
const API_KEY = 'your_api_key';
const response = await fetch(
"https://tickerlab.org/v1/market/vwap?symbol=000001.SZ",
{ headers: { "X-API-Key": API_KEY } }
);
const data = await response.json();
console.log('Latest VWAP:', data.values[0].vwap);
cURL
```bash
curl -H "X-API-Key: your_key" \
"https://tickerlab.org/v1/market/vwap?symbol=000001.SZ"
Response Example
{
"meta": {
"symbol": "000001.SZ",
"indicator": { "name": "VWAP" }
},
"values": [
{
"datetime": "2024-03-20 15:00:00",
"vwap": 10.45
},
{
"datetime": "2024-03-19 15:00:00",
"vwap": 10.38
}
]
}
Stochastic
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/market/stoch |
Parameters
| Parameter | Type | Default | Description |
|---|
fastk_period | int | 14 | Fast K period |
slowk_period | int | 3 | Slow K period |
slowd_period | int | 3 | Slow D period |
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/market/stoch",
params={
"symbol": "BTCUSDT",
"fastk_period": 14,
"slowk_period": 3,
"slowd_period": 3
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
k_value = data['values'][0]['slowk']
d_value = data['values'][0]['slowd']
print(f"SlowK: {k_value}, SlowD: {d_value}")
JavaScript
const API_KEY = 'your_api_key';
const params = new URLSearchParams({
symbol: 'BTCUSDT',
fastk_period: 14,
slowk_period: 3,
slowd_period: 3
});
const response = await fetch(
`https://tickerlab.org/v1/market/stoch?${params}`,
{ headers: { "X-API-Key": API_KEY } }
);
const data = await response.json();
console.log('Stoch K/D:', data.values[0]);
cURL
curl -H "X-API-Key: your_key" \
"https://tickerlab.org/v1/market/stoch?symbol=BTCUSDT&fastk_period=14"
Response Example
{
"meta": {
"symbol": "BTCUSDT",
"indicator": {
"name": "STOCH",
"k_period": 14,
"d_period": 3
}
},
"values": [
{
"datetime": "2024-03-20 00:00:00",
"slowk": 75.5,
"slowd": 70.2
},
{
"datetime": "2024-03-19 00:00:00",
"slowk": 68.4,
"slowd": 65.1
}
]
}
ATR (Average True Range)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/market/atr |
Parameters
| Parameter | Type | Default | Description |
|---|
timeperiod | int | 14 | Calculation period |
Code Examples
Python
import requests
API_KEY = "your_api_key"
# Calculate ATR
response = requests.get(
"https://tickerlab.org/v1/market/atr",
params={
"symbol": "BTCUSDT",
"timeperiod": 14
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
print(f"Current Volatility (ATR): {data['values'][0]['atr']}")
JavaScript
const API_KEY = 'your_api_key';
const response = await fetch(
"https://tickerlab.org/v1/market/atr?symbol=BTCUSDT&timeperiod=14",
{ headers: { "X-API-Key": API_KEY } }
);
const data = await response.json();
console.log('ATR:', data.values[0].atr);
cURL
```bash
curl -H "X-API-Key: your_key" \
"https://tickerlab.org/v1/market/atr?symbol=BTCUSDT&timeperiod=14"
Response Example
{
"meta": {
"symbol": "BTCUSDT",
"indicator": { "name": "ATR", "period": 14 }
},
"values": [
{
"datetime": "2024-03-20 00:00:00",
"atr": 1250.50
},
{
"datetime": "2024-03-19 00:00:00",
"atr": 1200.30
}
]
}
OBV (On Balance Volume)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/market/obv |
Parameters
| Parameter | Type | Required | Description |
|---|
symbol | string | ✅ | Code |
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/market/obv",
params={"symbol": "000001.SZ"},
headers={"X-API-Key": API_KEY}
)
data = response.json()
print(f"OBV: {data['values'][0]['obv']}")
JavaScript
const API_KEY = 'your_api_key';
const response = await fetch(
"https://tickerlab.org/v1/market/obv?symbol=000001.SZ",
{ headers: { "X-API-Key": API_KEY } }
);
const data = await response.json();
console.log('OBV:', data.values[0].obv);
cURL
```bash
curl -H "X-API-Key: your_key" \
"https://tickerlab.org/v1/market/obv?symbol=000001.SZ"
Response Example
{
"meta": {
"symbol": "000001.SZ",
"indicator": { "name": "OBV" }
},
"values": [
{
"datetime": "2024-03-20 15:00:00",
"obv": 58000000.0
},
{
"datetime": "2024-03-19 15:00:00",
"obv": 55000000.0
}
]
}
ADX (Average Directional Index)
Endpoint
| Method | Endpoint |
|---|
| GET | /v1/market/adx |
Parameters
| Parameter | Type | Default | Description |
|---|
timeperiod | int | 14 | Calculation period |
Code Examples
Python
import requests
API_KEY = "your_api_key"
response = requests.get(
"https://tickerlab.org/v1/market/adx",
params={
"symbol": "000001.SZ",
"timeperiod": 14
},
headers={"X-API-Key": API_KEY}
)
data = response.json()
print(f"ADX Trend Strength: {data['values'][0]['adx']}")
JavaScript
const API_KEY = 'your_api_key';
const response = await fetch(
"https://tickerlab.org/v1/market/adx?symbol=000001.SZ",
{ headers: { "X-API-Key": API_KEY } }
);
const data = await response.json();
console.log('ADX:', data.values[0].adx);
cURL
```bash
curl -H "X-API-Key: your_key" \
"https://tickerlab.org/v1/market/adx?symbol=000001.SZ"
Response Example
{
"meta": {
"symbol": "000001.SZ",
"indicator": { "name": "ADX", "period": 14 }
},
"values": [
{
"datetime": "2024-03-20 15:00:00",
"adx": 35.5
},
{
"datetime": "2024-03-19 15:00:00",
"adx": 32.1
}
]
}