Introduction
API designed for crypto traders looking to deploy their proprietary algorithmic trading solution with the most popular technical analysis indicator data. It is in the early stage of development and will add more features soon.
Endpoints
Technical Indicator
curl -G https://api.bitapi.pro/v1/technical/indicator \
-d 'exchange=BINANCE' \
-d 'symbol=BTCUSDT' \
-d 'interval=4h' \
-d 'id=EMA:50' \
-d 'id=EMA:100' \
-d 'id=MACD:12,26,close,9' \
-d 'id=RSI'
const axios = require('axios')
const qs = require('qs')
axios
.get('https://api.bitapi.pro/v1/technical/indicator', {
params: {
exchange: 'BINANCE',
symbol: 'BTCUSDT',
interval: '4h',
id: ['EMA:50', 'EMA:100', 'MACD:12,26,close,9', 'RSI'], // optional
},
paramsSerializer: (params) => {
return qs.stringify(params, { arrayFormat: 'repeat' })
},
})
.then((res) => {
console.log(res.data)
})
JSON response example:
[
{
"id": "AO",
"setting": {},
"data": [376.59673529, 1]
},
{
"id": "ATR",
"setting": {
"length": 14,
"smoothing": "RMA"
},
"data": [577.0237029]
},
{
"id": "BB",
"setting": {
"length": 20,
"source": "close",
"stdDev": 2
},
"data": [30987.978, 32575.27405046, 29400.68194954]
},
{
"id": "CCI",
"setting": {
"length": 20,
"source": "close"
},
"data": [-125.85569826]
},
{
"id": "CMF",
"setting": {
"length": 20
},
"data": [-0.00039724]
},
{
"id": "DMI",
"setting": {
"adxSmoothing": 14,
"diLength": 14
},
"data": [34.83271137, 19.24702726, 29.39078386]
},
{
"id": "EMA",
"setting": {
"length": 50,
"source": "close"
},
"data": [30252.24171609]
},
{
"id": "EMA",
"setting": {
"length": 100,
"source": "close"
},
"data": [30467.20720358]
},
{
"id": "EMA",
"setting": {
"length": 200,
"source": "close"
},
"data": [32195.58416576]
},
{
"id": "EMA",
"setting": {
"length": 250,
"source": "close"
},
"data": [33067.90457214]
},
{
"id": "HMA",
"setting": {
"length": 9,
"source": "close"
},
"data": [29564.97666667]
},
{
"id": "MA",
"setting": {
"length": 50,
"source": "close"
},
"data": [29928.9166]
},
{
"id": "MA",
"setting": {
"length": 100,
"source": "close"
},
"data": [29825.5268]
},
{
"id": "MA",
"setting": {
"length": 200,
"source": "close"
},
"data": [32038.10185]
},
{
"id": "MA",
"setting": {
"length": 250,
"source": "close"
},
"data": [33546.30292]
},
{
"id": "MACD",
"setting": {
"fastLength": 12,
"slowLength": 26,
"source": "close",
"signalSmoothing": 9
},
"data": [-271.50414339, 142.69156941, 414.1957128]
},
{
"id": "MFI",
"setting": {
"length": 14
},
"data": [46.62109403]
},
{
"id": "MOM",
"setting": {
"length": 10,
"source": "close"
},
"data": [-2132.78]
},
{
"id": "RSI",
"setting": {
"length": 14,
"source": "close"
},
"data": [37.69292698]
},
{
"id": "SAR",
"setting": {
"start": 0.02,
"increment": 0.02,
"maxValue": 0.2
},
"data": [32086.737752]
},
{
"id": "STOCH",
"setting": {
"k": 14,
"d": 3,
"smooth": 3
},
"data": [12.02559692, 19.81670204]
},
{
"id": "STOCHRSI",
"setting": {
"k": 3,
"d": 3,
"rsiLength": 14,
"stochasticLength": 14,
"rsiSource": "close"
},
"data": [0, 0.92362566]
},
{
"id": "TRIX",
"setting": {
"length": 18
},
"data": [19.4148103]
},
{
"id": "UO",
"setting": {
"length1": 7,
"length2": 14,
"length3": 28
},
"data": [37.43069288]
}
]
This endpoint retrieves the technical indicator values of the supported exchange symbols and intervals.
HTTP Request
GET https://api.bitapi.pro/v1/technical/indicator
Query Parameter
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | String[ ] | no | All | Filter the result by indicator Id. eg. EMA , MA:50 , CCI:20 |
exchange | String | no | BINANCE | Indicator Exchange. eg. COINBASE , BITSTAMP |
symbol | String | yes | - | Indicator Exchange Symbol. eg. BTCUSDT , ETHUSDT |
interval | String | yes | - | [1m , 3m , 5m , 15m , 30m , 1h , 2h , 3h , 4h , 1d , 1w ] |
JSON Response
Parameter | Description |
---|---|
id | Indicator Id. |
setting | Preset Indicator settings. |
data | Indicator values. |
Indicator | ID | Default | Parameters |
---|---|---|---|
Average True Range | ATR | ATR:14,RMA | Length, Source[RMA , SMA , EMA , WMA ] |
Awesome Oscillator | AO | - | - |
Bollinger Bands | BB | BB:20,close,2 | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ], StdDev |
Chaikin Money Flow | CMF | CMF:20 | Length |
Commodity Channel Index | CCI | CCI:20,close | Length, Source[open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Directional Movement Index | DMI | DMI:14,14 | ADX Smoothing, DI Length |
Exponential Moving Average | EMA | EMA:9,close | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Hull Moving Average | HMA | HMA:9,close | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Moving Average Convergence Divergence | MACD | MACD:12,26,close,9 | Fast Length, Slow Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ], Signal Smoothing |
Momentum | MOM | MOM:10,close | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Money Flow Index | MFI | MFI:14 | Length |
Moving Average | MA | MA:9,close | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Relative Strength Index | RSI | RSI:14,close | Length, Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Parabolic SAR | SAR | SAR:0.02,0.02,0.2 | Start, Increment, Max Value |
Stochastic | STOCH | STOCH:14,3,3 | %K Length, %K Smoothing, %D Smoothing |
Stochastic RSI | STOCHRSI | STOCHRSI:3,3,14,14,close | K, D, RSI Length, Stochastic Length, RSI Source[close , open , high , low , close , hl2 , hlc3 , ohlc4 ] |
Triple Exponential Average | TRIX | TRIX:18 | Length |
Ultimate Oscillator | UO | UO:7,14,28 | Fast Length, Middle Length, Slow Length |
Exchange | Symbol |
---|---|
BINANCE | BTCUSDT , BTCPERP , ... |
BINANCEUS | BTCUSD , ... |
COINBASE | BTCUSD , ... |
BITSTAMP | BTCUSD , ... |
GEMINI | BTCUSD , ... |
BITFINEX | BTCUSD , ... |
FTX | BTCUSD , BTCPERP , ... |
POLONIEX | BTCUSDT , ... |
BITMEX | XBTUSD , ETHUSD , ... |
BYBIT | BTCUSD , ... |
KUCOIN | BTCUSDT , ... |
HUOBI | BTCUSDT , BTCPERP , ... |
OKEX | BTCUSDT , BTCPERP , ... |
CEXIO | BTCUSD , ... |
INDEX | BTCUSD , ... |
OANDA | BTCUSD , ... |
CAPITALCOM | BTCUSD , ... |
PHEMEX | BTCUSD , ... |
BINGBON | BTCUSDT , ... |
OKCOIN | BTCUSD , BTCPERP , ... |
ASCENDEX | BTCUSDT , ... |
UPBIT | BTCUSDT , ... |
EXMO | BTCUSD , ... |
TIMEX | BTCUSD , ... |
ASCENDEX | BTCUSDT , ... |
Exchange | Symbol |
---|---|
FXCM | EURUSD , GBPUSD , ... |
OANDA | EURUSD , GBPUSD , ... |
FOREXCOM | EURUSD , GBPUSD , ... |
IDC | EURUSD , EURGBP , ... |
SAXO | EURUSD , JPYUSD , ... |
CAPITALCOM | USDRUB , USDCAD , ... |
data may be delayed
Exchange | Symbol |
---|---|
NASDAQ | AAPL , GOOG , ... |
NYSE | AMC , BABA , ... |
data may be delayed
Market Overview
curl "https://api.bitapi.pro/v1/market/overview"
const axios = require('axios')
axios.get('https://api.bitapi.pro/v1/market/overview').then((res) => {
console.log(res.data)
})
JSON response example (shortened):
[
{
"name": "Bitcoin",
"symbol": "BTCUSD",
"price": 48517.96,
"change": -0.20779946,
"volume": 24911989432.644707,
"mktCap": 917393356017,
"mktFdCap": 1018877160000,
"supply": 18908325,
"supplyMax": 21000000
},
{
"name": "Ethereum",
"symbol": "ETHUSD",
"price": 3959.52,
"change": -0.56104434,
"volume": 14783117991.199245,
"mktCap": 470595640615.2004,
"mktFdCap": 470595640615.2004,
"supply": 118851689.249,
"supplyMax": 118851689.249
},
{
"name": "Binance Coin",
"symbol": "BNBUSD",
"price": 530.5,
"change": -0.61820907,
"volume": 1665286405.4026406,
"mktCap": 88488009014,
"mktFdCap": 88488009014,
"supply": 166801148,
"supplyMax": 166801148
},
...
]
This endpoint retrieves the overview of the top 150 crypto assets ordered by market capitalization.
HTTP Request
GET https://api.bitapi.pro/v1/market/overview
Query Parameter
Parameter | Required | Default | Description |
---|---|---|---|
symbol | no | - | Filter the result by the symbol. |
currency | no | USD |
The currency overview result. [USD , BTC ] |
limit | no | 100 |
Limit the result of the top 150 crypto assets. |
JSON Response
Parameter | Description |
---|---|
name | Market name. |
symbol | Market symbol. |
price | Last Market price. |
change | Day price change percent. |
volume | Day total volume. |
mktCap | Market capitalization. |
mktFdCap | Market fully diluted capitalization. |
supply | Total available supply. |
supplyMax | Total maximum supply. |
Market Performance
curl "https://api.bitapi.pro/v1/market/performance"
const axios = require('axios')
axios.get('https://api.bitapi.pro/v1/market/performance').then((res) => {
console.log(res.data)
})
JSON response example (shortened):
[
{
"name": "Bitcoin",
"symbol": "BTCUSD",
"change1d": -0.33427268,
"change1w": 3.75153572,
"change1M": -14.95003345,
"change3M": 13.08790273,
"change6M": 50.16238304,
"change1y": 104.23121534,
"changeYTD": 67.13282854,
"volatility": 1.45039344
},
{
"name": "Ethereum",
"symbol": "ETHUSD",
"change1d": -0.60298453,
"change1w": 0.80098818,
"change1M": -14.61225635,
"change3M": 35.06364898,
"change6M": 116.36160971,
"change1y": 546.43895569,
"changeYTD": 436.45078643,
"volatility": 2.8998247
},
{
"name": "Binance Coin",
"symbol": "BNBUSD",
"change1d": -0.4683402,
"change1w": 0.26420079,
"change1M": -14.7601476,
"change3M": 49.51311398,
"change6M": 89.91035289,
"change1y": 1535.06473124,
"changeYTD": 1319.29605011,
"volatility": 2.37371819
},
...
]
This endpoint retrieves the performance of the top 150 crypto assets ordered by market capitalization.
HTTP Request
GET https://api.bitapi.pro/v1/market/performance
Query Parameter
Parameter | Required | Default | Description |
---|---|---|---|
symbol | no | - | Filter the result by the symbol. |
currency | no | USD |
The currency performance result. [USD , BTC ] |
limit | no | 100 |
Limit the result of the top 150 crypto assets. |
JSON Response
Parameter | Description |
---|---|
name | Market name. |
symbol | Market symbol. |
change1d | Day price change percent. |
change1w | Week price change percent. |
change1M | Month price change percent. |
change3M | 3 Month price change percent. |
change6M | 6 Month price change percent. |
change1y | 1 Year price change percent. |
changeYTD | Year to date price change percent. |
volatility | Market volatility. |
Market Oscillator
curl "https://api.bitapi.pro/v1/market/oscillator"
const axios = require('axios')
axios.get('https://api.bitapi.pro/v1/market/oscillator').then((res) => {
console.log(res.data)
})
JSON response example (shortened):
[
{
"name": "Bitcoin",
"symbol": "BTCUSD",
"rating": 0.09090909,
"ao": -4015.37976471,
"atr": 2620.53420764,
"cci": 3.54861289,
"dmi": 37.54826306,
"macdLv": -1998.88508152,
"macdSig": -2440.632327,
"mom": 1756.2,
"rsi": 43.41786869,
"stochk": 58.52455492,
"stochd": 46.29101856
},
{
"name": "Ethereum",
"symbol": "ETHUSD",
"rating": 0.09090909,
"ao": -193.64224575,
"atr": 342.63533386,
"cci": -55.78318204,
"dmi": 26.91259298,
"macdLv": -90.56863084,
"macdSig": -92.83776419,
"mom": 146.62,
"rsi": 44.76509071,
"stochk": 41.67169879,
"stochd": 39.15760007
},
{
"name": "Binance Coin",
"symbol": "BNBUSD",
"rating": -0.09090909,
"ao": -40.22766909,
"atr": 48.44270263,
"cci": -63.67759413,
"dmi": 34.39506979,
"macdLv": -15.54188691,
"macdSig": -14.07427883,
"mom": 7.2,
"rsi": 42.84380125,
"stochk": 26.21912287,
"stochd": 24.22194113
},
...
]
This endpoint retrieves the oscillator of the top 150 crypto assets ordered by market capitalization.
HTTP Request
GET https://api.bitapi.pro/v1/market/oscillator
Query Parameter
Parameter | Required | Default | Description |
---|---|---|---|
symbol | no | - | Filter the result by the symbol. |
currency | no | USD |
The currency oscillator result. [USD , BTC ] |
limit | no | 100 |
Limit the result of the top 150 crypto assets. |
JSON Response
Parameter | Description |
---|---|
name | Market name. |
symbol | Market symbol. |
rating | Overall Oscillator Rating. -1 (strong sell ), 0 (neutral ), +1 (strong buy ) |
ao | Awesome Oscillator |
atr | Average True Range |
cci | Commodity Channel Index |
dmi | Directional Movement Index |
macdLv | Moving Average Convergence Divergence Level |
macdSig | Moving Average Convergence Divergence Signal |
mom | Momentum |
rsi | Relative Strength Index |
stochk | Stochastic %K Length |
stochd | Stochastic %D Smoothing |
Market Moving Average
curl "https://api.bitapi.pro/v1/market/moving_average"
const axios = require('axios')
axios.get('https://api.bitapi.pro/v1/market/moving_average').then((res) => {
console.log(res.data)
})
JSON response example (shortened):
[
{
"name": "Bitcoin",
"symbol": "BTCUSD",
"rating": -0.4,
"price": 48630.15,
"ma_20_close": 48466.057,
"ma_50_close": 55418.3126,
"ma_200_close": 47351.1479,
"bb_up": 51228.63304212,
"bb_down": 45703.48095788
},
{
"name": "Ethereum",
"symbol": "ETHUSD",
"rating": -0.53333333,
"price": 3944.18,
"ma_20_close": 4046.597,
"ma_50_close": 4281.18398319,
"ma_200_close": 3310.07813593,
"bb_up": 4384.62142865,
"bb_down": 3708.57257135
},
{
"name": "Binance Coin",
"symbol": "BNBUSD",
"rating": -0.4,
"price": 529.5,
"ma_20_close": 549.28,
"ma_50_close": 585.63143553,
"ma_200_close": 438.44100945,
"bb_up": 598.68071255,
"bb_down": 499.87928745
},
...
]
This endpoint retrieves the moving average of the top 150 crypto assets ordered by market capitalization.
HTTP Request
GET https://api.bitapi.pro/v1/market/moving_average
Query Parameter
Parameter | Required | Default | Description |
---|---|---|---|
symbol | no | - | Filter the result by the symbol. |
currency | no | USD |
The currency Moving Average result. [USD , BTC ] |
limit | no | 100 |
Limit the result of the top 150 crypto assets. |
JSON Response
Parameter | Description |
---|---|
name | Market name. |
symbol | Market symbol. |
rating | Overall Moving Average Rating. -1 (strong sell ), 0 (neutral ), +1 (strong buy ) |
price | Last Market price. |
ma_20 | Moving Average Length 20 . |
ma_50 | Moving Average Length 50 . |
ma_200 | Moving Average Length 200 . |
bb_up | Bollinger Bands Upper price level. |
bb_down | Bollinger Bands Lower price level. |
Errors
The API uses the following error codes:
Status Code | Meaning |
---|---|
400 | Bad Request -- You requested a format that isn't valid. |
401 | Unauthorized -- Your API key is invalid or inactive. |
404 | Request not found -- The specified request could not be found. |
422 | Not Acceptable -- Your request is invalid. |
429 | Too Many Request -- Too many request. Check your plan request limit. |
500 | Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |