Multiple constructs

Typically, bulk queries allow you to request multiple indicators for a single pair & timeframe. By using multiple constructs in a bulk query, you can request multiple pairs and / or timeframes in a single API query.

Get started

Querying multiple constructs is a heavier operation, as indicators are calculated off of a different data-set (or candles) for every construct, therefore, it is not enabled by default and you have to opt-in to use it. At this moment, this feature is only available for subscribers of Pro (5 constructs) and Expert (10 constructs). Get in touch if you’d like to enable multiple constructs on your plan.

How it works

Using multiple constructs allows you, for example, to request the RSI for BTC/USDT on 1m, 15m and 1h timeframes in a single API request, like this:

{
	"secret": "MY_SECRET",
	"construct": [
		{
			"exchange": "binance",
			"symbol": "BTC/USDT",
			"interval": "1m",
			"indicators": [
				{
					"indicator": "rsi",
					"period": 14
				}
			]
		},
		{
			"exchange": "binance",
			"symbol": "BTC/USDT",
			"interval": "15m",
			"indicators": [
				{
					"indicator": "rsi",
					"period": 14
				}
			]
		},
		{
			"exchange": "binance",
			"symbol": "BTC/USDT",
			"interval": "1h",
			"indicators": [
				{
					"indicator": "rsi",
					"period": 14
				}
			]
		}
	]
}

You can also request multiple different pairs on different timeframes and query multiple indicators for each of them, all in a single API request:

{
	"secret": "MY_SECRET",
	"construct": [
		{
			"exchange": "binance",
			"symbol": "BTC/USDT",
			"interval": "1h",
			"indicators": [
				{
					"indicator": "rsi",
					"period": 14
				},
				{
					"indicator": "supertrend"
				}
			]
		},
		{
			"exchange": "binance",
			"symbol": "ADA/BNB",
			"interval": "15m",
			"indicators": [
				{
					"indicator": "rsi",
					"period": 14
				},
				{
					"indicator": "supertrend"
				}
			]
		}
	]
}

Response

{
  "data": [
    {
      "id": "binance_BTC/USDT_1h_rsi_14_0",
      "result": {
        "value": 39.03932026174608
      },
      "errors": []
    },
    {
      "id": "binance_BTC/USDT_1h_supertrend_0",
      "result": {
        "value": 32041.74089369747,
        "valueAdvice": "short"
      },
      "errors": []
    },
    {
      "id": "binance_ADA/BNB_15m_rsi_14_0",
      "result": {
        "value": 61.08648006041372
      },
      "errors": []
    },
    {
      "id": "binance_ADA/BNB_15m_supertrend_0",
      "result": {
        "value": 0.003913688746545626,
        "valueAdvice": "long"
      },
      "errors": []
    }
  ]
}

Arbitrage

Additionally, using this feature, you can also query any indicator on the same pair / timeframe across different exchanges and this way enter the world of arbitrage.

Limits

Max number of possible constructs we can add to your plan is 20. This limit also applies when mixing multiple indicators with multiple constructs. For more information, please refer to the rate-limits page.

Let’s say you have 4 constructs allowed on your plan, the maximum number of indicators you can calculate in one request is still 20, but you can split these out on these 4 constructs and calculate 5 indicators on each construct. If you have 10 constructs, you can calculate 2 indicators on each construct.

That’s it

If you have any questions / comments, as always, please get in touch!