Barchart OnDemand's getTechnicals API provides technical data and statistics for equities, indices, futures, currencies, cryptocurrencies and mutual funds based on symbol. Fields include moving averages, percent changes over different time periods and stochastics.

All APIsA symbol or code that identifies a financial instrument.

Type

Example

YHOO,GOOG

The fields requested.

Type

Example

averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay

Name / Requirement

Description

Type

A symbol or code that identifies a financial instrument.

A sequence of characters. (example: GOOG)

The average price of the instrument over 5 days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average price of the instrument over 20 days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average price of the instrument over 50 days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average price of the instrument over 100 days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average price of the instrument over 200 days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average price of the instrument since the start of the year.

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price over 5-days

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price over 20-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price over 50-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price over 100-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price over 200-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The change in price since the start of the year.

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price over 5-days

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price over 20-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price over 50-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price over 100-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price over 200-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The percentage change in price since the start of the year.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated over the past 5-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated over the past 20-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated over the past 50-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated over the past 100-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated over the past 200-days.

A numeric type defining a number with fractional parts. (example: 2.14)

The average daily volume calculated since the start of the year.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day raw stochastic indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day raw stochastic indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day raw stochastic indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day raw stochastic indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day raw stochastic indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day stochastic %k indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day stochastic %k indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day stochastic %k indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day stochastic %k indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day stochastic %k indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day stochastic %d indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day stochastic %d indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day stochastic %d indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day stochastic %d indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day stochastic %d indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day average true range indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day average true range indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day average true range indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day average true range indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day average true range indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day relative strength indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day relative strength indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day relative strength indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day relative strength indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day relative strength indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

A 9-day percent R indicator

A numeric type defining a number with fractional parts. (example: 2.14)

A 14-day percent R indicator

A numeric type defining a number with fractional parts. (example: 2.14)

A 20-day percent R indicator

A numeric type defining a number with fractional parts. (example: 2.14)

A 50-day percent R indicator

A numeric type defining a number with fractional parts. (example: 2.14)

A 100-day percent R indicator

A numeric type defining a number with fractional parts. (example: 2.14)

The 9-day historic or realized volatility.

A numeric type defining a number with fractional parts. (example: 2.14)

The 14-day historic or realized volatility.

A numeric type defining a number with fractional parts. (example: 2.14)

The 20-day historic or realized volatility.

A numeric type defining a number with fractional parts. (example: 2.14)

The 50-day historic or realized volatility.

A numeric type defining a number with fractional parts. (example: 2.14)

The 100-day historic or realized volatility.

A numeric type defining a number with fractional parts. (example: 2.14)

The 9-day moving average convergence/divergence indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

The 14-day moving average convergence/divergence indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

The 20-day moving average convergence/divergence indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

The 50-day moving average convergence/divergence indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

The 100-day moving average convergence/divergence indicator.

A numeric type defining a number with fractional parts. (example: 2.14)

The standard deviation using the past 20-days of data.

A numeric type defining a number with fractional parts. (example: 2.14)

The one year return on the ETF

A numeric type defining a number with fractional parts. (example: 2.14)

The three year return on the ETF

A numeric type defining a number with fractional parts. (example: 2.14)

The five year return on the ETF

A numeric type defining a number with fractional parts. (example: 2.14)

The ten year return on the ETF

A numeric type defining a number with fractional parts. (example: 2.14)

Pivot Point

A numeric type defining a number with fractional parts. (example: 2.14)

Pivot Point 1st level resistance.

A numeric type defining a number with fractional parts. (example: 2.14)

Pivot Point 2nd level resistance

A numeric type defining a number with fractional parts. (example: 2.14)

Pivot Point 1st level support

A numeric type defining a number with fractional parts. (example: 2.14)

Pivot Point 2nd level support

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 4 week high.

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 4 week low.

A numeric type defining a number with fractional parts. (example: 2.14)

50% Fibonacci Retracement from 4 week high/low.

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 13 week high.

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 13 week low.

A numeric type defining a number with fractional parts. (example: 2.14)

50% Fibonacci Retracement from 13 week high/low.

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 52 week high.

A numeric type defining a number with fractional parts. (example: 2.14)

38.2% Fibonacci Retracement from 52 week low.

A numeric type defining a number with fractional parts. (example: 2.14)

50% Fibonacci Retracement from 52 week high/low

A numeric type defining a number with fractional parts. (example: 2.14)

The standard deviation using the past year of data.

A numeric type defining a number with fractional parts. (example: 2.14)

200

OK

Success

400

Bad Request

The request was invalid, please see the message for more information.

500

Internal Server Error

Something is not working correctly, please contact support.

GET

GET https://ondemand.websol.barchart.com/getTechnicals.json?apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Host: ondemand.websol.barchart.com

POST

POST https://ondemand.websol.barchart.com/getTechnicals.json

Host: ondemand.websol.barchart.com

Content-Type: application/x-www-form-urlencoded

Content-Length: length

apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Response

```
{
"status": {
"code": 200,
"message": "Success."
},
"results": [
{
"symbol": "YHOO",
"movingAverageFiveDay": null,
"movingAverageTwentyDay": null,
"movingAverageFiftyDay": null,
"movingAverageOneHundredDay": null,
"movingAverageTwoHundredDay": null,
"movingAverageYTD": null,
"averageVolumeFiveDay": null,
"averageVolumeTwentyDay": null,
"averageVolumeFiftyDay": null,
"standardDeviation": null
},
{
"symbol": "GOOG",
"movingAverageFiveDay": 1190.86,
"movingAverageTwentyDay": 1149.18,
"movingAverageFiftyDay": 1125.31,
"movingAverageOneHundredDay": 1094.02,
"movingAverageTwoHundredDay": 1073.88,
"movingAverageYTD": 1098.56,
"averageVolumeFiveDay": 1311160,
"averageVolumeTwentyDay": 1227225,
"averageVolumeFiftyDay": 1381528,
"standardDeviation": -0.58
}
]
}
```

GET

GET https://ondemand.websol.barchart.com/getTechnicals.xml?apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Host: ondemand.websol.barchart.com

POST

POST https://ondemand.websol.barchart.com/getTechnicals.xml

Host: ondemand.websol.barchart.com

Content-Type: application/x-www-form-urlencoded

Content-Length: length

apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Response

```
<?xml version="1.0" encoding="utf-8"?>
<getTechnicals>
<status>
<code>200</code>
<message>Success.</message>
</status>
<item>
<symbol>YHOO</symbol>
<movingAverageFiveDay></movingAverageFiveDay>
<movingAverageTwentyDay></movingAverageTwentyDay>
<movingAverageFiftyDay></movingAverageFiftyDay>
<movingAverageOneHundredDay></movingAverageOneHundredDay>
<movingAverageTwoHundredDay></movingAverageTwoHundredDay>
<movingAverageYTD></movingAverageYTD>
<averageVolumeFiveDay></averageVolumeFiveDay>
<averageVolumeTwentyDay></averageVolumeTwentyDay>
<averageVolumeFiftyDay></averageVolumeFiftyDay>
<standardDeviation></standardDeviation>
</item>
<item>
<symbol>GOOG</symbol>
<movingAverageFiveDay>1190.86</movingAverageFiveDay>
<movingAverageTwentyDay>1149.18</movingAverageTwentyDay>
<movingAverageFiftyDay>1125.31</movingAverageFiftyDay>
<movingAverageOneHundredDay>1094.02</movingAverageOneHundredDay>
<movingAverageTwoHundredDay>1073.88</movingAverageTwoHundredDay>
<movingAverageYTD>1098.56</movingAverageYTD>
<averageVolumeFiveDay>1311160</averageVolumeFiveDay>
<averageVolumeTwentyDay>1227225</averageVolumeTwentyDay>
<averageVolumeFiftyDay>1381528</averageVolumeFiftyDay>
<standardDeviation>-0.58</standardDeviation>
</item>
</getTechnicals>
```

GET

GET https://ondemand.websol.barchart.com/getTechnicals.csv?apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Host: ondemand.websol.barchart.com

POST

POST https://ondemand.websol.barchart.com/getTechnicals.csv

Host: ondemand.websol.barchart.com

Content-Type: application/x-www-form-urlencoded

Content-Length: length

apikey=YOUR_API_KEY&symbols=YHOO%2CGOOG&fields=averageVolumeFiveDay%2CaverageVolumeTwentyDay%2CaverageVolumeFiftyDay

Response

```
symbol,movingAverageFiveDay,movingAverageTwentyDay,movingAverageFiftyDay,movingAverageOneHundredDay,movingAverageTwoHundredDay,movingAverageYTD,averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay,standardDeviation
"YHOO","","","","","","","","","",""
"GOOG","1190.86","1149.18","1125.31","1094.02","1073.88","1098.56","1311160","1227225","1381528","-0.58"
```

```
<?php
$ondemand = new SoapClient('https://ondemand.websol.barchart.com/service?wsdl');
$params = [
'apikey' => 'YOUR_API_KEY',
'symbols' => 'YHOO,GOOG',
'fields' => 'averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay',
];
$result = $ondemand->getTechnicals($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.getTechnicals("YOUR_API_KEY", "YHOO,GOOG", "averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay")
```

```
use SOAP::Lite;
use SOAP::WSDL;
my $ondemand = SOAP::Lite
-> service('https://ondemand.websol.barchart.com/service?wsdl');
my $result = $ondemand->getTechnicals('YOUR_API_KEY', 'YHOO,GOOG', 'averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay');
print $result;
```

```
from suds.client import Client
ondemand = Client('https://ondemand.websol.barchart.com/service?wsdl')
result = client.service.getTechnicals('YOUR_API_KEY', 'YHOO,GOOG', 'averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay')
print result
```

```
require 'savon'
ondemand = Savon.client(wsdl: 'https://ondemand.websol.barchart.com/service?wsdl')
response = ondemand.call(
:getTechnicals,
message: {
apikey: 'YOUR_API_KEY',
symbols: 'YHOO,GOOG',
fields: 'averageVolumeFiveDay,averageVolumeTwentyDay,averageVolumeFiftyDay',
}
)
response.body
```