openapi: 3.2.0
info:
description: The future of fintech.
title: Polygon Options:aggregates API
version: 1.0.0
servers:
- description: Polygon Platform API
url: https://api.polygon.io
- description: Polygon Platform API (Staging)
url: https://api.staging.polygon.io
security:
- apiKey: []
tags:
- name: options:aggregates
paths:
/v1/indicators/ema/{optionsTicker}:
x-polygon-ignore: true
get:
description: Get the exponential moving average (EMA) for a ticker symbol over a given time range.
operationId: OptionsEMA
parameters:
- description: The ticker symbol for which to get exponential moving average (EMA) data.
example: O:SPY241220P00720000
in: path
name: optionsTicker
required: true
schema:
type: string
x-polygon-go-id: Ticker
- description: Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
in: query
name: timestamp
schema:
type: string
x-polygon-filter-field:
range: true
- description: The size of the aggregate time window.
example: day
in: query
name: timespan
schema:
default: day
enum:
- minute
- hour
- day
- week
- month
- quarter
- year
type: string
- description: 'Whether or not the aggregates used to calculate the exponential moving average are adjusted for splits. By default, aggregates are adjusted.
Set this to false to get results that are NOT adjusted for splits.'
example: true
in: query
name: adjusted
schema:
default: true
type: boolean
- description: The window size used to calculate the exponential moving average (EMA). i.e. a window size of 10 with daily aggregates would result in a 10 day moving average.
example: 50
in: query
name: window
schema:
default: 50
type: integer
- description: "The price in the aggregate which will be used to calculate the exponential moving average. i.e. 'close' will result in using close prices to \ncalculate the exponential moving average (EMA)."
example: close
in: query
name: series_type
schema:
default: close
enum:
- open
- high
- low
- close
type: string
- description: Whether or not to include the aggregates used to calculate this indicator in the response.
in: query
name: expand_underlying
schema:
default: false
type: boolean
- description: The order in which to return the results, ordered by timestamp.
example: desc
in: query
name: order
schema:
default: desc
enum:
- asc
- desc
type: string
- description: Limit the number of results returned, default is 10 and max is 5000
in: query
name: limit
schema:
default: 10
maximum: 5000
type: integer
- description: Range by timestamp.
in: query
name: timestamp.gte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.gt
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lt
schema:
type: string
responses:
'200':
content:
application/json:
example:
next_url: https://api.polygon.io/v1/indicators/ema/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy
request_id: a47d1beb8c11b6ae897ab76cdbbf35a3
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25
values:
- timestamp: 1517562000016
value: 140.139
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page of data.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results of the EMA indicator calculation.
properties:
underlying:
description: The underlying aggregates used.
properties:
aggregates:
description: The array of aggregates used in the calculation of this indicator.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: float
type: number
h:
description: The highest price for the symbol in the given time period.
format: float
type: number
l:
description: The lowest price for the symbol in the given time period.
format: float
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: float
type: number
otc:
description: Whether or not this aggregate is for an OTC ticker. This field will be left off if false.
type: boolean
t:
description: The Unix Msec timestamp for the start of the aggregate window.
format: float
type: number
v:
description: The trading volume of the symbol in the given time period.
format: float
type: number
vw:
description: The volume weighted average price.
format: float
type: number
required:
- v
- vw
- o
- c
- h
- l
- t
- n
type: object
x-polygon-go-type:
name: Aggregate
path: github.com/polygon-io/go-lib-models/v2/globals
type: array
url:
description: The URL which can be used to request the underlying aggregates used in this request.
type: string
type: object
values:
description: Timestamp or indicator value.
items:
properties:
timestamp:
description: The Unix Msec timestamp from the last aggregate used in this calculation.
format: int64
type: integer
x-polygon-go-type:
name: IMicroseconds
path: github.com/polygon-io/ptime
value:
description: The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.
format: float
type: number
x-polygon-go-type:
name: '*float64'
type: object
type: array
type: object
x-polygon-go-type:
name: EMAResults
status:
description: The status of this request's response.
type: string
required:
- request_id
- status
- results
type: object
text/csv:
example: aggregate_T,aggregate_v,aggregate_vw,aggregate_a,aggregate_o,aggregate_c,aggregate_h,aggregate_l,aggregate_t,aggregate_n,aggregate_m,aggregate_x,aggregate_g,aggregate_op,aggregate_z,aggregate_av,aggregate_s,aggregate_e,aggregate_otc,timestamp,value O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649217600000,1,,0,,0,0,0,0,0,false,1649217600000,286.1730473491824 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649131200000,1,,0,,0,0,0,0,0,false,1649131200000,285.60990642465924 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649044800000,1,,0,,0,0,0,0,0,false,1649044800000,285.023780156278 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648785600000,1,,0,,0,0,0,0,0,false,1648785600000,284.4137303667383 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648526400000,1,,0,,0,0,0,0,0,false,1648526400000,282.43007426223943 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649304000000,1,,0,,0,0,0,0,0,false,1649304000000,286.7141043158811 O:SPY241220P00720000,2,270.49,0,270.49,270.49,270.49,270.49,1649390400000,1,,0,,0,0,0,0,0,false,1649390400000,286.0778649309446 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648699200000,1,,0,,0,0,0,0,0,false,1648699200000,283.77878058578887 O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648612800000,1,,0,,0,0,0,0,0,false,1648612800000,283.11791448724966 O:SPY241220P00720000,3,277.8267,0,277.82,277.83,277.83,277.82,1649649600000,2,,0,,0,0,0,0,0,false,1649649600000,285.7544192473781
schema:
type: string
description: Exponential Moving Average (EMA) data for each period.
summary: Exponential Moving Average (EMA)
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
/v1/indicators/macd/{optionsTicker}:
x-polygon-ignore: true
get:
description: Get moving average convergence/divergence (MACD) for a ticker symbol over a given time range.
operationId: OptionsMACD
parameters:
- description: The ticker symbol for which to get MACD data.
example: O:SPY241220P00720000
in: path
name: optionsTicker
required: true
schema:
type: string
x-polygon-go-id: Ticker
- description: Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
in: query
name: timestamp
schema:
type: string
x-polygon-filter-field:
range: true
- description: The size of the aggregate time window.
example: day
in: query
name: timespan
schema:
default: day
enum:
- minute
- hour
- day
- week
- month
- quarter
- year
type: string
- description: 'Whether or not the aggregates used to calculate the MACD are adjusted for splits. By default, aggregates are adjusted.
Set this to false to get results that are NOT adjusted for splits.'
example: true
in: query
name: adjusted
schema:
default: true
type: boolean
- description: The short window size used to calculate MACD data.
example: 12
in: query
name: short_window
schema:
default: 12
type: integer
- description: The long window size used to calculate MACD data.
example: 26
in: query
name: long_window
schema:
default: 26
type: integer
- description: The window size used to calculate the MACD signal line.
example: 9
in: query
name: signal_window
schema:
default: 9
type: integer
- description: "The price in the aggregate which will be used to calculate the MACD. i.e. 'close' will result in using close prices to \ncalculate the MACD."
example: close
in: query
name: series_type
schema:
default: close
enum:
- open
- high
- low
- close
type: string
- description: Whether or not to include the aggregates used to calculate this indicator in the response.
in: query
name: expand_underlying
schema:
default: false
type: boolean
- description: The order in which to return the results, ordered by timestamp.
example: desc
in: query
name: order
schema:
default: desc
enum:
- asc
- desc
type: string
- description: Limit the number of results returned, default is 10 and max is 5000
in: query
name: limit
schema:
default: 10
maximum: 5000
type: integer
- description: Range by timestamp.
in: query
name: timestamp.gte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.gt
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lt
schema:
type: string
responses:
'200':
content:
application/json:
example:
next_url: https://api.polygon.io/v1/indicators/macd/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy
request_id: a47d1beb8c11b6ae897ab76cdbbf35a3
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25
values:
- histogram: 38.3801666667
signal: 106.9811666667
timestamp: 1517562000016
value: 145.3613333333
- histogram: 41.098859136
signal: 102.7386283473
timestamp: 1517562001016
value: 143.8374874833
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page of data.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results of the MACD indicator calculation.
properties:
underlying:
description: The underlying aggregates used.
properties:
aggregates:
description: The array of aggregates used in the calculation of this indicator.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: float
type: number
h:
description: The highest price for the symbol in the given time period.
format: float
type: number
l:
description: The lowest price for the symbol in the given time period.
format: float
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: float
type: number
otc:
description: Whether or not this aggregate is for an OTC ticker. This field will be left off if false.
type: boolean
t:
description: The Unix Msec timestamp for the start of the aggregate window.
format: float
type: number
v:
description: The trading volume of the symbol in the given time period.
format: float
type: number
vw:
description: The volume weighted average price.
format: float
type: number
required:
- v
- vw
- o
- c
- h
- l
- t
- n
type: object
x-polygon-go-type:
name: Aggregate
path: github.com/polygon-io/go-lib-models/v2/globals
type: array
url:
description: The URL which can be used to request the underlying aggregates used in this request.
type: string
type: object
values:
description: 'Each entry in the values array represents MACD indicator data for a specific timestamp and includes:'
items:
properties:
histogram:
description: The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.
format: float
type: number
x-polygon-go-type:
name: '*float64'
signal:
description: The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.
format: float
type: number
x-polygon-go-type:
name: '*float64'
timestamp:
description: The Unix Msec timestamp from the last aggregate used in this calculation.
format: int64
type: integer
x-polygon-go-type:
name: IMicroseconds
path: github.com/polygon-io/ptime
value:
description: The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.
format: float
type: number
x-polygon-go-type:
name: '*float64'
type: object
type: array
type: object
x-polygon-go-type:
name: MACDResults
status:
description: The status of this request's response.
type: string
required:
- request_id
- status
- results
type: object
text/csv:
example: 'aggregate_T,aggregate_v,aggregate_vw,aggregate_a,aggregate_o,aggregate_c,aggregate_h,aggregate_l,aggregate_t,aggregate_n,aggregate_m,aggregate_x,aggregate_g,aggregate_op,aggregate_z,aggregate_av,aggregate_s,aggregate_e,aggregate_otc,timestamp,value,signal,histogram
O:SPY241220P00720000,3,277.8267,0,277.82,277.83,277.83,277.82,1649649600000,2,,0,,0,0,0,0,0,false,1649649600000,-0.05105556065990413,3.5771695836806834,-3.6282251443405875
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649304000000,1,,0,,0,0,0,0,0,false,1649304000000,4.047960862047148,5.247666286053219,-1.199705424006071
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648785600000,1,,0,,0,0,0,0,0,false,1648785600000,5.255380647906861,6.466477305754766,-1.2110966578479045
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648699200000,1,,0,,0,0,0,0,0,false,1648699200000,5.591072756938104,6.769251470216741,-1.178178713278637
O:SPY241220P00720000,2,270.49,0,270.49,270.49,270.49,270.49,1649390400000,1,,0,,0,0,0,0,0,false,1649390400000,1.4304642046162712,4.48422586976583,-3.053761665149559
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649217600000,1,,0,,0,0,0,0,0,false,1649217600000,4.32835898317461,5.547592642054737,-1.2192336588801274
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649131200000,1,,0,,0,0,0,0,0,false,1649131200000,4.623290999840208,5.852401056774768,-1.2291100569345605
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649044800000,1,,0,,0,0,0,0,0,false,1649044800000,4.932483632022979,6.159678571008409,-1.2271949389854298
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648612800000,1,,0,,0,0,0,0,0,false,1648612800000,5.93821326327344,7.063796148536399,-1.1255828852629595
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648526400000,1,,0,,0,0,0,0,0,false,1648526400000,6.294916771166584,7.345191869852139,-1.050275098685555
'
schema:
type: string
description: Moving Average Convergence/Divergence (MACD) data for each period.
summary: Moving Average Convergence/Divergence (MACD)
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
/v1/indicators/rsi/{optionsTicker}:
x-polygon-ignore: true
get:
description: Get the relative strength index (RSI) for a ticker symbol over a given time range.
operationId: OptionsRSI
parameters:
- description: The ticker symbol for which to get relative strength index (RSI) data.
example: O:SPY241220P00720000
in: path
name: optionsTicker
required: true
schema:
type: string
x-polygon-go-id: Ticker
- description: Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
in: query
name: timestamp
schema:
type: string
x-polygon-filter-field:
range: true
- description: The size of the aggregate time window.
example: day
in: query
name: timespan
schema:
default: day
enum:
- minute
- hour
- day
- week
- month
- quarter
- year
type: string
- description: 'Whether or not the aggregates used to calculate the relative strength index are adjusted for splits. By default, aggregates are adjusted.
Set this to false to get results that are NOT adjusted for splits.'
example: true
in: query
name: adjusted
schema:
default: true
type: boolean
- description: The window size used to calculate the relative strength index (RSI).
example: 14
in: query
name: window
schema:
default: 14
type: integer
- description: "The price in the aggregate which will be used to calculate the relative strength index. i.e. 'close' will result in using close prices to \ncalculate the relative strength index (RSI)."
example: close
in: query
name: series_type
schema:
default: close
enum:
- open
- high
- low
- close
type: string
- description: Whether or not to include the aggregates used to calculate this indicator in the response.
in: query
name: expand_underlying
schema:
default: false
type: boolean
- description: The order in which to return the results, ordered by timestamp.
example: desc
in: query
name: order
schema:
default: desc
enum:
- asc
- desc
type: string
- description: Limit the number of results returned, default is 10 and max is 5000
in: query
name: limit
schema:
default: 10
maximum: 5000
type: integer
- description: Range by timestamp.
in: query
name: timestamp.gte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.gt
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lt
schema:
type: string
responses:
'200':
content:
application/json:
example:
next_url: https://api.polygon.io/v1/indicators/rsi/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy
request_id: a47d1beb8c11b6ae897ab76cdbbf35a3
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25
values:
- timestamp: 1517562000016
value: 82.19
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page of data.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results of the RSI indicator calculation.
properties:
underlying:
description: The underlying aggregates used.
properties:
aggregates:
description: The array of aggregates used in the calculation of this indicator.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: float
type: number
h:
description: The highest price for the symbol in the given time period.
format: float
type: number
l:
description: The lowest price for the symbol in the given time period.
format: float
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: float
type: number
otc:
description: Whether or not this aggregate is for an OTC ticker. This field will be left off if false.
type: boolean
t:
description: The Unix Msec timestamp for the start of the aggregate window.
format: float
type: number
v:
description: The trading volume of the symbol in the given time period.
format: float
type: number
vw:
description: The volume weighted average price.
format: float
type: number
required:
- v
- vw
- o
- c
- h
- l
- t
- n
type: object
x-polygon-go-type:
name: Aggregate
path: github.com/polygon-io/go-lib-models/v2/globals
type: array
url:
description: The URL which can be used to request the underlying aggregates used in this request.
type: string
type: object
values:
description: Timestamp or indicator value.
items:
properties:
timestamp:
description: The Unix Msec timestamp from the last aggregate used in this calculation.
format: int64
type: integer
x-polygon-go-type:
name: IMicroseconds
path: github.com/polygon-io/ptime
value:
description: The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.
format: float
type: number
x-polygon-go-type:
name: '*float64'
type: object
type: array
type: object
x-polygon-go-type:
name: RSIResults
status:
description: The status of this request's response.
type: string
required:
- request_id
- status
- results
type: object
text/csv:
example: 'aggregate_T,aggregate_v,aggregate_vw,aggregate_a,aggregate_o,aggregate_c,aggregate_h,aggregate_l,aggregate_t,aggregate_n,aggregate_m,aggregate_x,aggregate_g,aggregate_op,aggregate_z,aggregate_av,aggregate_s,aggregate_e,aggregate_otc,timestamp,value
O:SPY241220P00720000,3,277.8267,0,277.82,277.83,277.83,277.82,1649649600000,2,,0,,0,0,0,0,0,false,1649649600000,30.837887188419387
O:SPY241220P00720000,2,270.49,0,270.49,270.49,270.49,270.49,1649390400000,1,,0,,0,0,0,0,0,false,1649390400000,15.546598157051605
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648785600000,1,,0,,0,0,0,0,0,false,1648785600000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648699200000,1,,0,,0,0,0,0,0,false,1648699200000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648612800000,1,,0,,0,0,0,0,0,false,1648612800000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648526400000,1,,0,,0,0,0,0,0,false,1648526400000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649304000000,1,,0,,0,0,0,0,0,false,1649304000000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649217600000,1,,0,,0,0,0,0,0,false,1649217600000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649131200000,1,,0,,0,0,0,0,0,false,1649131200000,88.61520575036505
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649044800000,1,,0,,0,0,0,0,0,false,1649044800000,88.61520575036505
'
schema:
type: string
description: Relative Strength Index (RSI) data for each period.
summary: Relative Strength Index (RSI)
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
/v1/indicators/sma/{optionsTicker}:
x-polygon-ignore: true
get:
description: Get the simple moving average (SMA) for a ticker symbol over a given time range.
operationId: OptionsSMA
parameters:
- description: The ticker symbol for which to get simple moving average (SMA) data.
example: O:SPY241220P00720000
in: path
name: optionsTicker
required: true
schema:
type: string
x-polygon-go-id: Ticker
- description: Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
in: query
name: timestamp
schema:
type: string
x-polygon-filter-field:
range: true
- description: The size of the aggregate time window.
example: day
in: query
name: timespan
schema:
default: day
enum:
- minute
- hour
- day
- week
- month
- quarter
- year
type: string
- description: 'Whether or not the aggregates used to calculate the simple moving average are adjusted for splits. By default, aggregates are adjusted.
Set this to false to get results that are NOT adjusted for splits.'
example: true
in: query
name: adjusted
schema:
default: true
type: boolean
- description: The window size used to calculate the simple moving average (SMA). i.e. a window size of 10 with daily aggregates would result in a 10 day moving average.
example: 50
in: query
name: window
schema:
default: 50
type: integer
- description: "The price in the aggregate which will be used to calculate the simple moving average. i.e. 'close' will result in using close prices to \ncalculate the simple moving average (SMA)."
example: close
in: query
name: series_type
schema:
default: close
enum:
- open
- high
- low
- close
type: string
- description: Whether or not to include the aggregates used to calculate this indicator in the response.
in: query
name: expand_underlying
schema:
default: false
type: boolean
- description: The order in which to return the results, ordered by timestamp.
example: desc
in: query
name: order
schema:
default: desc
enum:
- asc
- desc
type: string
- description: Limit the number of results returned, default is 10 and max is 5000
in: query
name: limit
schema:
default: 10
maximum: 5000
type: integer
- description: Range by timestamp.
in: query
name: timestamp.gte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.gt
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lte
schema:
type: string
- description: Range by timestamp.
in: query
name: timestamp.lt
schema:
type: string
responses:
'200':
content:
application/json:
example:
next_url: https://api.polygon.io/v1/indicators/sma/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy
request_id: a47d1beb8c11b6ae897ab76cdbbf35a3
results:
underlying:
aggregates:
- c: 75.0875
h: 75.15
l: 73.7975
n: 1
o: 74.06
t: 1577941200000
v: 135647456
vw: 74.6099
- c: 74.3575
h: 75.145
l: 74.125
n: 1
o: 74.2875
t: 1578027600000
v: 146535512
vw: 74.7026
url: https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25
values:
- timestamp: 1517562000016
value: 140.139
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page of data.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results of the SMA indicator calculation.
properties:
underlying:
description: The underlying aggregates used.
properties:
aggregates:
description: The array of aggregates used in the calculation of this indicator.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: float
type: number
h:
description: The highest price for the symbol in the given time period.
format: float
type: number
l:
description: The lowest price for the symbol in the given time period.
format: float
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: float
type: number
otc:
description: Whether or not this aggregate is for an OTC ticker. This field will be left off if false.
type: boolean
t:
description: The Unix Msec timestamp for the start of the aggregate window.
format: float
type: number
v:
description: The trading volume of the symbol in the given time period.
format: float
type: number
vw:
description: The volume weighted average price.
format: float
type: number
required:
- v
- vw
- o
- c
- h
- l
- t
- n
type: object
x-polygon-go-type:
name: Aggregate
path: github.com/polygon-io/go-lib-models/v2/globals
type: array
url:
description: The URL which can be used to request the underlying aggregates used in this request.
type: string
type: object
values:
description: Timestamp or indicator value.
items:
properties:
timestamp:
description: The Unix Msec timestamp from the last aggregate used in this calculation.
format: int64
type: integer
x-polygon-go-type:
name: IMicroseconds
path: github.com/polygon-io/ptime
value:
description: The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.
format: float
type: number
x-polygon-go-type:
name: '*float64'
type: object
type: array
type: object
x-polygon-go-type:
name: SMAResults
status:
description: The status of this request's response.
type: string
required:
- request_id
- status
- results
type: object
text/csv:
example: 'aggregate_T,aggregate_v,aggregate_vw,aggregate_a,aggregate_o,aggregate_c,aggregate_h,aggregate_l,aggregate_t,aggregate_n,aggregate_m,aggregate_x,aggregate_g,aggregate_op,aggregate_z,aggregate_av,aggregate_s,aggregate_e,aggregate_otc,timestamp,value
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649304000000,1,,0,,0,0,0,0,0,false,1649304000000,286.0121999999996
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649131200000,1,,0,,0,0,0,0,0,false,1649131200000,284.61099999999965
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648699200000,1,,0,,0,0,0,0,0,false,1648699200000,282.50919999999974
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648612800000,1,,0,,0,0,0,0,0,false,1648612800000,281.80859999999973
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648526400000,1,,0,,0,0,0,0,0,false,1648526400000,281.1079999999998
O:SPY241220P00720000,3,277.8267,0,277.82,277.83,277.83,277.82,1649649600000,2,,0,,0,0,0,0,0,false,1649649600000,285.4949999999996
O:SPY241220P00720000,2,270.49,0,270.49,270.49,270.49,270.49,1649390400000,1,,0,,0,0,0,0,0,false,1649390400000,285.6801999999996
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649217600000,1,,0,,0,0,0,0,0,false,1649217600000,285.31159999999966
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1649044800000,1,,0,,0,0,0,0,0,false,1649044800000,283.9103999999997
O:SPY241220P00720000,1,299.97,0,299.97,299.97,299.97,299.97,1648785600000,1,,0,,0,0,0,0,0,false,1648785600000,283.2097999999997
'
schema:
type: string
description: Simple Moving Average (SMA) data for each period.
summary: Simple Moving Average (SMA)
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
/v2/aggs/ticker/{optionsTicker}/prev:
get:
description: 'Get the previous day''s open, high, low, and close (OHLC) for the specified option contract.
'
operationId: GetPreviousOptionsAggregates
parameters:
- description: The ticker symbol of the options contract.
example: O:SPY251219C00650000
in: path
name: optionsTicker
required: true
schema:
type: string
- description: 'Whether or not the results are adjusted for splits. By default, results are adjusted.
Set this to false to get results that are NOT adjusted for splits.
'
example: true
in: query
name: adjusted
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
adjusted: true
queryCount: 1
request_id: 6a7e466379af0a71039d60cc78e72282
results:
- T: O:TSLA210903C00700000
c: 115.97
h: 117.59
l: 114.13
n: 2
o: 115.55
t: 1605042000000
v: 131704427
vw: 116.3058
resultsCount: 1
status: OK
ticker: O:TSLA210903C00700000
schema:
allOf:
- properties:
ticker:
description: The exchange symbol that this item is traded under.
type: string
required:
- ticker
type: object
- properties:
adjusted:
description: Whether or not this response was adjusted for splits.
type: boolean
queryCount:
description: The number of aggregates (minute or day) used to generate the response.
type: integer
request_id:
description: A request id assigned by the server.
type: string
resultsCount:
description: The total number of results for this request.
type: integer
status:
description: The status of this request's response.
type: string
required:
- status
- adjusted
- queryCount
- resultsCount
- request_id
type: object
- properties:
results:
description: An array of results containing the requested data.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: double
type: number
h:
description: The highest price for the symbol in the given time period.
format: double
type: number
l:
description: The lowest price for the symbol in the given time period.
format: double
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: double
type: number
t:
description: The Unix millisecond timestamp for the start of the aggregate window.
type: integer
v:
description: The trading volume of the symbol in the given time period.
format: double
type: number
vw:
description: The volume weighted average price.
format: double
type: number
required:
- o
- h
- l
- c
- v
- t
type: object
type: array
type: object
text/csv:
example: 'T,c,h,l,n,o,t,v,vw
O:TSLA210903C00700000,115.97,117.59,114.13,2,115.55,1605042000000,131704427.0,116.3058
'
schema:
type: string
description: The previous day OHLC for the options contract.
default:
description: Unexpected error
summary: Previous Close
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
/v2/aggs/ticker/{optionsTicker}/range/{multiplier}/{timespan}/{from}/{to}:
get:
description: 'Get aggregate bars for an option contract over a given date range in custom time window sizes.
For example, if timespan = ‘minute’ and multiplier = ‘5’ then 5-minute bars will be returned.
'
operationId: GetOptionsAggregates
parameters:
- description: The ticker symbol of the options contract.
example: O:SPY251219C00650000
in: path
name: optionsTicker
required: true
schema:
type: string
- description: The size of the timespan multiplier.
example: 1
in: path
name: multiplier
required: true
schema:
type: integer
- description: The size of the time window.
example: day
in: path
name: timespan
required: true
schema:
enum:
- second
- minute
- hour
- day
- week
- month
- quarter
- year
type: string
- description: The start of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
example: '2025-11-03'
in: path
name: from
required: true
schema:
type: string
- description: The end of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.
example: '2025-11-28'
in: path
name: to
required: true
schema:
type: string
- description: 'Whether or not the results are adjusted for splits. By default, results are adjusted.
Set this to false to get results that are NOT adjusted for splits.
'
example: true
in: query
name: adjusted
schema:
type: boolean
- description: 'Sort the results by timestamp.
`asc` will return results in ascending order (oldest at the top),
`desc` will return results in descending order (newest at the top).
'
example: asc
in: query
name: sort
schema:
enum:
- asc
- desc
- description: 'Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.
Read more about how limit is used to calculate aggregate results in our article on
Aggregate Data API Improvements.
'
example: 120
in: query
name: limit
schema:
type: integer
responses:
'200':
content:
application/json:
example:
adjusted: true
count: 2
queryCount: 2
request_id: 5585acde-5085-42d6-95b2-2e388a28370a
results:
- c: 26.2
h: 26.2
l: 26.2
n: 1
o: 26.2
t: 1632369600000
v: 2
vw: 26.2
- c: 28.3
h: 28.3
l: 28.3
n: 1
o: 28.3
t: 1632456000000
v: 2
vw: 28.3
resultsCount: 2
status: OK
ticker: O:RDFN211119C00025000
schema:
allOf:
- properties:
ticker:
description: The exchange symbol that this item is traded under.
type: string
required:
- ticker
type: object
- properties:
adjusted:
description: Whether or not this response was adjusted for splits.
type: boolean
queryCount:
description: The number of aggregates (minute or day) used to generate the response.
type: integer
request_id:
description: A request id assigned by the server.
type: string
resultsCount:
description: The total number of results for this request.
type: integer
status:
description: The status of this request's response.
type: string
required:
- status
- adjusted
- queryCount
- resultsCount
- request_id
type: object
- properties:
results:
description: An array of results containing the requested data.
items:
properties:
c:
description: The close price for the symbol in the given time period.
format: double
type: number
h:
description: The highest price for the symbol in the given time period.
format: double
type: number
l:
description: The lowest price for the symbol in the given time period.
format: double
type: number
n:
description: The number of transactions in the aggregate window.
type: integer
o:
description: The open price for the symbol in the given time period.
format: double
type: number
t:
description: The Unix millisecond timestamp for the start of the aggregate window.
type: integer
v:
description: The trading volume of the symbol in the given time period.
format: double
type: number
vw:
description: The volume weighted average price.
format: double
type: number
required:
- o
- h
- l
- c
- v
- t
type: object
type: array
type: object
text/csv:
example: 'c,h,l,n,o,t,v,vw
26.2,26.2,26.2,1,26.2,1632369600000,2,26.2
28.3,28.3,28.3,1,28.3,1632456000000,2,28.3
'
schema:
type: string
description: Options Aggregates.
default:
description: Unexpected error
summary: Aggregates (Bars)
tags:
- options:aggregates
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Options data
name: options
components:
securitySchemes:
apiKey:
in: query
name: apiKey
type: apiKey
x-polygon-order:
crypto:
market:
- launchpad: shared
paths:
- /v2/aggs/ticker/{cryptoTicker}/range/{multiplier}/{timespan}/{from}/{to}
- launchpad: exclusive
paths:
- /v1/summaries
- paths:
- /v2/aggs/grouped/locale/global/market/crypto/{date}
- paths:
- /v1/open-close/crypto/{from}/{to}/{date}
- paths:
- /v2/aggs/ticker/{cryptoTicker}/prev
- paths:
- /v3/trades/{cryptoTicker}
- paths:
- /v1/historic/crypto/{from}/{to}/{date}
- paths:
- /v1/last/crypto/{from}/{to}
- group: Snapshots
paths:
- /v2/snapshot/locale/global/markets/crypto/tickers
- /v2/snapshot/locale/global/markets/crypto/{direction}
- /v2/snapshot/locale/global/markets/crypto/tickers/{ticker}
- /v2/snapshot/locale/global/markets/crypto/tickers/{ticker}/book
- /v3/snapshot
- group: Technical Indicators
paths:
- /v1/indicators/sma/{cryptoTicker}
- /v1/indicators/ema/{cryptoTicker}
- /v1/indicators/macd/{cryptoTicker}
- /v1/indicators/rsi/{cryptoTicker}
reference:
- paths:
- /v3/reference/tickers
- paths:
- /v1/marketstatus/upcoming
- paths:
- /v1/marketstatus/now
- paths:
- /v3/reference/conditions
- paths:
- /v3/reference/exchanges
fx:
market:
- launchpad: shared
paths:
- /v2/aggs/ticker/{forexTicker}/range/{multiplier}/{timespan}/{from}/{to}
- launchpad: exclusive
paths:
- /v1/summaries
- paths:
- /v2/aggs/grouped/locale/global/market/fx/{date}
- paths:
- /v2/aggs/ticker/{forexTicker}/prev
- paths:
- /v3/quotes/{fxTicker}
- paths:
- /v1/historic/forex/{from}/{to}/{date}
- paths:
- /v1/last_quote/currencies/{from}/{to}
- paths:
- /v1/conversion/{from}/{to}
- group: Snapshots
paths:
- /v2/snapshot/locale/global/markets/forex/tickers
- /v2/snapshot/locale/global/markets/forex/{direction}
- /v2/snapshot/locale/global/markets/forex/tickers/{ticker}
- /v3/snapshot
- group: Technical Indicators
paths:
- /v1/indicators/sma/{fxTicker}
- /v1/indicators/ema/{fxTicker}
- /v1/indicators/macd/{fxTicker}
- /v1/indicators/rsi/{fxTicker}
reference:
- paths:
- /v3/reference/tickers
- paths:
- /v1/marketstatus/upcoming
- paths:
- /v1/marketstatus/now
- paths:
- /v3/reference/conditions
- paths:
- /v3/reference/exchanges
indices:
market:
- launchpad: shared
paths:
- /v2/aggs/ticker/{indicesTicker}/range/{multiplier}/{timespan}/{from}/{to}
- paths:
- /v2/aggs/ticker/{indicesTicker}/prev
- paths:
- /v1/open-close/{indicesTicker}/{date}
- group: Technical Indicators
paths:
- /v1/indicators/sma/{indicesTicker}
- /v1/indicators/ema/{indicesTicker}
- /v1/indicators/macd/{indicesTicker}
- /v1/indicators/rsi/{indicesTicker}
- group: Snapshots
paths:
- /v3/snapshot/indices
- /v3/snapshot
reference:
- paths:
- /v3/reference/tickers
- paths:
- /v3/reference/tickers/types
- paths:
- /v1/marketstatus/upcoming
- paths:
- /v1/marketstatus/now
options:
market:
- launchpad: shared
paths:
- /v2/aggs/ticker/{optionsTicker}/range/{multiplier}/{timespan}/{from}/{to}
- launchpad: exclusive
paths:
- /v1/summaries
- paths:
- /v1/open-close/{optionsTicker}/{date}
- paths:
- /v2/aggs/ticker/{optionsTicker}/prev
- paths:
- /v3/trades/{optionsTicker}
- paths:
- /v2/last/trade/{optionsTicker}
- paths:
- /v3/quotes/{optionsTicker}
- group: Snapshots
paths:
- /v3/snapshot/options/{underlyingAsset}/{optionContract}
- /v3/snapshot/options/{underlyingAsset}
- /v3/snapshot
- group: Technical Indicators
paths:
- /v1/indicators/sma/{optionsTicker}
- /v1/indicators/ema/{optionsTicker}
- /v1/indicators/macd/{optionsTicker}
- /v1/indicators/rsi/{optionsTicker}
reference:
- paths:
- /v3/reference/options/contracts/{options_ticker}
- paths:
- /v3/reference/options/contracts
- paths:
- /v3/reference/tickers
- paths:
- /v1/meta/symbols/{stocksTicker}/company
- paths:
- /v3/reference/tickers/{ticker}
- paths:
- /v2/reference/news
- paths:
- /v3/reference/tickers/types
- paths:
- /v1/marketstatus/upcoming
- paths:
- /v1/marketstatus/now
- paths:
- /v3/reference/conditions
- paths:
- /v3/reference/exchanges
stocks:
market:
- launchpad: shared
paths:
- /v2/aggs/ticker/{stocksTicker}/range/{multiplier}/{timespan}/{from}/{to}
- launchpad: exclusive
paths:
- /v1/summaries
- paths:
- /v2/aggs/grouped/locale/us/market/stocks/{date}
- paths:
- /v1/open-close/{stocksTicker}/{date}
- paths:
- /v2/aggs/ticker/{stocksTicker}/prev
- paths:
- /v3/trades/{stockTicker}
- paths:
- /v2/ticks/stocks/trades/{ticker}/{date}
- paths:
- /v2/last/trade/{stocksTicker}
- paths:
- /v3/quotes/{stockTicker}
- paths:
- /v2/ticks/stocks/nbbo/{ticker}/{date}
- paths:
- /v2/last/nbbo/{stocksTicker}
- group: Snapshots
paths:
- /v2/snapshot/locale/us/markets/stocks/tickers
- /v2/snapshot/locale/us/markets/stocks/{direction}
- /v2/snapshot/locale/us/markets/stocks/tickers/{stocksTicker}
- /v3/snapshot
- group: Technical Indicators
paths:
- /v1/indicators/sma/{stockTicker}
- /v1/indicators/ema/{stockTicker}
- /v1/indicators/macd/{stockTicker}
- /v1/indicators/rsi/{stockTicker}
reference:
- paths:
- /v3/reference/tickers
- paths:
- /v1/meta/symbols/{stocksTicker}/company
- paths:
- /v3/reference/tickers/{ticker}
- paths:
- /vX/reference/tickers/{id}/events
- paths:
- /v2/reference/news
- paths:
- /v3/reference/tickers/types
- paths:
- /vX/reference/tickers/taxonomies
- paths:
- /v1/marketstatus/upcoming
- paths:
- /v1/marketstatus/now
- group: SEC Filings
paths:
- /v1/reference/sec/filings
- /v1/reference/sec/filings/{filing_id}
- /v1/reference/sec/filings/{filing_id}/files
- /v1/reference/sec/filings/{filing_id}/files/{file_id}
- paths:
- /v3/reference/splits
- paths:
- /v3/reference/dividends
- paths:
- /vX/reference/financials
- paths:
- /v3/reference/conditions
- paths:
- /v3/reference/exchanges
- paths:
- /v1/related-companies/{ticker}
- paths:
- /vX/reference/ipos
- paths:
- /vX/reference/short-interest/{identifier_type}/{identifier}
- paths:
- stocks/vX/listings
- stocks/vX/listing/{identifier_type}/{identifier}
- stocks/vX/listings/updates