Client

With this method, the TAAPI.IO Client does the heavy lifting of fetching candle data from the exchanges, and passing it on to the API. This means that it’s the client talking directly to the exchanges, and therefore, you need to watch your usage and stay under the exchange’s rate-limits. For more information on an exchange’s rate-limits, you need to find their technical documentation on their home page.

Pros

  • Calculate TA for any crypto asset, for any  market / symbol / time frame on 124 different crypto exchanges.
  • Candles are pulled instantly from the exchanges, making TA indicator calculations real time.
  • Use this client as a wrapper, if you use NodeJS.

Cons

  • You need to watch the rate-limits for the exchange yourself.
  • One extra step if you’re not using NodeJS (More info below).

Why do it like this?

It’s a tall order to fetch all symbols on all time frames for all the exchanges, and guarantee that this is reliable, and always up-to-date. However, we are working on exactly this, and this service is available for the crypto exchange “Binance”, via the Direct Integration Method.

Getting Started

Our client is NodeJS based (check the NPM Package on npmjs.com), and that can be used either as a wrapper or as a server. Below are some guides based on programming language and operation systems:

NodeJS

If you’re working with NodeJS, then things are very simple, as you already have NodeJS installed on your platform. Simply install our NPM Package (taapi), and you’re good to go:

Make sure you have your project setup, otherwise, create a new one:

  • Create a new folder: mkdir myCryptoProject
  • Enter that folder: cd myCryptoProject
  • Init a new project: npm init
  • Install TAAPI.IO npm package: npm i taapi
  • Create your entry file: touch index.js
  • Start up your favorite IDE, and paste the below into index.js
// Require taapi: npm i taapi --save
const taapi = require("taapi");
 
// Setup client with authentication
const client = taapi.client("MY_SECRET");
 
// Get the BTC/USDT RSI value on the 1 minute time frame from binance
client.getIndicator("rsi", "binance", "BTC/USDT", "1m").then(function(result) {
    console.log("Result: ", result);
})
.catch(function(error){
    console.log(error.message);
});

Be sure to check out the below required and optional parameters!

Other programming languages

To get started with anything but NodeJS, you need to install the taapi npm package and run it as a server. Don’t be scared if this is already getting too geeky. It really is fairly simple. Follow these steps (unix commands used):

  • Visit NodeJS’s download page, download and install.
  • Once installed, create a folder for the taapi local server: mkdir taapiServer and cd to this directory: cd taapiServer .
  • Init a new NPM project: npm init (and follow the init steps)
  • Install taapi: npm install taapi
  • Create an empty index.js file: touch index.js
  • Boot up your favorite editor and paste the below into the index.js file:
// Require taapi
const taapi = require("taapi");
 
// Setup client with authentication
const server = taapi.server("MY_SECRET");
 
// Define port - Optional and defaults to 4101
// server.setServerPort(3000);
 
// Start the server
server.start();

Your terminal should now display something like:

TAAPI.IO Local API Running on localhost:4101!

You’re now up and running and can use this server with your favorite programming language.

Hint: Use PM2 (Process Manager for NodeJS). It makes it easy to run the server as a background process.

  • npm install pm2 -g // Install pm2 globally
  • pm2 start index.js –name ‘taapi-server’ // Start the taapi server in the background
  • pm2 status // Check the status
  • pm2 log taapi-server // Check the log
  • pm2 –help

PHP

// Define query
$query = http_build_query(array(
  'indicator' => 'rsi',
  'exchange' => 'binance',
  'symbol' => 'BTC/USDT',
  'interval' => '1h'
));
 
// Define endpoint. Change the port if you changed it when setting up the server
$url = "http://localhost:4101/indicator?{$query}";
 
// create curl resource 
$ch = curl_init(); 
 
// set url 
curl_setopt($ch, CURLOPT_URL, $url); 
 
//return the transfer as a string 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 
// $output contains the output string 
$output = curl_exec($ch); 
 
// close curl resource to free up system resources 
curl_close($ch);
 
// View result
print_r(json_decode($output));

Mandatory Parameters

Using this “Client” method requires at least the below parameters:

ParameterTypeDescription
indicatorStringThe desired Indicator to calculate TA of.
exchangeStringThe exchange you want to calculate TA from: [binance, kucoin, …]
symbolStringSymbol names are always upper-case, with the coin separated by a forward slash and the market: COIN/MARKET. Example: ‘BTC/USDT’ Bitcoin to Tether, or LTC/BTC Litecoin to Bitcoin.
intervalStringInterval or time frame: Binance have the following time frames or intervals: [“1m”, “3m”, “5m”, “15m”, “30m”, “1h”, “2h”, “4h”, “6h”, “8h”, “12h”, “1d”, “3d”, “1w”, “1M”].

Depending on the indicator you call, there may or may not be more mandatory parameters. Additionally, there may be several other optional paramters, also depending on the indicator. Please refer to the Indicators page for more information.

Optional Parameters

Below is a list of optional parameters that all the indicators will take:

ParameterType
backtrackIntegerThis ‘backtrack’ parameter, removes candles from the data set, and thus calculates the indicator value, x amount of candles back. So, if you’re fetching the RSI on the hourly, and you want to know what the RSI was 5 hours ago, set backtrack=5. Default here is 0, and a max of 50.

Supported Exchanges

Supported Exchanges

The CCXT library currently supports the following 107 cryptocurrency exchange markets and trading APIs:

logo id name ver type certified pro
ace ace ACE API Version 2 cex
alpaca alpaca Alpaca API Version * cex CCXT Pro
ascendex ascendex AscendEX API Version 2 cex CCXT Pro
bequant bequant Bequant API Version 3 cex CCXT Pro
bigone bigone BigONE API Version 3 cex
binance binance Binance API Version * cex CCXT Certified CCXT Pro
binancecoinm binancecoinm Binance COIN-M API Version * cex CCXT Certified CCXT Pro
binanceus binanceus Binance US API Version * cex CCXT Pro
binanceusdm binanceusdm Binance USDⓈ-M API Version * cex CCXT Certified CCXT Pro
bingx bingx BingX API Version 1 cex CCXT Certified CCXT Pro
bit2c bit2c Bit2C API Version * cex
bitbank bitbank bitbank API Version 1 cex
bitbns bitbns Bitbns API Version 2 cex
bitfinex bitfinex Bitfinex API Version 2 cex CCXT Pro
bitfinex1 bitfinex1 Bitfinex API Version 1 cex CCXT Pro
bitflyer bitflyer bitFlyer API Version 1 cex
bitget bitget Bitget API Version 2 cex CCXT Certified CCXT Pro
bithumb bithumb Bithumb API Version * cex CCXT Pro
bitmart bitmart BitMart API Version 2 cex CCXT Certified CCXT Pro
bitmex bitmex BitMEX API Version 1 cex CCXT Certified CCXT Pro
bitopro bitopro BitoPro API Version 3 cex CCXT Pro
bitrue bitrue Bitrue API Version 1 cex CCXT Pro
bitso bitso Bitso API Version 3 cex
bitstamp bitstamp Bitstamp API Version 2 cex CCXT Pro
bitteam bitteam BIT.TEAM API Version 2.0.6 cex
bitvavo bitvavo Bitvavo API Version 2 cex CCXT Pro
bl3p bl3p BL3P API Version 1 cex
blockchaincom blockchaincom Blockchain.com API Version 3 cex CCXT Pro
blofin blofin BloFin API Version 1 cex CCXT Pro
btcalpha btcalpha BTC-Alpha API Version 1 cex
btcbox btcbox BtcBox API Version 1 cex
btcmarkets btcmarkets BTC Markets API Version 3 cex
btcturk btcturk BTCTurk API Version * cex
bybit bybit Bybit API Version 5 cex CCXT Certified CCXT Pro
cex cex CEX.IO API Version * cex CCXT Pro
coinbase coinbase Coinbase Advanced API Version 2 cex CCXT Certified CCXT Pro
coinbaseexchange coinbaseexchange Coinbase Exchange API Version * cex CCXT Pro
coinbaseinternational coinbaseinternational Coinbase International API Version 1 cex CCXT Certified CCXT Pro
coincatch coincatch CoinCatch API Version 1 cex CCXT Pro
coincheck coincheck coincheck API Version * cex
coinex coinex CoinEx API Version 2 cex CCXT Certified CCXT Pro
coinlist coinlist Coinlist API Version 1 cex
coinmate coinmate CoinMate API Version * cex
coinmetro coinmetro Coinmetro API Version 1 cex
coinone coinone CoinOne API Version 2 cex
coinsph coinsph Coins.ph API Version 1 cex
coinspot coinspot CoinSpot API Version * cex
cryptocom cryptocom Crypto.com API Version 2 cex CCXT Certified CCXT Pro
currencycom currencycom Currency.com API Version 2 cex CCXT Pro
defx defx Defx X API Version 1 dex
delta delta Delta Exchange API Version 2 cex
deribit deribit Deribit API Version 2 cex CCXT Pro
digifinex digifinex DigiFinex API Version 3 cex
ellipx ellipx Ellipx API Version 1 cex
exmo exmo EXMO API Version 1.1 cex
fmfwio fmfwio FMFW.io API Version 3 cex
gate gate Gate.io API Version 4 cex CCXT Certified CCXT Pro
gemini gemini Gemini API Version 1 cex CCXT Pro
hashkey hashkey HashKey Global API Version 1 cex CCXT Certified CCXT Pro
hitbtc hitbtc HitBTC API Version 3 cex
hollaex hollaex HollaEx API Version 2 cex CCXT Pro
htx htx HTX API Version 1 cex CCXT Certified CCXT Pro
huobijp huobijp Huobi Japan API Version 1 cex CCXT Pro
hyperliquid hyperliquid Hyperliquid API Version 1 dex CCXT Certified CCXT Pro
idex idex IDEX API Version 3 dex CCXT Pro
independentreserve independentreserve Independent Reserve API Version * cex CCXT Pro
indodax indodax INDODAX API Version 2.0 cex
kraken kraken Kraken API Version 0 cex CCXT Pro
krakenfutures krakenfutures Kraken Futures API Version 3 cex CCXT Pro
kucoin kucoin KuCoin API Version 2 cex CCXT Certified CCXT Pro
kucoinfutures kucoinfutures KuCoin Futures API Version 1 cex CCXT Certified CCXT Pro
kuna kuna Kuna API Version 4 cex
latoken latoken Latoken API Version 2 cex
lbank lbank LBank API Version 2 cex CCXT Pro
luno luno luno API Version 1 cex CCXT Pro
lykke lykke Lykke API Version 2 cex
mercado mercado Mercado Bitcoin API Version 3 cex
mexc mexc MEXC Global API Version 3 cex CCXT Certified CCXT Pro
myokx myokx MyOKX (EEA) API Version 5 cex CCXT Pro
ndax ndax NDAX API Version * cex CCXT Pro
novadax novadax NovaDAX API Version 1 cex
oceanex oceanex OceanEx API Version 1 cex
okcoin okcoin OKCoin API Version 5 cex CCXT Pro
okx okx OKX API Version 5 cex CCXT Certified CCXT Pro
onetrading onetrading One Trading API Version 1 cex CCXT Pro
oxfun oxfun OXFUN API Version 3 cex CCXT Pro
p2b p2b p2b API Version 2 cex CCXT Pro
paradex paradex Paradex API Version 1 dex CCXT Pro
paymium paymium Paymium API Version 1 cex
phemex phemex Phemex API Version 1 cex CCXT Pro
poloniex poloniex Poloniex API Version * cex CCXT Pro
poloniexfutures poloniexfutures Poloniex Futures API Version 1 cex CCXT Pro
probit probit ProBit API Version 1 cex CCXT Pro
timex timex TimeX API Version 1 cex
tokocrypto tokocrypto Tokocrypto API Version 1 cex
tradeogre tradeogre tradeogre API Version 2 cex
upbit upbit Upbit API Version 1 cex CCXT Pro
vertex vertex Vertex API Version 1 dex CCXT Pro
wavesexchange wavesexchange Waves.Exchange API Version * dex
wazirx wazirx WazirX API Version 2 cex CCXT Pro
whitebit whitebit WhiteBit API Version 4 cex CCXT Pro
woo woo WOO X API Version 1 cex CCXT Certified CCXT Pro
woofipro woofipro WOOFI PRO API Version 1 dex CCXT Certified CCXT Pro
xt xt XT API Version 4 cex CCXT Pro
yobit yobit YoBit API Version 3 cex
zaif zaif Zaif API Version 1 cex
zonda zonda Zonda API Version * cex

The good folks over at CCXT has done a fantastic job implementing all of these exchanges, for people to query and fetch data in a unified format. Please be sure to shoot them a donation!