Polygon Indices:aggregates API

The indices:aggregates API from Polygon — 6 operation(s) for indices:aggregates.

Operations 6

GET /v1/indicators/ema/{indicesTicker} Exponential Moving Average (EMA) #
GET /v1/indicators/macd/{indicesTicker} Moving Average Convergence/Divergence (MACD) #
GET /v1/indicators/rsi/{indicesTicker} Relative Strength Index (RSI) #
GET /v1/indicators/sma/{indicesTicker} Simple Moving Average (SMA) #
GET /v2/aggs/ticker/{indicesTicker}/prev Previous Close #
GET /v2/aggs/ticker/{indicesTicker}/range/{multiplier}/{timespan}/{from}/{to} Aggregates (Bars) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/polygon-indices-aggregates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

polygon-indices-aggregates-api-openapi.yml Raw ↑
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