Polygon Indices:aggregates API
The indices:aggregates API from Polygon — 6 operation(s) for indices:aggregates.
The indices:aggregates API from Polygon — 6 operation(s) for indices:aggregates.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/polygon-indices-aggregates-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: The future of fintech.
title: Polygon Indices: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: indices:aggregates
paths:
/v1/indicators/ema/{indicesTicker}:
x-polygon-ignore: true
get:
description: Get the exponential moving average (EMA) for a ticker symbol over a given time range.
operationId: IndicesEMA
parameters:
- description: The ticker symbol for which to get exponential moving average (EMA) data.
example: I:NDX
in: path
name: indicesTicker
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 value in the aggregate which will be used to calculate the exponential moving average. i.e. 'close' will result in using close values 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/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz01MA
request_id: b9201816341441eed663a90443c0623a
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366449650?limit=226&sort=desc
values:
- timestamp: 1687237200000
value: 14452.002555459003
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
description: Exponential Moving Average (EMA) data for each period.
summary: Exponential Moving Average (EMA)
tags:
- indices:aggregates
x-polygon-entitlement-allowed-limited-tickers: true
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Indices data
name: indices
/v1/indicators/macd/{indicesTicker}:
x-polygon-ignore: true
get:
description: Get moving average convergence/divergence (MACD) for a ticker symbol over a given time range.
operationId: IndicesMACD
parameters:
- description: The ticker symbol for which to get MACD data.
example: I:NDX
in: path
name: indicesTicker
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 value in the aggregate which will be used to calculate the MACD. i.e. 'close' will result in using close values 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/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MTUwODAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0yJmxvbmdfd2luZG93PTI2Jm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2Umc2hvcnRfd2luZG93PTEyJnNpZ25hbF93aW5kb3c9OSZ0aW1lc3Bhbj1kYXkmdGltZXN0YW1wLmx0PTE2ODcyMTkyMDAwMDA
request_id: 2eeda0be57e83cbc64cc8d1a74e84dbd
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366537196?limit=121&sort=desc
values:
- histogram: -4.7646219788108795
signal: 220.7596784587801
timestamp: 1687237200000
value: 215.9950564799692
- histogram: 3.4518937661882205
signal: 221.9508339534828
timestamp: 1687219200000
value: 225.40272771967102
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
description: Moving Average Convergence/Divergence (MACD) data for each period.
summary: Moving Average Convergence/Divergence (MACD)
tags:
- indices:aggregates
x-polygon-entitlement-allowed-limited-tickers: true
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Indices data
name: indices
/v1/indicators/rsi/{indicesTicker}:
x-polygon-ignore: true
get:
description: Get the relative strength index (RSI) for a ticker symbol over a given time range.
operationId: IndicesRSI
parameters:
- description: The ticker symbol for which to get relative strength index (RSI) data.
example: I:NDX
in: path
name: indicesTicker
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 value in the aggregate which will be used to calculate the relative strength index. i.e. 'close' will result in using close values 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/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz0xNA
request_id: 28a8417f521f98e1d08f6ed7d1fbcad3
results:
underlying:
url: https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366658253?limit=66&sort=desc
values:
- timestamp: 1687237200000
value: 73.98019439047955
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
description: Relative Strength Index (RSI) data for each period.
summary: Relative Strength Index (RSI)
tags:
- indices:aggregates
x-polygon-entitlement-allowed-limited-tickers: true
x-polygon-entitlement-data-type:
description: Aggregate data
name: aggregates
x-polygon-entitlement-market-type:
description: Indices data
name: indices
/v1/indicators/sma/{indicesTicker}:
x-polygon-ignore: true
get:
description: Get the simple moving average (SMA) for a ticker symbol over a given time range.
operationId: IndicesSMA
parameters:
- description: The ticker symbol for which to get simple moving average (SMA) data.
example: I:NDX
in: path
name: indicesTicker
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
-
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/polygon/refs/heads/main/openapi/polygon-indices-aggregates-api-openapi.yml