getTechnicalIndicatorData API
getTechnicalIndicatorDataThe getTechnicalIndicatorData API from Barchart OnDemand provides the requested technical indicators data for the requested symbol.
View All APIsrequestTyperequired
The type of response requested from the API. getStudies will return the list of all available indicators with their input sources, periodicity, offset, and meta information. getStudy will return the data for the requested indicator.
getStudysymbolrequired
A symbol or code that identifies a financial instrument.
AAPLstudyIdrequired
A valid indicator code that identifies a technical indicator when the argument is passed to getStudies.
MAunitrequired
This parameter specifies whether the data to be returned should be tick, minutes (intraday), day (daily), weekly, monthly, quarterly, or yearly.
numberOfBarsoptional
The maximum number of records requested over the requested date range.
100inputsoptional
You can pass any valid input values for the selected study that are not always returned via this parameter. For example, for Moving Average (MA), you can pass values as - inputs[Period]=50&inputs[Source]=Open&inputs[Offset]=1. For an input field of type enumeration, please ensure you pass a value from the provided list of values.
specoptional
This parameter is used to specify whether the data should be plain, nearest or continuation records. Nearest and continuation are ignored for equities, and if specified the query will simply return plain records.
isContractVolumeoptional
For futures, this parameter determines whether the returned volume should be the contract volume or the total volume. By default, it returns the total volume.
truedividendsAdjustoptional
Turns on/off dividends adjustment for stock data. By default it is off.
truebackAdjustoptional
This parameter specifies whether the contracts in the series will be adjusted based on the roll-gap between the closing prices of the current contract and the previous contract on the day of the switch. Valid values are true and false. If not specified, the default value is false resulting in a non-adjusted query. Adjustments are reflected starting from the current date, regardless if an end date is set or not. This parameter only applies to multi-contract futures queries and is ignored for all other queries.
truedaysToExpirationoptional
This parameter specifies the number of calendar days prior to a contract expiration when the series of contracts will be switched to the next contract in the series. Valid values are 0 through 60. A value of 0 will tell the system to use the day of expiration. If not specified, the default value (1) is used, resulting in each contract in the series to run until (and including) the day prior to its expiration. This parameter only applies to multi-contract futures queries and is ignored for all other queries.
1contractRolloptional
For futures, this parameter determines the switch from one contract to the next in the series is calculated. When the value specified is 'expiration', the switch from one contract to the next in the series will be based on the expiration date (and the value of the 'daystoexpiration' parameter if specified). When the value specified is 'combined', a combination of volume and openinterest will be used to determine when to switch from one contract to the next in the series (when using this value, the 'daystoexpiration' parameter is ignored).
decimalPrecisionoptional
The decimal precision to be applied to the requested study fields in the response.
always returned
A sequence of characters. (example: GOOG)
always returned
A type which includes a list of valid possible values.
GET
GET https://ondemand.websol.barchart.com/getTechnicalIndicatorData.json?apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getTechnicalIndicatorData.json
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Response
{
"results": []
}
GET
GET https://ondemand.websol.barchart.com/getTechnicalIndicatorData.xml?apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getTechnicalIndicatorData.xml
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Response
<?xml version="1.0" encoding="utf-8"?>
<getTechnicalIndicatorData>
<status>
<code>200</code>
<message>Success.</message>
</status>
<item>
<symbol>AAPL</symbol>
<data>
<indicator>
<DateTime>2026-01-21T00:00:00+00:00</DateTime>
<MA>263.41</MA>
</indicator>
<indicator>
<DateTime>2026-01-22T00:00:00+00:00</DateTime>
<MA>262.28</MA>
</indicator>
<indicator>
<DateTime>2026-01-23T00:00:00+00:00</DateTime>
<MA>261.07</MA>
</indicator>
<indicator>
<DateTime>2026-01-26T00:00:00+00:00</DateTime>
<MA>260.15</MA>
</indicator>
<indicator>
<DateTime>2026-01-27T00:00:00+00:00</DateTime>
<MA>259.39</MA>
</indicator>
<indicator>
<DateTime>2026-01-28T00:00:00+00:00</DateTime>
<MA>258.53</MA>
</indicator>
<indicator>
<DateTime>2026-01-29T00:00:00+00:00</DateTime>
<MA>257.79</MA>
</indicator>
<indicator>
<DateTime>2026-01-30T00:00:00+00:00</DateTime>
<MA>257.17</MA>
</indicator>
<indicator>
<DateTime>2026-02-02T00:00:00+00:00</DateTime>
<MA>257.12</MA>
</indicator>
<indicator>
<DateTime>2026-02-03T00:00:00+00:00</DateTime>
<MA>257.23</MA>
</indicator>
<indicator>
<DateTime>2026-02-04T00:00:00+00:00</DateTime>
<MA>257.94</MA>
</indicator>
<indicator>
<DateTime>2026-02-05T00:00:00+00:00</DateTime>
<MA>258.72</MA>
</indicator>
<indicator>
<DateTime>2026-02-06T00:00:00+00:00</DateTime>
<MA>259.67</MA>
</indicator>
<indicator>
<DateTime>2026-02-09T00:00:00+00:00</DateTime>
<MA>260.44</MA>
</indicator>
<indicator>
<DateTime>2026-02-10T00:00:00+00:00</DateTime>
<MA>261.12</MA>
</indicator>
<indicator>
<DateTime>2026-02-11T00:00:00+00:00</DateTime>
<MA>261.86</MA>
</indicator>
<indicator>
<DateTime>2026-02-12T00:00:00+00:00</DateTime>
<MA>261.96</MA>
</indicator>
<indicator>
<DateTime>2026-02-13T00:00:00+00:00</DateTime>
<MA>261.85</MA>
</indicator>
<indicator>
<DateTime>2026-02-17T00:00:00+00:00</DateTime>
<MA>262.28</MA>
</indicator>
<indicator>
<DateTime>2026-02-18T00:00:00+00:00</DateTime>
<MA>263.17</MA>
</indicator>
<indicator>
<DateTime>2026-02-19T00:00:00+00:00</DateTime>
<MA>263.83</MA>
</indicator>
<indicator>
<DateTime>2026-02-20T00:00:00+00:00</DateTime>
<MA>264.65</MA>
</indicator>
<indicator>
<DateTime>2026-02-23T00:00:00+00:00</DateTime>
<MA>265.57</MA>
</indicator>
<indicator>
<DateTime>2026-02-24T00:00:00+00:00</DateTime>
<MA>266.42</MA>
</indicator>
<indicator>
<DateTime>2026-02-25T00:00:00+00:00</DateTime>
<MA>267.23</MA>
</indicator>
<indicator>
<DateTime>2026-02-26T00:00:00+00:00</DateTime>
<MA>268.06</MA>
</indicator>
<indicator>
<DateTime>2026-02-27T00:00:00+00:00</DateTime>
<MA>268.37</MA>
</indicator>
<indicator>
<DateTime>2026-03-02T00:00:00+00:00</DateTime>
<MA>268.64</MA>
</indicator>
<indicator>
<DateTime>2026-03-03T00:00:00+00:00</DateTime>
<MA>268.34</MA>
</indicator>
<indicator>
<DateTime>2026-03-04T00:00:00+00:00</DateTime>
<MA>268.01</MA>
</indicator>
<indicator>
<DateTime>2026-03-05T00:00:00+00:00</DateTime>
<MA>267.21</MA>
</indicator>
<indicator>
<DateTime>2026-03-06T00:00:00+00:00</DateTime>
<MA>266.3</MA>
</indicator>
<indicator>
<DateTime>2026-03-09T00:00:00+00:00</DateTime>
<MA>265.41</MA>
</indicator>
<indicator>
<DateTime>2026-03-10T00:00:00+00:00</DateTime>
<MA>264.72</MA>
</indicator>
<indicator>
<DateTime>2026-03-11T00:00:00+00:00</DateTime>
<MA>264.07</MA>
</indicator>
<indicator>
<DateTime>2026-03-12T00:00:00+00:00</DateTime>
<MA>263.09</MA>
</indicator>
<indicator>
<DateTime>2026-03-13T00:00:00+00:00</DateTime>
<MA>262.51</MA>
</indicator>
<indicator>
<DateTime>2026-03-16T00:00:00+00:00</DateTime>
<MA>262.36</MA>
</indicator>
<indicator>
<DateTime>2026-03-17T00:00:00+00:00</DateTime>
<MA>261.88</MA>
</indicator>
<indicator>
<DateTime>2026-03-18T00:00:00+00:00</DateTime>
<MA>261.16</MA>
</indicator>
<indicator>
<DateTime>2026-03-19T00:00:00+00:00</DateTime>
<MA>260.58</MA>
</indicator>
<indicator>
<DateTime>2026-03-20T00:00:00+00:00</DateTime>
<MA>259.75</MA>
</indicator>
<indicator>
<DateTime>2026-03-23T00:00:00+00:00</DateTime>
<MA>259.01</MA>
</indicator>
<indicator>
<DateTime>2026-03-24T00:00:00+00:00</DateTime>
<MA>257.99</MA>
</indicator>
<indicator>
<DateTime>2026-03-25T00:00:00+00:00</DateTime>
<MA>256.91</MA>
</indicator>
<indicator>
<DateTime>2026-03-26T00:00:00+00:00</DateTime>
<MA>255.91</MA>
</indicator>
<indicator>
<DateTime>2026-03-27T00:00:00+00:00</DateTime>
<MA>255.14</MA>
</indicator>
<indicator>
<DateTime>2026-03-30T00:00:00+00:00</DateTime>
<MA>254.24</MA>
</indicator>
<indicator>
<DateTime>2026-03-31T00:00:00+00:00</DateTime>
<MA>253.74</MA>
</indicator>
<indicator>
<DateTime>2026-04-01T00:00:00+00:00</DateTime>
<MA>253.4</MA>
</indicator>
<indicator>
<DateTime>2026-04-02T00:00:00+00:00</DateTime>
<MA>253.18</MA>
</indicator>
<indicator>
<DateTime>2026-04-06T00:00:00+00:00</DateTime>
<MA>253.25</MA>
</indicator>
<indicator>
<DateTime>2026-04-07T00:00:00+00:00</DateTime>
<MA>252.93</MA>
</indicator>
<indicator>
<DateTime>2026-04-08T00:00:00+00:00</DateTime>
<MA>252.83</MA>
</indicator>
<indicator>
<DateTime>2026-04-09T00:00:00+00:00</DateTime>
<MA>252.82</MA>
</indicator>
<indicator>
<DateTime>2026-04-10T00:00:00+00:00</DateTime>
<MA>253.05</MA>
</indicator>
<indicator>
<DateTime>2026-04-13T00:00:00+00:00</DateTime>
<MA>253.51</MA>
</indicator>
<indicator>
<DateTime>2026-04-14T00:00:00+00:00</DateTime>
<MA>253.81</MA>
</indicator>
<indicator>
<DateTime>2026-04-15T00:00:00+00:00</DateTime>
<MA>254.42</MA>
</indicator>
<indicator>
<DateTime>2026-04-16T00:00:00+00:00</DateTime>
<MA>255.09</MA>
</indicator>
<indicator>
<DateTime>2026-04-17T00:00:00+00:00</DateTime>
<MA>256.15</MA>
</indicator>
<indicator>
<DateTime>2026-04-20T00:00:00+00:00</DateTime>
<MA>257.4</MA>
</indicator>
<indicator>
<DateTime>2026-04-21T00:00:00+00:00</DateTime>
<MA>258.14</MA>
</indicator>
<indicator>
<DateTime>2026-04-22T00:00:00+00:00</DateTime>
<MA>259.21</MA>
</indicator>
<indicator>
<DateTime>2026-04-23T00:00:00+00:00</DateTime>
<MA>260.25</MA>
</indicator>
<indicator>
<DateTime>2026-04-24T00:00:00+00:00</DateTime>
<MA>261.16</MA>
</indicator>
<indicator>
<DateTime>2026-04-27T00:00:00+00:00</DateTime>
<MA>262.1</MA>
</indicator>
<indicator>
<DateTime>2026-04-28T00:00:00+00:00</DateTime>
<MA>263.3</MA>
</indicator>
<indicator>
<DateTime>2026-04-29T00:00:00+00:00</DateTime>
<MA>264.12</MA>
</indicator>
<indicator>
<DateTime>2026-04-30T00:00:00+00:00</DateTime>
<MA>264.9</MA>
</indicator>
<indicator>
<DateTime>2026-05-01T00:00:00+00:00</DateTime>
<MA>266.11</MA>
</indicator>
<indicator>
<DateTime>2026-05-04T00:00:00+00:00</DateTime>
<MA>267.01</MA>
</indicator>
<indicator>
<DateTime>2026-05-05T00:00:00+00:00</DateTime>
<MA>268.54</MA>
</indicator>
<indicator>
<DateTime>2026-05-06T00:00:00+00:00</DateTime>
<MA>269.97</MA>
</indicator>
<indicator>
<DateTime>2026-05-07T00:00:00+00:00</DateTime>
<MA>271.32</MA>
</indicator>
<indicator>
<DateTime>2026-05-08T00:00:00+00:00</DateTime>
<MA>272.96</MA>
</indicator>
<indicator>
<DateTime>2026-05-11T00:00:00+00:00</DateTime>
<MA>274.65</MA>
</indicator>
<indicator>
<DateTime>2026-05-12T00:00:00+00:00</DateTime>
<MA>276.46</MA>
</indicator>
<indicator>
<DateTime>2026-05-13T00:00:00+00:00</DateTime>
<MA>278.09</MA>
</indicator>
<indicator>
<DateTime>2026-05-14T00:00:00+00:00</DateTime>
<MA>279.84</MA>
</indicator>
<indicator>
<DateTime>2026-05-15T00:00:00+00:00</DateTime>
<MA>281.36</MA>
</indicator>
</data>
</item>
</getTechnicalIndicatorData>
GET
GET https://ondemand.websol.barchart.com/getTechnicalIndicatorData.csv?apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getTechnicalIndicatorData.csv
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&requestType=getStudy&symbol=AAPL&studyId=MA&numberOfBars=100&isContractVolume=true÷ndsAdjust=true&backAdjust=true&daysToExpiration=1
Response
symbol,parent
"AAPL"
"2026-05-15T00:00:00+00:00","281.36",""
"2026-05-14T00:00:00+00:00","279.84",""
"2026-05-13T00:00:00+00:00","278.09",""
"2026-05-12T00:00:00+00:00","276.46",""
"2026-05-11T00:00:00+00:00","274.65",""
"2026-05-08T00:00:00+00:00","272.96",""
"2026-05-07T00:00:00+00:00","271.32",""
"2026-05-06T00:00:00+00:00","269.97",""
"2026-05-05T00:00:00+00:00","268.54",""
"2026-05-04T00:00:00+00:00","267.01",""
"2026-05-01T00:00:00+00:00","266.11",""
"2026-04-30T00:00:00+00:00","264.9",""
"2026-04-29T00:00:00+00:00","264.12",""
"2026-04-28T00:00:00+00:00","263.3",""
"2026-04-27T00:00:00+00:00","262.1",""
"2026-04-24T00:00:00+00:00","261.16",""
"2026-04-23T00:00:00+00:00","260.25",""
"2026-04-22T00:00:00+00:00","259.21",""
"2026-04-21T00:00:00+00:00","258.14",""
<?php
$ondemand = new SoapClient('https://ondemand.websol.barchart.com/service?wsdl');
$params = [
'apikey' => 'YOUR_API_KEY',
'requestType' => 'getStudy',
'symbol' => 'AAPL',
'studyId' => 'MA',
'numberOfBars' => '100',
'isContractVolume' => 'true',
'dividendsAdjust' => 'true',
'backAdjust' => 'true',
'daysToExpiration' => '1',
];
$result = $ondemand->getTechnicalIndicatorData($params);
var_dump($result);
Dim ondemand
Dim result
Set ondemand = Server.CreateObject("MSSOAP.SoapClient30")
ondemand.ClientProperty("ServerHTTPRequest") = True
ondemand.MSSoapInit("https://ondemand.websol.barchart.com/service?wsdl")
Set result = ondemand.getTechnicalIndicatorData("YOUR_API_KEY", "getStudy", "AAPL", "MA", "100", "true", "true", "true", "1")
use SOAP::Lite;
use SOAP::WSDL;
my $ondemand = SOAP::Lite
-> service('https://ondemand.websol.barchart.com/service?wsdl');
my $result = $ondemand->getTechnicalIndicatorData('YOUR_API_KEY', 'getStudy', 'AAPL', 'MA', '100', 'true', 'true', 'true', '1');
print $result;
from suds.client import Client
ondemand = Client('https://ondemand.websol.barchart.com/service?wsdl')
result = ondemand.service.getTechnicalIndicatorData('YOUR_API_KEY', 'getStudy', 'AAPL', 'MA', '100', 'true', 'true', 'true', '1')
print(result)
require 'savon'
ondemand = Savon.client(wsdl: 'https://ondemand.websol.barchart.com/service?wsdl')
response = ondemand.call(
:getTechnicalIndicatorData,
message: {
apikey: 'YOUR_API_KEY',
requestType: 'getStudy',
symbol: 'AAPL',
studyId: 'MA',
numberOfBars: '100',
isContractVolume: 'true',
dividendsAdjust: 'true',
backAdjust: 'true',
daysToExpiration: '1',
}
)
response.body