Skip to main content

What are bulk queries and why should I use them?

How to get multiple indicators returned in one API call

Bulk queries let you fetch many indicator calculations in a single API call.

For example, you can get RSI, MACD, KDJ, MA and SuperTrend for BTCUSDT on the 1h timeframe in one request to POST https://v2.taapi.io/bulk. On higher plans, the same request can also cover other symbols and timeframes.

How a bulk request is built

A bulk request contains a list of constructs. Each construct is one asset (exchange + symbol + timeframe) with a list of indicators to calculate for it:

{
"constructs": [
{
"id": "btc_1h",
"exchange": "binance",
"symbol": "BTCUSDT",
"timeframe": "1h",
"indicators": [
{ "id": "rsi_14", "indicator": "rsi", "period": 14 },
{ "id": "macd", "indicator": "macd" }
]
}
]
}

The id values you choose become the keys of the response, so you can read results like response.btc_1h.rsi_14.value. Each indicator can also take results and backtrack to return historical values.

Limits

Each construct can contain up to 20 indicators. How many constructs you can send in one request depends on your plan:

  • Basic: 1 construct

  • Pro: 3 constructs

  • Expert: 10 constructs

  • Enterprise: 15+ constructs (agreed individually)

Two constructs can't target the same exchange + symbol + timeframe. If you send more constructs than your plan allows, the API returns HTTP 429 with a message like Too many constructs. Your plan allows 3 construct(s) per bulk request.

If one construct fails (for example because of an invalid symbol), it returns an _error message and the rest of the request still succeeds.

A bulk request counts as a single request against your rate limit, which makes it the most efficient way to use the API.

Did this answer your question?