Access to our data via API is available for subscribers using your subscription ID as username (Found on the Alert Preferences Page).

Get latest gamma data for a ticker

GET /api/gex/latest

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional JSON
TEXT
JSON
gex_view Optional SA-GEX
NAIVE
SA-GEX

Code Examples

https://stocks.tradingvolatility.net/api/gex/latest?username=12345&ticker=ZM&format=json
import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/gex/latest',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


{
"ZM": {
  "price": "159.72",
  "collection_date": "2022-01-18_05:48:37",
  "gex_flip_price": "173.75",
  "skew_adjusted_gex": "911087.603197",
  "gex_per_1pct_chg": "-6748797.06072",
  "call_put_delta_spread": "0.0427755523125",
  "implied_volatility": "0.581464856151",
  "next_expiration": "2022-01-21",
  "nearest_gex_value": "-6775072.85347",
  "put_call_ratio_open_interest": "0.69"
  "gamma_formation": "0"
  "average_volume": "2449611"
  "rating": "1"
  }
}




Get historical gamma data for a ticker

GET /api/gex/history

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional CSV
JSON
CSV
start Optional 2020-05-30
end Optional 2021-10-20
gex_view Optional SA-GEX
NAIVE
SA-GEX

Code Examples:


https://stocks.tradingvolatility.net/api/gex/history?username=12345&ticker=ZM&start=2021-10-10&end=22-01-20

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/gex/history',
  params={'ticker':'ZM' , 'username':API_KEY , 'format':'json', 'start':'2021-10-10', 'end':'2022-01-20' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:

CSV file download
      or

{
{ "ZM": [
  {
  "collection_date": "2022-01-20_20:47:25",
  "price": "156.775",
  "gex_flip_price": "163.75",
  "skew_adjusted_gex": "1027710.18345",
  "gex_per_1pct_chg": "-7612668.02558",
  "call_put_delta_spread": "-0.0265036550422",
  "implied_volatility": "0.586154146825",
  "next_expiration": "2022-01-21",
  "nearest_gex_value": "-8194684.55238",
  "put_call_ratio_open_interest": "0.69"
  "gamma_formation": "0"
  "average_volume": "2449611"
  "rating": "1"
  } ,
  }...
  }...
  }...
  {
  "collection_date": "2022-01-10 14:36:25.864668",
  "price": "172.085",
  "gex_flip_price": "178.75",
  "skew_adjusted_gex": "369555.55742",
  "gex_per_1pct_chg": "-2737448.57348",
  "put_call_delta_spread": "-0.0357714194291",
  "implied_volatility": "0.599902916667",
  "next_expiration": "2022-01-14",
  "nearest_gex_value": "-620989.794308",
  "put_call_ratio_open_interest": "0.72"
  "gamma_formation": "0"
  "average_volume": "2449611"
  "rating": "1"
  }
  ]
}




Get gamma by strike data for a ticker

GET /api/gex/gamma

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
exp Optional 0 (combined)
1 (nearest expiration)
2 (nearest monthly exp)
2023-07-21 (specific expiation)
0
format Optional CSV
JSON
TEXT
CSV
start Optional 2022-05-30 (latest data)
gex_view Optional SA-GEX
NAIVE
NAIVE

Code Examples


https://stocks.tradingvolatility.net/api/gex/gamma?username=12345&ticker=ZM&format=csv&exp=1

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT+ '/gex/gamma',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' , 'exp':'1'},
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response


import httplib
connection = httplib.HTTPSConnection('stocks.tradingvolatility.net', 443, timeout = 30)
headers = {"Accept":"application/json"}
connection.request('GET', '/api/gex/gamma?username=12345&exp=1&format=json&ticker=' +_symbol , None, headers)
response = connection.getresponse()
content = response.read()
result = json.loads(content)
return result

Response:

{
"ZM": {
  "price": "157.23",
  "collection_date": "2022-01-20_04:32:49",
  "expiry": "combined",
  "gamma_array": [
    { "strike": 115.0, "gamma": -24056.19 },
    { "strike": 120.0, "gamma": -193550.13 },
    { "strike": 125.0, "gamma": -120280.95 },
    ...
    ...
    ...
    { "strike": 212.5, "gamma": 471.69 },
    {}
    ]
    }
}




Get current net gamma by strike and call put open interest data for a ticker

GET /api/gex/gammaOI

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional CSV
JSON
TEXT
CSV

Code Examples


https://stocks.tradingvolatility.net/api/gex/gammaOI?username=12345&ticker=ZM&format=json

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/gex/gammaOI',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:

{
"ZM": {
  "price": "157.23",
  "collection_date": "2022-01-20_04:32:49",
  "gamma_array": [
    {
    "strike": 115.0,
    "call_oi": "117.0",
    "put_oi": "-270.0",
    "net_gamma_$_at_strike": "-24056.19"
    },
    {
    "strike": 120.0,
    "call_oi": "27.0",
    "put_oi": "-1258.0",
    "net_gamma_$_at_strike": "-193550.13"
    },
    ...
    ...
    ...
    {
    "strike": 212.5,
    "call_oi": "7.0",
    "put_oi": "-4.0",
    "net_gamma_$_at_strike": "471.69"
    },
    {}
    ]
   }
}




Get GEX Levels

GET /api/gex/levels

Desciption

Used to import key GEX price levels into TradingView or ThinkOrSwim. See this post for further instrucitons.

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
ZM,SPY,IBM
format Optional TRVIEW
TOS
JSON
TRVIEW

Code Examples


https://stocks.tradingvolatility.net/api/gex/levels?username=12345&ticker=ZM

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/gex/levels',
  params={'ticker': 'ZM' , 'username':API_KEY },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:

Gex Flip,69.09,GEX_0, 70.0,GEX_1,69.0,GEX_2, 66.0,GEX_3,67.0, +1STD (1-day),70.1,-1STD (1-day), 67.1,+1STD (7-day),71.9,-1STD (7-day),65.3




Get latest skew dashboard data

GET /api/skew/dashboard

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
max_entries Optional integer 0-30 30
sort_field Optional implied_volatility
call_skew
pcr_oi
pcr_oi_30_day_change
pcr_oi_60_day_change
implied_volatility
sort_direction Optional ASC
DESC
DESC
format Optional JSON
TEXT
JSON

Code Examples:


https://stocks.tradingvolatility.net/api/skew/dashboard?username=12345&sort_field=implied_volatility&format=json
import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/skew/dasboard',
  params={'sort_field': 'implied_volatility' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


{
"skew_rankings":[
{
  "ticker": "FRC",
  "implied_volatility": 476.0,
  "price": 3.51,
  "call_skew": -0.4,
  "pcr": 1.21,
  "pcr_oi_30_day_change": 0.13,
  "pcr_oi_60_day_change": 0.08 },
  .
  .
  .
  {
  "ticker": "ADMA",
  "implied_volatility": 244.0,
  "price": 4.03,
  "call_skew": 0.1,
  "pcr": 0.27,
  "pcr_oi_30_day_change": 0.22,
  "pcr_oi_60_day_change": 0.2 }
]
}




Get latest skew data for a ticker

GET /api/skew/latest

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional JSON
TEXT
JSON

Code Examples:


https://stocks.tradingvolatility.net/api/skew/latest?username=12345&ticker=ZM&format=json
import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/skew/latest',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


{
"ZM": {
  "collection_date": "2022-01-20_14:36:33",
  "price": "160.93",
  "put_call_delta_spread": "-0.0349563870302",
  "avg_PC_delta_spread": "0.0416",
  "bollinger_band_width": "0.176",
  "one_day std": "0.0370901277543",
  "one_week_std": "0.0981312541336",
  "implied_volatility": "0.588787524802",
  "historical_min_iv": "0.3452523555",
  "historical_max_iv": "1.8573292553",
  "delta_at_minus_std": "0.110512404573",
  "delta_at_plus_std": "0.145468791604",
  "put_oi": "152208",
  "call_oi": "222030",
  "put_volume": "0",
  "call_volume": "0",
  "pcr_oi": "0.69",
  "pcr_oi_30_day_change": "-0.03",
  "pcr_oi_60_day_change": "-0.37"
  }
}




Get historical skew data for a ticker

GET /api/skew/history

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional CSV
JSON
JSON
start Optional 2020-05-30
end Optional 2021-10-20

Code Examples:


https://stocks.tradingvolatility.net/api/skew/history?username=12345&ticker=ZM

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/skew/history',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json', 'start':'2021-01-10', 'end':'2021-01-15 },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


{
"ZM": [
  {
  "collection_date": "2021-11-12_20:47:20",
  "price": "253.625",
  "put_call_delta_spread": "-0.0723019663218",
  "avg_PC_delta_spread": "0.0655",
  "bollinger_band_width": "0.203",
  "one_day std": "0.0356378517619",
  "one_week_std": "0.0942888930225",
  "implied_volatility": "0.565733358135",
  "delta_at_minus_std": "0.0938747036072",
  "delta_at_plus_std": "0.166176669929",
  "put_oi": "175018", "call_oi": "193867",
  "put_volume": "14012",
  "call_volume": "14929",
  "pcr_oi": "0.9",
  "pcr_oi_30_day_change": "-0.05",
  "pcr_oi_60_day_change": "0.06"
  } ,
  ...
  ...
  ...
  {
  "collection_date": "2021-11-10 14:36:15.368043",
  "price": "255.0299",
  "put_call_delta_spread": "-0.0816753293682",
  "avg_PC_delta_spread": "0.0579",
  "bollinger_band_width": "0.163",
  "one_day std": "0.03679207452",
  "one_week_std": "0.0973426793981",
  "implied_volatility": "0.584056076389",
  "delta_at_minus_std": "0.09772166987",
  "delta_at_plus_std": "0.179396999238",
  "put_oi": "178850",
  "call_oi": "204624",
  "put_volume": "0",
  "call_volume": "0",
  "pcr_oi": "0.87",
  "pcr_oi_30_day_change": "0.02",
  "pcr_oi_60_day_change": "0.01"
  }
]
}




Get latest dark pool data for a ticker

GET /api/dpi/latest

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional JSON JSON

Code Example:

https://stocks.tradingvolatility.net/api/dpi/latest?username=12345&ticker=ZM&format=json
import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/dpi/latest',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


{
"ZM": {
  "collection_date": "20220119",
  "dpi": "37.27",
  "dpi_ema": "41.1141",
  "normalized_dpi": "40.09",
  "normalized_dpi_ema": "46.11",
  "min_dpi": "11.67",
  "max_dpi": "75.53"
  }
}




Get historical dark pool data for a ticker

GET /api/dpi/history

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional CSV
JSON
JSON
start Optional 2020-05-30
end Optional 2021-10-20

Code Examples:


https://stocks.tradingvolatility.net/api/dpi/history?username=12345&ticker=ZM

import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/dpi/history',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json', 'start':'2022-01-10', 'end':'2022-01-15 },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:

{
"ZM": [
  {
  "collection_date": "20220114",
  "dpi": "31.62",
  "dpi_ema": "42.3102",
  "normalized_dpi": "31.24",
  "normalized_dpi_ema": "47.98",
  "min_dpi": "11.67",
  "max_dpi": "75.53"
  } ,
  {
  "collection_date": "20220113",
  "dpi": "53.56",
  "dpi_ema": "44.6858",
  "normalized_dpi": "65.6",
  "normalized_dpi_ema": "51.7",
  "min_dpi": "11.67",
  "max_dpi": "75.53"
  } ,
  ...   ...   ...   {
  "collection_date": "20220110",
  "dpi": "43.26",
  "dpi_ema": "42.2914",
  "normalized_dpi": "49.47",
  "normalized_dpi_ema": "47.95",
  "min_dpi": "11.67",
  "max_dpi": "75.53"
  }
]
}




Get ratings history for a ticker

GET /api/ratings/history

Parameters

Parameter Required Values/Example Default
username Required I-342N235235
ticker Required ZM
format Optional JSON JSON
start Optional 2023-09-30
max_entries Optional 90 30

Code Example:

https://stocks.tradingvolatility.net/api/ratings/history?username=12345&ticker=ZM&format=json
import requests
ENDPOINT = 'https://stocks.tradingvolatility.net/api'
API_KEY = 'put_your_own_API_key_here'
response = requests.get(ENDPOINT + '/ratings/history',
  params={'ticker': 'ZM' , 'username':API_KEY , 'format':'json' },
  headers={ 'Accept': 'application/json'}
  )
json_response = response.json()
return json_response

Response:


[
  {"date":"2023-12-20 20:46","price":70.36,"rating":1},
  {"date":"2023-12-21 20:47","price":71.845,"rating":4},
  {"date":"2023-12-22 20:46","price":72.271,"rating":1},
  {"date":"2023-12-26 20:46","price":74.275,"rating":4},
  {"date":"2023-12-27 20:46","price":73.555,"rating":1},
  {"date":"2023-12-28 20:46","price":73.18,"rating":1},
  .
  .
  .
  ,{"date":"2024-01-12 14:37","price":69.89,"rating":5}
]




API Limits

Stocks+ Subscribers:

Non-realtime calls (weekday): 20 per minute
Realtime calls (during regular trading hours): 2 per minute
Options Volume API calls (weekend): 1 per minute
All other API calls on weekend: 2 per minute