Options API Documentation

The Polygon.io Stock Options API provides REST endpoints that let you query the latest market data from all US options exchanges. You can find data on active and historical options contracts, greeks, implied volatility, and more.

Documentation

Authentication

Pass your API key in the query string like follows:

https://api.polygon.io/v2/aggs/ticker/O:TSLA230113C00015000/range/1/day/2023-01-01/2023-01-11?apiKey=*

Alternatively, you can add an Authorization header to the request with your API Key as the token in the following form:

Authorization: Bearer <token>

Usage

Many of Polygon.io's REST endpoints allow you to extend query parameters with inequalities like date.lt=2023-01-01 (less than) and date.gte=2023-01-01 (greater than or equal to) to search ranges of values. You can also use the field name without any extension to query for exact equality. Fields that support extensions will have an "Additional filter parameters" dropdown beneath them in the docs that detail the supported extensions for that parameter.

Response Types

By default, all endpoints return a JSON response. Users with Options Starter plan and above can request a CSV response by including 'Accept': 'text/csv' as a request parameter.

Aggregates (Bars)

get
/v2/aggs/ticker/{optionsTicker}/range/{multiplier}/{timespan}/{from}/{to}

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.

Parameters

The ticker symbol of the options contract.

The size of the timespan multiplier.

  • The size of the time window.

    The start of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    The end of the aggregate time window. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

  • 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.

  • 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).

    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.

    https://api.polygon.io/v2/aggs/ticker/{optionsTicker}/range/{multiplier}/{timespan}/{from}/{to}?apiKey=*
  • Response Attributes
    ticker*string

    The exchange symbol that this item is traded under.


    adjusted*boolean

    Whether or not this response was adjusted for splits.


    queryCount*integer

    The number of aggregates (minute or day) used to generate the response.


    request_id*string

    A request id assigned by the server.


    resultsCount*integer

    The total number of results for this request.


    status*string

    The status of this request's response.


    resultsarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    ninteger

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    t*integer

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vwnumber

    The volume weighted average price.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Daily Open/Close

    get
    /v1/open-close/{optionsTicker}/{date}

    Get the open, close and afterhours prices of an options contract on a certain date.

    Parameters

    The ticker symbol of the options contract.

    The date of the requested open/close in the format YYYY-MM-DD.

  • 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.

    https://api.polygon.io/v1/open-close/{optionsTicker}/{date}?apiKey=*
  • Response Attributes
    afterHoursnumber

    The close price of the ticker symbol in after hours trading.


    close*number

    The close price for the symbol in the given time period.


    from*string

    The requested date.


    high*number

    The highest price for the symbol in the given time period.


    low*number

    The lowest price for the symbol in the given time period.


    open*number

    The open price for the symbol in the given time period.


    otcboolean

    Whether or not this aggregate is for an OTC ticker. This field will be left off if false.


    preMarketinteger

    The open price of the ticker symbol in pre-market trading.


    status*string

    The status of this request's response.


    symbol*string

    The exchange symbol that this item is traded under.


    volume*number

    The trading volume of the symbol in the given time period.


    Was this helpful?
    Help us improve
    Response Object
    {
      "afterHours": 26.35,
      "close": 26.35,
      "from": "2023-01-09",
      "high": 26.35,
      "low": 25,
      "open": 25,
      "preMarket": 25,
      "status": "OK",
      "symbol": "O:TSLA210903C00700000",
      "volume": 2
    }

    Previous Close

    get
    /v2/aggs/ticker/{optionsTicker}/prev

    Get the previous day's open, high, low, and close (OHLC) for the specified option contract.

    Parameters

    The ticker symbol of the options contract.

  • 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.

    https://api.polygon.io/v2/aggs/ticker/{optionsTicker}/prev?apiKey=*
  • Response Attributes
    ticker*string

    The exchange symbol that this item is traded under.


    adjusted*boolean

    Whether or not this response was adjusted for splits.


    queryCount*integer

    The number of aggregates (minute or day) used to generate the response.


    request_id*string

    A request id assigned by the server.


    resultsCount*integer

    The total number of results for this request.


    status*string

    The status of this request's response.


    resultsarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    ninteger

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    t*integer

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vwnumber

    The volume weighted average price.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Trades

    get
    /v3/trades/{optionsTicker}

    Get trades for an options ticker symbol in a given time range.

    Parameters

    The options ticker symbol to get trades for.

    Query by trade timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 50000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/trades/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    resultsarray
    conditionsarray [integer]

    A list of condition codes.


    correctioninteger

    The trade correction indicator.


    exchange*integer

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    participant_timestampinteger

    The nanosecond accuracy Participant/Exchange Unix Timestamp. This is the timestamp of when the trade was actually generated at the exchange.


    price*number

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    sip_timestamp*integer

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this trade from the exchange which produced it.


    size*number

    The size of a trade (also known as volume).


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "next_url": "https://api.polygon.io/v3/trades/O:AZO140621P00530000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy",
      "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3",
      "results": [
        {
          "exchange": 46,
          "participant_timestamp": 1401715883806000000,
          "price": 6.91,
          "sip_timestamp": 1401715883806000000,
          "size": 1
        },
        {
          "conditions": [
            209
          ],
          "exchange": 67,
          "participant_timestamp": 1401716547786000000,
          "price": 7.2,
          "sip_timestamp": 1401716547786000000,
          "size": 1
        }
      ],
      "status": "OK"
    }

    Last Trade

    get
    /v2/last/trade/{optionsTicker}

    Get the most recent trade for a given options contract.

    Parameters

    The ticker symbol of the options contract.

    https://api.polygon.io/v2/last/trade/{optionsTicker}?apiKey=*
  • Response Attributes
    request_id*string

    A request id assigned by the server.


    resultsobject
    T*string

    The exchange symbol that this item is traded under.


    carray [integer]

    A list of condition codes.


    einteger

    The trade correction indicator.


    finteger

    The nanosecond accuracy TRF(Trade Reporting Facility) Unix Timestamp. This is the timestamp of when the trade reporting facility received this message.


    i*string

    The Trade ID which uniquely identifies a trade. These are unique per combination of ticker, exchange, and TRF. For example: A trade for AAPL executed on NYSE and a trade for AAPL executed on NASDAQ could potentially have the same Trade ID.


    p*number

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    q*integer

    The sequence number represents the sequence in which message events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).


    rinteger

    The ID for the Trade Reporting Facility where the trade took place.


    snumber

    The size of a trade (also known as volume).


    t*integer

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this message from the exchange which produced it.


    x*integer

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    y*integer

    The nanosecond accuracy Participant/Exchange Unix Timestamp. This is the timestamp of when the quote was actually generated at the exchange.


    zinteger

    There are 3 tapes which define which exchange the ticker is listed on. These are integers in our objects which represent the letter of the alphabet. Eg: 1 = A, 2 = B, 3 = C.

    • Tape A is NYSE listed securities
    • Tape B is NYSE ARCA / NYSE American
    • Tape C is NASDAQ

    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "f05562305bd26ced64b98ed68b3c5d96",
      "results": {
        "T": "O:TSLA210903C00700000",
        "c": [
          227
        ],
        "f": 1617901342969796400,
        "i": "",
        "p": 115.55,
        "q": 1325541950,
        "r": 202,
        "s": 25,
        "t": 1617901342969834000,
        "x": 312,
        "y": 1617901342969834000
      },
      "status": "OK"
    }

    Quotes

    get
    /v3/quotes/{optionsTicker}

    Get quotes for an options ticker symbol in a given time range.

    Parameters

    The ticker symbol to get quotes for.

    Query by timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 50000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/quotes/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    resultsarray
    ask_exchangeinteger

    The ask exchange ID


    ask_pricenumber

    The ask price.


    ask_sizenumber

    The ask size. This represents the number of round lot orders at the given ask price. The normal round lot size is 100 shares. An ask size of 2 means there are 200 shares available to purchase at the given ask price.


    bid_exchangeinteger

    The bid exchange ID


    bid_pricenumber

    The bid price.


    bid_sizenumber

    The bid size. This represents the number of round lot orders at the given bid price. The normal round lot size is 100 shares. A bid size of 2 means there are 200 shares for purchase at the given bid price.


    sequence_number*integer

    The sequence number represents the sequence in which quote events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).


    sip_timestamp*integer

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this quote from the exchange which produced it.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "next_url": "https://api.polygon.io/v3/quotes/O:SPY241220P00720000?cursor=YXA9NzY5Nzg0NzAxJmFzPSZsaW1pdD0xMCZvcmRlcj1kZXNjJnNvcnQ9dGltZXN0YW1wJnRpbWVzdGFtcC5sdGU9MjAyMi0wMi0xN1QxNyUzQTI1JTNBMTMuMDA5MzU2MDMyWg",
      "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3",
      "results": [
        {
          "ask_exchange": 323,
          "ask_price": 282,
          "ask_size": 10,
          "bid_exchange": 316,
          "bid_price": 277.5,
          "bid_size": 1,
          "sequence_number": 789539218,
          "sip_timestamp": 1645119125346243600
        },
        {
          "ask_exchange": 301,
          "ask_price": 282,
          "ask_size": 1,
          "bid_exchange": 323,
          "bid_price": 277.5,
          "bid_size": 10,
          "sequence_number": 788994206,
          "sip_timestamp": 1645119118474271000
        }
      ],
      "status": "OK"
    }

    Option Contract

    get
    /v3/snapshot/options/{underlyingAsset}/{optionContract}

    Get the snapshot of an option contract for a stock equity.

    Parameters

    The underlying ticker symbol of the option contract.

    The option contract identifier.

    https://api.polygon.io/v3/snapshot/options/{underlyingAsset}/{optionContract}?apiKey=*
    Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_id*string

    resultsobject
    break_even_price*number

    The price of the underlying asset for the contract to break even. For a call, this value is (strike price + premium paid). For a put, this value is (strike price - premium paid).


    day*object

    The most recent daily bar for this contract.

    change*number

    The value of the price change for the contract from the previous trading day.


    change_percent*number

    The percent of the price change for the contract from the previous trading day.


    close*number

    The closing price for the contract of the day.


    high*number

    The highest price for the contract of the day.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    low*number

    The lowest price for the contract of the day.


    open*number

    The open price for the contract of the day.


    previous_close*number

    The closing price for the contract of previous trading day.


    volume*number

    The trading volume for the contract of the day.


    vwap*number

    The trading volume weighted average price for the contract of the day.


    details*object

    The details for this contract.

    contract_type*enum [put, call, other]

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    exercise_style*enum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_date*string

    The contract's expiration date in YYYY-MM-DD format.


    shares_per_contract*number

    The number of shares per contract for this contract.


    strike_price*number

    The strike price of the option contract.


    ticker*string

    The ticker symbol for the asset.


    fmvnumber

    Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.


    greeksobject

    The greeks for this contract. There are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money. See this article for more information.

    delta*number

    The change in the option's price per $0.01 increment in the price of the underlying asset.


    gamma*number

    The change in delta per $0.01 change in the price of the underlying asset.


    theta*number

    The change in the option's price per day.


    vega*number

    The change in the option's price per 1% increment in volatility.


    implied_volatilitynumber

    The market's forecast for the volatility of the underlying asset, based on this option's current price.


    last_quote*object

    The most recent quote for this contract. This is only returned if your current plan includes quotes.

    ask*number

    The ask price.


    ask_exchangenumber

    The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    ask_size*number

    The ask size.


    bid*number

    The bid price.


    bid_exchangenumber

    The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    bid_size*number

    The bid size.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    midpoint*number

    The average of the bid and ask price.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    last_tradeobject

    The most recent trade for this contract. This is only returned if your current plan includes trades.

    conditionsarray [integer]

    A list of condition codes.


    exchange*integer

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    price*number

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    sip_timestamp*integer

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this trade from the exchange which produced it.


    size*integer

    The size of a trade (also known as volume).


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    open_interest*number

    The quantity of this contract held at the end of the last trading day.


    underlying_asset*object

    Information on the underlying stock for this options contract. The market data returned depends on your current stocks plan.

    change_to_break_even*number

    The change in price for the contract to break even.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    pricenumber

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    ticker*string

    The ticker symbol for the contract's underlying asset.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    valuenumber

    The value of the underlying index.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "d9ff18dac69f55c218f69e4753706acd",
      "results": {
        "break_even_price": 171.075,
        "day": {
          "change": -1.05,
          "change_percent": -4.67,
          "close": 21.4,
          "high": 22.49,
          "last_updated": 1636520400000000000,
          "low": 21.35,
          "open": 22.49,
          "previous_close": 22.45,
          "volume": 37,
          "vwap": 21.6741
        },
        "details": {
          "contract_type": "call",
          "exercise_style": "american",
          "expiration_date": "2023-06-16",
          "shares_per_contract": 100,
          "strike_price": 150,
          "ticker": "O:AAPL230616C00150000"
        },
        "fmv": 0.05,
        "greeks": {
          "delta": 0.5520187372272933,
          "gamma": 0.00706756515659829,
          "theta": -0.018532772783847958,
          "vega": 0.7274811132998142
        },
        "implied_volatility": 0.3048997097864957,
        "last_quote": {
          "ask": 21.25,
          "ask_exchange": 301,
          "ask_size": 110,
          "bid": 20.9,
          "bid_exchange": 301,
          "bid_size": 172,
          "last_updated": 1636573458756383500,
          "midpoint": 21.075,
          "timeframe": "REAL-TIME"
        },
        "last_trade": {
          "conditions": [
            209
          ],
          "exchange": 316,
          "price": 0.05,
          "sip_timestamp": 1675280958783136800,
          "size": 2,
          "timeframe": "REAL-TIME"
        },
        "open_interest": 8921,
        "underlying_asset": {
          "change_to_break_even": 23.123999999999995,
          "last_updated": 1636573459862384600,
          "price": 147.951,
          "ticker": "AAPL",
          "timeframe": "REAL-TIME"
        }
      },
      "status": "OK"
    }

    Options Chain

    get
    /v3/snapshot/options/{underlyingAsset}

    Get the snapshot of all options contracts for an underlying ticker.

    Parameters

    The underlying ticker symbol of the option contract.

    Query by strike price of a contract.

    strike_price.gtgreater than
    strike_price.gtegreater than or equal to
    strike_price.ltless than
    strike_price.lteless than or equal to
    Learn More

    Query by contract expiration with date format YYYY-MM-DD.

    expiration_date.gtgreater than
    expiration_date.gtegreater than or equal to
    expiration_date.ltless than
    expiration_date.lteless than or equal to
    Learn More
  • Query by the type of contract.

  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 250.

  • Sort field used for ordering.

    https://api.polygon.io/v3/snapshot/options/{underlyingAsset}?apiKey=*
    Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_id*string

    resultsarray
    break_even_price*number

    The price of the underlying asset for the contract to break even. For a call, this value is (strike price + premium paid). For a put, this value is (strike price - premium paid).


    day*object

    The most recent daily bar for this contract.

    change*number

    The value of the price change for the contract from the previous trading day.


    change_percent*number

    The percent of the price change for the contract from the previous trading day.


    close*number

    The closing price for the contract of the day.


    high*number

    The highest price for the contract of the day.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    low*number

    The lowest price for the contract of the day.


    open*number

    The open price for the contract of the day.


    previous_close*number

    The closing price for the contract of previous trading day.


    volume*number

    The trading volume for the contract of the day.


    vwap*number

    The trading volume weighted average price for the contract of the day.


    details*object

    The details for this contract.

    contract_type*enum [put, call, other]

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    exercise_style*enum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_date*string

    The contract's expiration date in YYYY-MM-DD format.


    shares_per_contract*number

    The number of shares per contract for this contract.


    strike_price*number

    The strike price of the option contract.


    ticker*string

    The ticker symbol for the asset.


    fmvnumber

    Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.


    greeksobject

    The greeks for this contract. There are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money. See this article for more information.

    delta*number

    The change in the option's price per $0.01 increment in the price of the underlying asset.


    gamma*number

    The change in delta per $0.01 change in the price of the underlying asset.


    theta*number

    The change in the option's price per day.


    vega*number

    The change in the option's price per 1% increment in volatility.


    implied_volatilitynumber

    The market's forecast for the volatility of the underlying asset, based on this option's current price.


    last_quote*object

    The most recent quote for this contract. This is only returned if your current plan includes quotes.

    ask*number

    The ask price.


    ask_exchangenumber

    The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    ask_size*number

    The ask size.


    bid*number

    The bid price.


    bid_exchangenumber

    The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    bid_size*number

    The bid size.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    midpoint*number

    The average of the bid and ask price.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    last_tradeobject

    The most recent trade for this contract. This is only returned if your current plan includes trades.

    conditionsarray [integer]

    A list of condition codes.


    exchange*integer

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    price*number

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    sip_timestamp*integer

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this trade from the exchange which produced it.


    size*integer

    The size of a trade (also known as volume).


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    open_interest*number

    The quantity of this contract held at the end of the last trading day.


    underlying_asset*object

    Information on the underlying stock for this options contract. The market data returned depends on your current stocks plan.

    change_to_break_even*number

    The change in price for the contract to break even.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    pricenumber

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    ticker*string

    The ticker symbol for the contract's underlying asset.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    valuenumber

    The value of the underlying index.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "6a7e466379af0a71039d60cc78e72282",
      "results": [
        {
          "break_even_price": 151.2,
          "day": {
            "change": 4.5,
            "change_percent": 6.76,
            "close": 120.73,
            "high": 120.81,
            "last_updated": 1605195918507251700,
            "low": 118.9,
            "open": 119.32,
            "previous_close": 119.12,
            "volume": 868,
            "vwap": 119.31
          },
          "details": {
            "contract_type": "call",
            "exercise_style": "american",
            "expiration_date": "2022-01-21",
            "shares_per_contract": 100,
            "strike_price": 150,
            "ticker": "O:AAPL211022C000150000"
          },
          "fmv": 0.05,
          "greeks": {
            "delta": 1,
            "gamma": 0,
            "theta": 0.00229,
            "vega": 0
          },
          "implied_volatility": 5,
          "last_quote": {
            "ask": 120.3,
            "ask_size": 4,
            "bid": 120.28,
            "bid_size": 8,
            "last_updated": 1605195918507251700,
            "midpoint": 120.29
          },
          "last_trade": {
            "conditions": [
              209
            ],
            "exchange": 316,
            "price": 0.05,
            "sip_timestamp": 1675280958783136800,
            "size": 2,
            "timeframe": "REAL-TIME"
          },
          "open_interest": 1543,
          "underlying_asset": {
            "change_to_break_even": 4.2,
            "last_updated": 1605195918507251700,
            "price": 147,
            "ticker": "AAPL",
            "timeframe": "DELAYED"
          }
        }
      ],
      "status": "OK"
    }

    Universal Snapshot

    get
    /v3/snapshot

    Get snapshots for assets of all types

    Parameters

    Comma separated list of tickers, up to a maximum of 250. If no tickers are passed then all results will be returned in a paginated manner.

    Warning: The maximum number of characters allowed in a URL are subject to your technology stack.

    ticker.gtgreater than
    ticker.gtegreater than or equal to
    ticker.ltless than
    ticker.lteless than or equal to
    Learn More
  • Query by the type of asset.

  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 250.

  • Sort field used for ordering.

    https://api.polygon.io/v3/snapshot?apiKey=*
    Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_id*string

    resultsarray
    break_even_pricenumber

    The price of the underlying asset for the contract to break even. For a call, this value is (strike price + premium paid). For a put, this value is (strike price - premium paid).


    detailsobject

    The details for this contract.

    contract_type*enum [put, call, other]

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    exercise_style*enum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_date*string

    The contract's expiration date in YYYY-MM-DD format.


    shares_per_contract*number

    The number of shares per contract for this contract.


    strike_price*number

    The strike price of the option contract.


    errorstring

    The error while looking for this ticker.


    fmvnumber

    Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.


    greeksobject

    The greeks for this contract. There are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money. See this article for more information.

    delta*number

    The change in the option's price per $0.01 increment in the price of the underlying asset.


    gamma*number

    The change in delta per $0.01 change in the price of the underlying asset.


    theta*number

    The change in the option's price per day.


    vega*number

    The change in the option's price per 1% increment in volatility.


    implied_volatilitynumber

    The market's forecast for the volatility of the underlying asset, based on this option's current price.


    last_quoteobject

    The most recent quote for this contract. This is only returned if your current plan includes quotes.

    ask*number

    The ask price.


    ask_exchangeinteger

    The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    ask_sizenumber

    The ask size. This represents the number of round lot orders at the given ask price. The normal round lot size is 100 shares. An ask size of 2 means there are 200 shares available to purchase at the given ask price.


    bid*number

    The bid price.


    bid_exchangeinteger

    The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    bid_sizenumber

    The bid size. This represents the number of round lot orders at the given bid price. The normal round lot size is 100 shares. A bid size of 2 means there are 200 shares for purchase at the given bid price.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    midpointnumber

    The average of the bid and ask price.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    last_tradeobject

    The most recent quote for this contract. This is only returned if your current plan includes trades.

    conditionsarray [integer]

    A list of condition codes.


    exchangeinteger

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    idstring

    The Trade ID which uniquely identifies a trade. These are unique per combination of ticker, exchange, and TRF. For example: A trade for AAPL executed on NYSE and a trade for AAPL executed on NASDAQ could potentially have the same Trade ID.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    participant_timestamp*integer

    The nanosecond Exchange Unix Timestamp. This is the timestamp of when the trade was generated at the exchange.


    price*number

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    sip_timestampinteger

    The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this trade from the exchange which produced it.


    size*integer

    The size of a trade (also known as volume).


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    market_statusstring

    The market status for the market that trades this ticker. Possible values for stocks, options, crypto, and forex snapshots are open, closed, early_trading, or late_trading. Possible values for indices snapshots are regular_trading, closed, early_trading, and late_trading.


    messagestring

    The error message while looking for this ticker.


    namestring

    The name of this contract.


    open_interestnumber

    The quantity of this contract held at the end of the last trading day.


    sessionobject
    change*number

    The value of the price change for the asset from the previous trading day.


    change_percent*number

    The percent of the price change for the asset from the previous trading day.


    close*number

    The closing price of the asset for the day.


    early_trading_changenumber

    Today's early trading change amount, difference between price and previous close if in early trading hours, otherwise difference between last price during early trading and previous close.


    early_trading_change_percentnumber

    Today's early trading change as a percentage.


    high*number

    The highest price of the asset for the day.


    late_trading_changenumber

    Today's late trading change amount, difference between price and today's close if in late trading hours, otherwise difference between last price during late trading and today's close.


    late_trading_change_percentnumber

    Today's late trading change as a percentage.


    low*number

    The lowest price of the asset for the day.


    open*number

    The open price of the asset for the day.


    previous_close*number

    The closing price of the asset for the previous trading day.


    pricenumber

    The price of the most recent trade or bid price for this asset.


    volumenumber

    The trading volume for the asset for the day.


    ticker*string

    The ticker symbol for the asset.


    typeenum [stocks, options, fx, crypto, indices]

    The asset class for this ticker.


    underlying_assetobject

    Information on the underlying stock for this options contract. The market data returned depends on your current stocks plan.

    change_to_break_even*number

    The change in price for the contract to break even.


    last_updated*integer

    The nanosecond timestamp of when this information was updated.


    pricenumber

    The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.


    ticker*string

    The ticker symbol for the contract's underlying asset.


    timeframe*enum [DELAYED, REAL-TIME]

    The time relevance of the data.


    valuenumber

    The value of the underlying index.


    valuenumber

    Value of Index.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "abc123",
      "results": [
        {
          "break_even_price": 171.075,
          "details": {
            "contract_type": "call",
            "exercise_style": "american",
            "expiration_date": "2022-10-14",
            "shares_per_contract": 100,
            "strike_price": 5,
            "underlying_ticker": "NCLH"
          },
          "fmv": 0.05,
          "greeks": {
            "delta": 0.5520187372272933,
            "gamma": 0.00706756515659829,
            "theta": -0.018532772783847958,
            "vega": 0.7274811132998142
          },
          "implied_volatility": 0.3048997097864957,
          "last_quote": {
            "ask": 21.25,
            "ask_exchange": 12,
            "ask_size": 110,
            "bid": 20.9,
            "bid_exchange": 10,
            "bid_size": 172,
            "last_updated": 1636573458756383500,
            "midpoint": 21.075,
            "timeframe": "REAL-TIME"
          },
          "last_trade": {
            "conditions": [
              209
            ],
            "exchange": 316,
            "price": 0.05,
            "sip_timestamp": 1675280958783136800,
            "size": 2,
            "timeframe": "REAL-TIME"
          },
          "market_status": "closed",
          "name": "NCLH $5 Call",
          "open_interest": 8921,
          "session": {
            "change": -0.05,
            "change_percent": -1.07,
            "close": 6.65,
            "early_trading_change": -0.01,
            "early_trading_change_percent": -0.03,
            "high": 7.01,
            "late_trading_change": -0.4,
            "late_trading_change_percent": -0.02,
            "low": 5.42,
            "open": 6.7,
            "previous_close": 6.71,
            "volume": 67
          },
          "ticker": "O:NCLH221014C00005000",
          "type": "options",
          "underlying_asset": {
            "change_to_break_even": 23.123999999999995,
            "last_updated": 1636573459862384600,
            "price": 147.951,
            "ticker": "AAPL",
            "timeframe": "REAL-TIME"
          }
        },
        {
          "fmv": 0.05,
          "last_quote": {
            "ask": 21.25,
            "ask_exchange": 300,
            "ask_size": 110,
            "bid": 20.9,
            "bid_exchange": 323,
            "bid_size": 172,
            "last_updated": 1636573458756383500,
            "timeframe": "REAL-TIME"
          },
          "last_trade": {
            "conditions": [
              209
            ],
            "exchange": 316,
            "id": "4064",
            "last_updated": 1675280958783136800,
            "price": 0.05,
            "size": 2,
            "timeframe": "REAL-TIME"
          },
          "market_status": "closed",
          "name": "Apple Inc.",
          "session": {
            "change": -1.05,
            "change_percent": -4.67,
            "close": 21.4,
            "early_trading_change": -0.39,
            "early_trading_change_percent": -0.07,
            "high": 22.49,
            "late_trading_change": 1.2,
            "late_trading_change_percent": 3.92,
            "low": 21.35,
            "open": 22.49,
            "previous_close": 22.45,
            "volume": 37
          },
          "ticker": "AAPL",
          "type": "stocks"
        },
        {
          "error": "NOT_FOUND",
          "message": "Ticker not found.",
          "ticker": "TSLAAPL"
        }
      ],
      "status": "OK"
    }

    Simple Moving Average (SMA)

    get
    /v1/indicators/sma/{optionsTicker}

    Get the simple moving average (SMA) for a ticker symbol over a given time range.

    Parameters

    The ticker symbol for which to get simple moving average (SMA) data.

    Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • The size of the aggregate time window.

  • 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.

    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.

  • 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 calculate the simple moving average (SMA).

  • Whether or not to include the aggregates used to calculate this indicator in the response.

  • The order in which to return the results, ordered by timestamp.

    Limit the number of results returned, default is 10 and max is 5000

    https://api.polygon.io/v1/indicators/sma/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsobject
    underlyingobject
    aggregatesarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    n*integer

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    otcboolean

    Whether or not this aggregate is for an OTC ticker. This field will be left off if false.


    t*number

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vw*number

    The volume weighted average price.


    urlstring

    The URL which can be used to request the underlying aggregates used in this request.


    valuesarray
    timestampinteger

    The Unix Msec timestamp from the last aggregate used in this calculation.


    valuenumber

    The indicator value for this period.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Exponential Moving Average (EMA)

    get
    /v1/indicators/ema/{optionsTicker}

    Get the exponential moving average (EMA) for a ticker symbol over a given time range.

    Parameters

    The ticker symbol for which to get exponential moving average (EMA) data.

    Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • The size of the aggregate time window.

  • 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.

    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.

  • 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 calculate the exponential moving average (EMA).

  • Whether or not to include the aggregates used to calculate this indicator in the response.

  • The order in which to return the results, ordered by timestamp.

    Limit the number of results returned, default is 10 and max is 5000

    https://api.polygon.io/v1/indicators/ema/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsobject
    underlyingobject
    aggregatesarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    n*integer

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    otcboolean

    Whether or not this aggregate is for an OTC ticker. This field will be left off if false.


    t*number

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vw*number

    The volume weighted average price.


    urlstring

    The URL which can be used to request the underlying aggregates used in this request.


    valuesarray
    timestampinteger

    The Unix Msec timestamp from the last aggregate used in this calculation.


    valuenumber

    The indicator value for this period.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Moving Average Convergence/Divergence (MACD)

    get
    /v1/indicators/macd/{optionsTicker}

    Get moving average convergence/divergence (MACD) for a ticker symbol over a given time range.

    Parameters

    The ticker symbol for which to get MACD data.

    Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • The size of the aggregate time window.

  • 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.

    The short window size used to calculate MACD data.

    The long window size used to calculate MACD data.

    The window size used to calculate the MACD signal line.

  • The price in the aggregate which will be used to calculate the MACD. i.e. 'close' will result in using close prices to calculate the MACD.

  • Whether or not to include the aggregates used to calculate this indicator in the response.

  • The order in which to return the results, ordered by timestamp.

    Limit the number of results returned, default is 10 and max is 5000

    https://api.polygon.io/v1/indicators/macd/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsobject
    underlyingobject
    aggregatesarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    n*integer

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    otcboolean

    Whether or not this aggregate is for an OTC ticker. This field will be left off if false.


    t*number

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vw*number

    The volume weighted average price.


    urlstring

    The URL which can be used to request the underlying aggregates used in this request.


    valuesarray
    histogramnumber

    The indicator value for this period.


    signalnumber

    The indicator value for this period.


    timestampinteger

    The Unix Msec timestamp from the last aggregate used in this calculation.


    valuenumber

    The indicator value for this period.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Relative Strength Index (RSI)

    get
    /v1/indicators/rsi/{optionsTicker}

    Get the relative strength index (RSI) for a ticker symbol over a given time range.

    Parameters

    The ticker symbol for which to get relative strength index (RSI) data.

    Query by timestamp. Either a date with the format YYYY-MM-DD or a millisecond timestamp.

    timestamp.gtgreater than
    timestamp.gtegreater than or equal to
    timestamp.ltless than
    timestamp.lteless than or equal to
    Learn More
  • The size of the aggregate time window.

  • 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.

    The window size used to calculate the relative strength index (RSI).

  • 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 calculate the relative strength index (RSI).

  • Whether or not to include the aggregates used to calculate this indicator in the response.

  • The order in which to return the results, ordered by timestamp.

    Limit the number of results returned, default is 10 and max is 5000

    https://api.polygon.io/v1/indicators/rsi/{optionsTicker}?apiKey=*
  • Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsobject
    underlyingobject
    aggregatesarray
    c*number

    The close price for the symbol in the given time period.


    h*number

    The highest price for the symbol in the given time period.


    l*number

    The lowest price for the symbol in the given time period.


    n*integer

    The number of transactions in the aggregate window.


    o*number

    The open price for the symbol in the given time period.


    otcboolean

    Whether or not this aggregate is for an OTC ticker. This field will be left off if false.


    t*number

    The Unix Msec timestamp for the start of the aggregate window.


    v*number

    The trading volume of the symbol in the given time period.


    vw*number

    The volume weighted average price.


    urlstring

    The URL which can be used to request the underlying aggregates used in this request.


    valuesarray
    timestampinteger

    The Unix Msec timestamp from the last aggregate used in this calculation.


    valuenumber

    The indicator value for this period.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "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"
    }

    Options Contract

    get
    /v3/reference/options/contracts/{options_ticker}

    Get an options contract

    Parameters

    Query for a contract by options ticker. You can learn more about the structure of options tickers here.

    Specify a point in time for the contract as of this date with format YYYY-MM-DD. Defaults to today's date.

    https://api.polygon.io/v3/reference/options/contracts/{options_ticker}?apiKey=*
    Response Attributes
    request_idstring

    resultsobject
    additional_underlyingsarray

    If an option contract has additional underlyings or deliverables associated with it, they will appear here. See here for some examples of what might cause a contract to have additional underlyings.

    amountnumber

    The number of shares per contract of the additional underlying, or the cash-in-lieu amount of the currency.


    typestring

    The type of the additional underlying asset, either equity or currency.


    underlyingstring

    The name of the additional underlying asset.


    cfistring

    The 6 letter CFI code of the contract (defined in ISO 10962)


    contract_typestring

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    correctioninteger

    The correction number for this option contract.


    exercise_styleenum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_datestring

    The contract's expiration date in YYYY-MM-DD format.


    primary_exchangestring

    The MIC code of the primary exchange that this contract is listed on.


    shares_per_contractnumber

    The number of shares per contract for this contract.


    strike_pricenumber

    The strike price of the option contract.


    tickerstring

    The ticker for the option contract.


    underlying_tickerstring

    The underlying ticker that the option contract relates to.


    statusstring

    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "603902c0-a5a5-406f-bd08-f030f92418fa",
      "results": {
        "additional_underlyings": [
          {
            "amount": 44,
            "type": "equity",
            "underlying": "VMW"
          },
          {
            "amount": 6.53,
            "type": "currency",
            "underlying": "USD"
          }
        ],
        "cfi": "OCASPS",
        "contract_type": "call",
        "exercise_style": "american",
        "expiration_date": "2021-11-19",
        "primary_exchange": "BATO",
        "shares_per_contract": 100,
        "strike_price": 85,
        "ticker": "O:AAPL211119C00085000",
        "underlying_ticker": "AAPL"
      },
      "status": "OK"
    }

    Options Contracts

    get
    /v3/reference/options/contracts

    Query for historical options contracts. This provides both active and expired options contracts.

    Parameters

    This parameter has been deprecated. To search by specific options ticker, use the Options Contract endpoint here.

    Query for contracts relating to an underlying stock ticker.

    underlying_ticker.gtgreater than
    underlying_ticker.gtegreater than or equal to
    underlying_ticker.ltless than
    underlying_ticker.lteless than or equal to
    Learn More
  • Query by the type of contract.

    Query by contract expiration with date format YYYY-MM-DD.

    expiration_date.gtgreater than
    expiration_date.gtegreater than or equal to
    expiration_date.ltless than
    expiration_date.lteless than or equal to
    Learn More

    Specify a point in time for contracts as of this date with format YYYY-MM-DD. Defaults to today's date.

    Query by strike price of a contract.

    strike_price.gtgreater than
    strike_price.gtegreater than or equal to
    strike_price.ltless than
    strike_price.lteless than or equal to
    Learn More
  • Query for expired contracts. Default is false.

  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/reference/options/contracts?apiKey=*
    Response Attributes
    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    resultsarray
    additional_underlyingsarray

    If an option contract has additional underlyings or deliverables associated with it, they will appear here. See here for some examples of what might cause a contract to have additional underlyings.

    amountnumber

    The number of shares per contract of the additional underlying, or the cash-in-lieu amount of the currency.


    typestring

    The type of the additional underlying asset, either equity or currency.


    underlyingstring

    The name of the additional underlying asset.


    cfistring

    The 6 letter CFI code of the contract (defined in ISO 10962)


    contract_typestring

    The type of contract. Can be "put", "call", or in some rare cases, "other".


    correctioninteger

    The correction number for this option contract.


    exercise_styleenum [american, european, bermudan]

    The exercise style of this contract. See this link for more details on exercise styles.


    expiration_datestring

    The contract's expiration date in YYYY-MM-DD format.


    primary_exchangestring

    The MIC code of the primary exchange that this contract is listed on.


    shares_per_contractnumber

    The number of shares per contract for this contract.


    strike_pricenumber

    The strike price of the option contract.


    tickerstring

    The ticker for the option contract.


    underlying_tickerstring

    The underlying ticker that the option contract relates to.


    statusstring

    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "603902c0-a5a5-406f-bd08-f030f92418fa",
      "results": [
        {
          "cfi": "OCASPS",
          "contract_type": "call",
          "exercise_style": "american",
          "expiration_date": "2021-11-19",
          "primary_exchange": "BATO",
          "shares_per_contract": 100,
          "strike_price": 85,
          "ticker": "O:AAPL211119C00085000",
          "underlying_ticker": "AAPL"
        },
        {
          "additional_underlyings": [
            {
              "amount": 44,
              "type": "equity",
              "underlying": "VMW"
            },
            {
              "amount": 6.53,
              "type": "currency",
              "underlying": "USD"
            }
          ],
          "cfi": "OCASPS",
          "contract_type": "call",
          "exercise_style": "american",
          "expiration_date": "2021-11-19",
          "primary_exchange": "BATO",
          "shares_per_contract": 100,
          "strike_price": 90,
          "ticker": "O:AAPL211119C00090000",
          "underlying_ticker": "AAPL"
        }
      ],
      "status": "OK"
    }

    Tickers

    get
    /v3/reference/tickers

    Query all ticker symbols which are supported by Polygon.io. This API currently includes Stocks/Equities, Indices, Forex, and Crypto.

    Parameters

    Specify a ticker symbol. Defaults to empty string which queries all tickers.

    ticker.gtgreater than
    ticker.gtegreater than or equal to
    ticker.ltless than
    ticker.lteless than or equal to
    Learn More
  • Specify the type of the tickers. Find the types that we support via our Ticker Types API. Defaults to empty string which queries all types.

  • Filter by market type. By default all markets are included.

    Specify the primary exchange of the asset in the ISO code format. Find more information about the ISO codes at the ISO org website. Defaults to empty string which queries all exchanges.

    Specify the CUSIP code of the asset you want to search for. Find more information about CUSIP codes at their website. Defaults to empty string which queries all CUSIPs.

    Note: Although you can query by CUSIP, due to legal reasons we do not return the CUSIP in the response.

    Specify the CIK of the asset you want to search for. Find more information about CIK codes at their website. Defaults to empty string which queries all CIKs.

    Specify a point in time to retrieve tickers available on that date. Defaults to the most recent available date.

    Search for terms within the ticker and/or company name.

  • Specify if the tickers returned should be actively traded on the queried date. Default is true.

  • Order results based on the sort field.

    Limit the number of results returned, default is 100 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/reference/tickers?apiKey=*
  • Response Attributes
    countinteger

    The total number of results for this request.


    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsarray

    An array of tickers that match your query.

    Note: Although you can query by CUSIP, due to legal reasons we do not return the CUSIP in the response.

    activeboolean

    Whether or not the asset is actively traded. False means the asset has been delisted.


    cikstring

    The CIK number for this ticker. Find more information here.


    composite_figistring

    The composite OpenFIGI number for this ticker. Find more information here


    currency_namestring

    The name of the currency that this asset is traded with.


    delisted_utcstring

    The last date that the asset was traded.


    last_updated_utcstring

    The information is accurate up to this time.


    locale*enum [us, global]

    The locale of the asset.


    market*enum [stocks, crypto, fx, otc, indices]

    The market type of the asset.


    name*string

    The name of the asset. For stocks/equities this will be the companies registered name. For crypto/fx this will be the name of the currency or coin pair.


    primary_exchangestring

    The ISO code of the primary listing exchange for this asset.


    share_class_figistring

    The share Class OpenFIGI number for this ticker. Find more information here


    ticker*string

    The exchange symbol that this item is traded under.


    typestring

    The type of the asset. Find the types that we support via our Ticker Types API.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "next_url": "https://api.polygon.io/v3/reference/tickers?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy",
      "request_id": "e70013d92930de90e089dc8fa098888e",
      "results": [
        {
          "active": true,
          "cik": "0001090872",
          "composite_figi": "BBG000BWQYZ5",
          "currency_name": "usd",
          "last_updated_utc": "2021-04-25T00:00:00Z",
          "locale": "us",
          "market": "stocks",
          "name": "Agilent Technologies Inc.",
          "primary_exchange": "XNYS",
          "share_class_figi": "BBG001SCTQY4",
          "ticker": "A",
          "type": "CS"
        }
      ],
      "status": "OK"
    }

    Ticker Details v3

    get
    /v3/reference/tickers/{ticker}

    Get a single ticker supported by Polygon.io. This response will have detailed information about the ticker and the company behind it.

    Parameters

    The ticker symbol of the asset.

    Specify a point in time to get information about the ticker available on that date. When retrieving information from SEC filings, we compare this date with the period of report date on the SEC filing.

    For example, consider an SEC filing submitted by AAPL on 2019-07-31, with a period of report date ending on 2019-06-29. That means that the filing was submitted on 2019-07-31, but the filing was created based on information from 2019-06-29. If you were to query for AAPL details on 2019-06-29, the ticker details would include information from the SEC filing.

    Defaults to the most recent available date.

    https://api.polygon.io/v3/reference/tickers/{ticker}?apiKey=*
  • Response Attributes
    countinteger

    The total number of results for this request.


    request_idstring

    A request id assigned by the server.


    resultsobject

    Ticker with details.

    active*boolean

    Whether or not the asset is actively traded. False means the asset has been delisted.


    addressobject
    address1string

    The first line of the company's headquarters address.


    citystring

    The city of the company's headquarters address.


    postal_codestring

    The postal code of the company's headquarters address.


    statestring

    The state of the company's headquarters address.


    brandingobject
    icon_urlstring

    A link to this ticker's company's icon. Icon's are generally smaller, square images that represent the company at a glance. Note that you must provide an API key when accessing this URL. See the "Authentication" section at the top of this page for more details.


    logo_urlstring

    A link to this ticker's company's logo. Note that you must provide an API key when accessing this URL. See the "Authentication" section at the top of this page for more details.


    cikstring

    The CIK number for this ticker. Find more information here.


    composite_figistring

    The composite OpenFIGI number for this ticker. Find more information here


    currency_name*string

    The name of the currency that this asset is traded with.


    delisted_utcstring

    The last date that the asset was traded.


    descriptionstring

    A description of the company and what they do/offer.


    homepage_urlstring

    The URL of the company's website homepage.


    list_datestring

    The date that the symbol was first publicly listed in the format YYYY-MM-DD.


    locale*enum [us, global]

    The locale of the asset.


    market*enum [stocks, crypto, fx, otc, indices]

    The market type of the asset.


    market_capnumber

    The most recent close price of the ticker multiplied by weighted outstanding shares.


    name*string

    The name of the asset. For stocks/equities this will be the companies registered name. For crypto/fx this will be the name of the currency or coin pair.


    phone_numberstring

    The phone number for the company behind this ticker.


    primary_exchangestring

    The ISO code of the primary listing exchange for this asset.


    round_lotnumber

    Round lot size of this security.


    share_class_figistring

    The share Class OpenFIGI number for this ticker. Find more information here


    share_class_shares_outstandingnumber

    The recorded number of outstanding shares for this particular share class.


    sic_codestring

    The standard industrial classification code for this ticker. For a list of SIC Codes, see the SEC's SIC Code List.


    sic_descriptionstring

    A description of this ticker's SIC code.


    ticker*string

    The exchange symbol that this item is traded under.


    ticker_rootstring

    The root of a specified ticker. For example, the root of BRK.A is BRK.


    ticker_suffixstring

    The suffix of a specified ticker. For example, the suffix of BRK.A is A.


    total_employeesnumber

    The approximate number of employees for the company.


    typestring

    The type of the asset. Find the types that we support via our Ticker Types API.


    weighted_shares_outstandingnumber

    The shares outstanding calculated assuming all shares of other share classes are converted to this share class.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": {
        "active": true,
        "address": {
          "address1": "One Apple Park Way",
          "city": "Cupertino",
          "postal_code": "95014",
          "state": "CA"
        },
        "branding": {
          "icon_url": "https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_icon.png",
          "logo_url": "https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_logo.svg"
        },
        "cik": "0000320193",
        "composite_figi": "BBG000B9XRY4",
        "currency_name": "usd",
        "description": "Apple designs a wide variety of consumer electronic devices, including smartphones (iPhone), tablets (iPad), PCs (Mac), smartwatches (Apple Watch), AirPods, and TV boxes (Apple TV), among others. The iPhone makes up the majority of Apple's total revenue. In addition, Apple offers its customers a variety of services such as Apple Music, iCloud, Apple Care, Apple TV+, Apple Arcade, Apple Card, and Apple Pay, among others. Apple's products run internally developed software and semiconductors, and the firm is well known for its integration of hardware, software and services. Apple's products are distributed online as well as through company-owned stores and third-party retailers. The company generates roughly 40% of its revenue from the Americas, with the remainder earned internationally.",
        "homepage_url": "https://www.apple.com",
        "list_date": "1980-12-12",
        "locale": "us",
        "market": "stocks",
        "market_cap": 2771126040150,
        "name": "Apple Inc.",
        "phone_number": "(408) 996-1010",
        "primary_exchange": "XNAS",
        "round_lot": 100,
        "share_class_figi": "BBG001S5N8V8",
        "share_class_shares_outstanding": 16406400000,
        "sic_code": "3571",
        "sic_description": "ELECTRONIC COMPUTERS",
        "ticker": "AAPL",
        "ticker_root": "AAPL",
        "total_employees": 154000,
        "type": "CS",
        "weighted_shares_outstanding": 16334371000
      },
      "status": "OK"
    }

    Ticker News

    get
    /v2/reference/news

    Get the most recent news articles relating to a stock ticker symbol, including a summary of the article and a link to the original source.

    Parameters

    Return results that contain this ticker.

    ticker.gtgreater than
    ticker.gtegreater than or equal to
    ticker.ltless than
    ticker.lteless than or equal to
    Learn More

    Return results published on, before, or after this date.

    published_utc.gtgreater than
    published_utc.gtegreater than or equal to
    published_utc.ltless than
    published_utc.lteless than or equal to
    Learn More
  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v2/reference/news?apiKey=*
  • Response Attributes
    countinteger

    The total number of results for this request.


    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_idstring

    A request id assigned by the server.


    resultsarray
    amp_urlstring

    The mobile friendly Accelerated Mobile Page (AMP) URL.


    article_url*string

    A link to the news article.


    author*string

    The article's author.


    descriptionstring

    A description of the article.


    id*string

    Unique identifier for the article.


    image_urlstring

    The article's image URL.


    keywordsarray [string]

    The keywords associated with the article (which will vary depending on the publishing source).


    published_utc*string

    The date the article was published on.


    publisher*object
    favicon_urlstring

    The publisher's homepage favicon URL.


    homepage_url*string

    The publisher's homepage URL.


    logo_url*string

    The publisher's logo URL.


    name*string

    The publisher's name.


    tickers*array [string]

    The ticker symbols associated with the article.


    title*string

    The title of the news article.


    statusstring

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "next_url": "https://api.polygon.io:443/v2/reference/news?cursor=eyJsaW1pdCI6MSwic29ydCI6InB1Ymxpc2hlZF91dGMiLCJvcmRlciI6ImFzY2VuZGluZyIsInRpY2tlciI6e30sInB1Ymxpc2hlZF91dGMiOnsiZ3RlIjoiMjAyMS0wNC0yNiJ9LCJzZWFyY2hfYWZ0ZXIiOlsxNjE5NDA0Mzk3MDAwLG51bGxdfQ",
      "request_id": "831afdb0b8078549fed053476984947a",
      "results": [
        {
          "amp_url": "https://amp.benzinga.com/amp/content/20784086",
          "article_url": "https://www.benzinga.com/markets/cryptocurrency/21/04/20784086/cathie-wood-adds-more-coinbase-skillz-trims-square",
          "author": "Rachit  Vats",
          "description": "<p>Cathie Wood-led Ark Investment Management on Friday snapped up another 221,167 shares of the cryptocurrency exchange <strong>Coinbase Global Inc </strong>(NASDAQ <a class=\"ticker\" href=\"https://www.benzinga.com/stock/coin#NASDAQ\">COIN</a>) worth about $64.49 million on the stock&rsquo;s Friday&rsquo;s dip and also its fourth-straight loss.</p>\n<p>The investment firm&rsquo;s <strong>Ark Innovation ETF</strong> (NYSE <a class=\" ticker\" href=\"https://www.benzinga.com/stock/arkk#NYSE\">ARKK</a>) bought the shares of the company that closed 0.63% lower at $291.60 on Friday, giving the cryptocurrency exchange a market cap of $58.09 billion. Coinbase&rsquo;s market cap has dropped from $85.8 billion on its blockbuster listing earlier this month.</p>\n<p>The New York-based company also added another 3,873 shares of the mobile gaming company <strong>Skillz Inc</strong> (NYSE <a class=\" ticker\" href=\"https://www.benzinga.com/stock/sklz#NYSE\">SKLZ</a>), <a href=\"http://www.benzinga.com/markets/cryptocurrency/21/04/20762794/cathie-woods-ark-loads-up-another-1-2-million-shares-in-skillz-also-adds-coinbase-draftkin\" >just a day after</a> snapping 1.2 million shares of the stock.</p>\n <p>ARKK bought the shares of the company which closed ...</p><p><a href=https://www.benzinga.com/markets/cryptocurrency/21/04/20784086/cathie-wood-adds-more-coinbase-skillz-trims-square alt=Cathie Wood Adds More Coinbase, Skillz, Trims Square>Full story available on Benzinga.com</a></p>",
          "id": "nJsSJJdwViHZcw5367rZi7_qkXLfMzacXBfpv-vD9UA",
          "image_url": "https://cdn2.benzinga.com/files/imagecache/og_image_social_share_1200x630/images/story/2012/andre-francois-mckenzie-auhr4gcqcce-unsplash.jpg?width=720",
          "keywords": [
            "Sector ETFs",
            "Penny Stocks",
            "Cryptocurrency",
            "Small Cap",
            "Markets",
            "Trading Ideas",
            "ETFs"
          ],
          "published_utc": "2021-04-26T02:33:17Z",
          "publisher": {
            "favicon_url": "https://s3.polygon.io/public/public/assets/news/favicons/benzinga.ico",
            "homepage_url": "https://www.benzinga.com/",
            "logo_url": "https://s3.polygon.io/public/public/assets/news/logos/benzinga.svg",
            "name": "Benzinga"
          },
          "tickers": [
            "DOCU",
            "DDD",
            "NIU",
            "ARKF",
            "NVDA",
            "SKLZ",
            "PCAR",
            "MASS",
            "PSTI",
            "SPFR",
            "TREE",
            "PHR",
            "IRDM",
            "BEAM",
            "ARKW",
            "ARKK",
            "ARKG",
            "PSTG",
            "SQ",
            "IONS",
            "SYRS"
          ],
          "title": "Cathie Wood Adds More Coinbase, Skillz, Trims Square"
        }
      ],
      "status": "OK"
    }

    Ticker Types

    get
    /v3/reference/tickers/types

    List all ticker types that Polygon.io has.

    Parameters
  • Filter by asset class.

  • Filter by locale.

    https://api.polygon.io/v3/reference/tickers/types?apiKey=*
  • Response Attributes
    countinteger

    The total number of results for this request.


    request_id*string

    A request ID assigned by the server.


    resultsarray
    asset_class*enum [stocks, options, crypto, fx, indices]

    An identifier for a group of similar financial instruments.


    code*string

    A code used by Polygon.io to refer to this ticker type.


    description*string

    A short description of this ticker type.


    locale*enum [us, global]

    An identifier for a geographical location.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": [
        {
          "asset_class": "stocks",
          "code": "CS",
          "description": "Common Stock",
          "locale": "us"
        }
      ],
      "status": "OK"
    }

    Market Holidays

    get
    /v1/marketstatus/upcoming

    Get upcoming market holidays and their open/close times.

    https://api.polygon.io/v1/marketstatus/upcoming?apiKey=*
    Response Attributes
    responsearray
    closestring

    The market close time on the holiday (if it's not closed).


    datestring

    The date of the holiday.


    exchangestring

    Which market the record is for.


    namestring

    The name of the holiday.


    openstring

    The market open time on the holiday (if it's not closed).


    statusstring

    The status of the market on the holiday.


    Was this helpful?
    Help us improve
    Response Object
    [
      {
        "date": "2020-11-26",
        "exchange": "NYSE",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "date": "2020-11-26",
        "exchange": "NASDAQ",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "date": "2020-11-26",
        "exchange": "OTC",
        "name": "Thanksgiving",
        "status": "closed"
      },
      {
        "close": "2020-11-27T18:00:00.000Z",
        "date": "2020-11-27",
        "exchange": "NASDAQ",
        "name": "Thanksgiving",
        "open": "2020-11-27T14:30:00.000Z",
        "status": "early-close"
      },
      {
        "close": "2020-11-27T18:00:00.000Z",
        "date": "2020-11-27",
        "exchange": "NYSE",
        "name": "Thanksgiving",
        "open": "2020-11-27T14:30:00.000Z",
        "status": "early-close"
      }
    ]

    Market Status

    get
    /v1/marketstatus/now

    Get the current trading status of the exchanges and overall financial markets.

    https://api.polygon.io/v1/marketstatus/now?apiKey=*
    Response Attributes
    afterHoursboolean

    Whether or not the market is in post-market hours.


    currenciesobject
    cryptostring

    The status of the crypto market.


    fxstring

    The status of the forex market.


    earlyHoursboolean

    Whether or not the market is in pre-market hours.


    exchangesobject
    nasdaqstring

    The status of the Nasdaq market.


    nysestring

    The status of the NYSE market.


    otcstring

    The status of the OTC market.


    indicesGroupsobject
    cccystring

    The status of Cboe Streaming Market Indices Cryptocurrency ("CCCY") indices trading hours.


    dow_jonesstring

    The status of Dow Jones indices trading hours


    ftse_russellstring

    The status of Financial Times Stock Exchange Group ("FTSE") Russell indices trading hours.


    mscistring

    The status of Morgan Stanley Capital International ("MSCI") indices trading hours.


    mstarstring

    The status of Morningstar ("MSTAR") indices trading hours.


    mstarc

    The status of Morningstar Customer ("MSTARC") indices trading hours.


    nasdaqstring

    The status of National Association of Securities Dealers Automated Quotations ("Nasdaq") indices trading hours.


    s_and_pstring

    The status of Standard & Poors's ("S&P") indices trading hours.


    societe_generalestring

    The status of Societe Generale indices trading hours.


    marketstring

    The status of the market as a whole.


    serverTimestring

    The current time of the server, returned as a date-time in RFC3339 format.


    Was this helpful?
    Help us improve
    Response Object
    {
      "afterHours": true,
      "currencies": {
        "crypto": "open",
        "fx": "open"
      },
      "earlyHours": false,
      "exchanges": {
        "nasdaq": "extended-hours",
        "nyse": "extended-hours",
        "otc": "closed"
      },
      "market": "extended-hours",
      "serverTime": "2020-11-10T17:37:37-05:00"
    }

    Conditions

    get
    /v3/reference/conditions

    List all conditions that Polygon.io uses.

    Parameters
  • Filter for conditions within a given asset class.

  • Filter by data type.

    Filter for conditions with a given ID.

  • Filter by SIP. If the condition contains a mapping for that SIP, the condition will be returned.

  • Order results based on the sort field.

    Limit the number of results returned, default is 10 and max is 1000.

  • Sort field used for ordering.

    https://api.polygon.io/v3/reference/conditions?apiKey=*
  • Response Attributes
    count*integer

    The total number of results for this request.


    next_urlstring

    If present, this value can be used to fetch the next page of data.


    request_id*string

    A request ID assigned by the server.


    results*array

    An array of conditions that match your query.

    abbreviationstring

    A commonly-used abbreviation for this condition.


    asset_class*enum [stocks, options, crypto, fx]

    An identifier for a group of similar financial instruments.


    data_types*array [string]

    Data types that this condition applies to.


    descriptionstring

    A short description of the semantics of this condition.


    exchangeinteger

    If present, mapping this condition from a Polygon.io code to a SIP symbol depends on this attribute. In other words, data with this condition attached comes exclusively from the given exchange.


    id*integer

    An identifier used by Polygon.io for this condition. Unique per data type.


    legacyboolean

    If true, this condition is from an old version of the SIPs' specs and no longer is used. Other conditions may or may not reuse the same symbol as this one.


    name*string

    The name of this condition.


    sip_mapping*object

    A mapping to a symbol for each SIP that has this condition.

    CTAstring

    OPRAstring

    UTPstring

    type*enum [sale_condition, quote_condition, sip_generated_flag, financial_status_indicator, short_sale_restriction_indicator, settlement_condition, market_condition, trade_thru_exempt]

    An identifier for a collection of related conditions.


    update_rulesobject

    A list of aggregation rules.

    consolidated*object

    Describes aggregation rules on a consolidated (all exchanges) basis.

    updates_high_low*boolean

    Whether or not trades with this condition update the high/low.


    updates_open_close*boolean

    Whether or not trades with this condition update the open/close.


    updates_volume*boolean

    Whether or not trades with this condition update the volume.


    market_center*object

    Describes aggregation rules on a per-market-center basis.

    updates_high_low*boolean

    Whether or not trades with this condition update the high/low.


    updates_open_close*boolean

    Whether or not trades with this condition update the open/close.


    updates_volume*boolean

    Whether or not trades with this condition update the volume.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": [
        {
          "asset_class": "stocks",
          "data_types": [
            "trade"
          ],
          "id": 2,
          "name": "Average Price Trade",
          "sip_mapping": {
            "CTA": "B",
            "UTP": "W"
          },
          "type": "condition",
          "update_rules": {
            "consolidated": {
              "updates_high_low": false,
              "updates_open_close": false,
              "updates_volume": true
            },
            "market_center": {
              "updates_high_low": false,
              "updates_open_close": false,
              "updates_volume": true
            }
          }
        }
      ],
      "status": "OK"
    }

    Exchanges

    get
    /v3/reference/exchanges

    List all exchanges that Polygon.io knows about.

    Parameters
  • Filter by asset class.

  • Filter by locale.

    https://api.polygon.io/v3/reference/exchanges?apiKey=*
  • Response Attributes
    countinteger

    The total number of results for this request.


    request_id*string

    A request ID assigned by the server.


    resultsarray
    acronymstring

    A commonly used abbreviation for this exchange.


    asset_class*enum [stocks, options, crypto, fx]

    An identifier for a group of similar financial instruments.


    id*integer

    A unique identifier used by Polygon.io for this exchange.


    locale*enum [us, global]

    An identifier for a geographical location.


    micstring

    The Market Identifer Code of this exchange (see ISO 10383).


    name*string

    Name of this exchange.


    operating_micstring

    The MIC of the entity that operates this exchange.


    participant_idstring

    The ID used by SIP's to represent this exchange.


    type*enum [exchange, TRF, SIP]

    Represents the type of exchange.


    urlstring

    A link to this exchange's website, if one exists.


    status*string

    The status of this request's response.


    Was this helpful?
    Help us improve
    Response Object
    {
      "count": 1,
      "request_id": "31d59dda-80e5-4721-8496-d0d32a654afe",
      "results": [
        {
          "acronym": "AMEX",
          "asset_class": "stocks",
          "id": 1,
          "locale": "us",
          "mic": "XASE",
          "name": "NYSE American, LLC",
          "operating_mic": "XNYS",
          "participant_id": "A",
          "type": "exchange",
          "url": "https://www.nyse.com/markets/nyse-american"
        }
      ],
      "status": "OK"
    }

    Options WebSocket Documentation

    The Polygon.io Options WebSocket API provides streaming access to the latest stock options market data from all US options exchanges. You can specify which channels you want to consume by sending instructions in the form of actions. Our WebSockets emit events to notify you when an event has occurred in a channel you've subscribed to.

    Our WebSocket APIs are based on entitlements that control which WebSocket Clusters you can connect to and which kinds of data you can access. You can login to see examples that include your API key and are personalized to your entitlements.

    Step 1: Connect

    With a premium Options plan, you will be able to use a single connection to the Options Cluster. If another connection attempts to connect to the Options Cluster simultaneously, the current connection will be disconnected. If you need more simultaneous connections to this cluster, you can contact support.

    Connecting to a cluster:

    Delayed:wscat -c wss://delayed.polygon.io/options
    Real-time:wscat -c wss://socket.polygon.io/options

    On connection you will receive the following message:

    [{
    	"ev":"status",
    	"status":"connected",
    	"message": "Connected Successfully"
    }]

    Step 2: Authenticate

    You must authenticate before you can make any other requests.

    {"action":"auth","params":"********"}

    On successful authentication you will receive the following message:

    [{
    	"ev":"status",
    	"status":"auth_success",
    	"message": "authenticated"
    }]

    Step 3: Subscribe

    Once authenticated, you can request a stream. You can request multiple streams in the same request.

    {"action":"subscribe","params":"AM.O:LPL211217C00002500"}

    You can also request multiple streams from the same cluster.

    {"action":"subscribe","params":"AM.O:LPL211217C00002500,AM.O:MSFT211203C00225000"}

    Usage

    Things happen very quickly in the world of finance, which means a Polygon.io WebSocket client must be able to handle many incoming messages per second. Due to the nature of the WebSocket protocol, if a client is slow to consume messages from the server, Polygon.io's server must buffer messages and send them only as fast as the client can consume them. To help prevent the message buffer from getting too long, Polygon.io may send more than one JSON object in a single WebSocket message. We accomplish this by wrapping all messages in a JSON array, and adding more objects to the array if the message buffer is getting longer. For example, consider a WebSocket message with a single trade event in it:

    [
        {"ev":"T","sym":"O:MSFT211203C00225000","x":325,"p":100.3,"s":1,"c":[209],"t":1638545640121,"q":466984517}
    ]

    If your client is consuming a bit slow, or 2+ events happened in very short succession, you may receive a single WebSocket message with more than one event inside it, like this:

    [
        {"ev":"T","sym":"O:MSFT211203C00225000","x":325,"p":100.3,"s":1,"c":[209],"t":1638545640121,"q":466984517},
        {"ev":"T","sym":"O:LPL211217C00002500","x":289,"p":73.3,"s":1,"c":[201],"t":46729026472345,"q":759205639}
    ]

    Note that if a client is consuming messages too slowly for too long, Polygon.io's server-side buffer may get too large. If that happens, Polygon.io will terminate the WebSocket connection. You can check your account dashboard to see if a connection was terminated as a slow consumer. If this happens to you consistently, consider subscribing to fewer symbols or channels.

    Aggregates (Per Minute)

    ws
    wss://delayed.polygon.io/options
    wss://socket.polygon.io/options

    Stream real-time minute aggregates for a given option contract.

    Parameters

    Specify an option contract or use * to subscribe to all option contracts. You can also use a comma separated list to subscribe to multiple option contracts. You can retrieve active options contracts from our Options Contracts API.

    {"action":"subscribe", "params":"AM.{ticker}"}
    Response Attributes
    evenum [AM]

    The event type.


    symstring

    The ticker symbol for the given option contract.


    vinteger

    The tick volume.


    avinteger

    Today's accumulated volume.


    opnumber

    Today's official opening price.


    vwnumber

    The tick's volume weighted average price.


    onumber

    The opening tick price for this aggregate window.


    cnumber

    The closing tick price for this aggregate window.


    hnumber

    The highest tick price for this aggregate window.


    lnumber

    The lowest tick price for this aggregate window.


    anumber

    Today's volume weighted average price.


    zinteger

    The average trade size for this aggregate window.


    sinteger

    The timestamp of the starting tick for this aggregate window in Unix Milliseconds.


    einteger

    The timestamp of the ending tick for this aggregate window in Unix Milliseconds.


    Was this helpful?
    Help us improve
    Response Object
    {
      "ev": "AM",
      "sym": "O:ONEM220121C00025000",
      "v": 2,
      "av": 8,
      "op": 2.2,
      "vw": 2.05,
      "o": 2.05,
      "c": 2.05,
      "h": 2.05,
      "l": 2.05,
      "a": 2.1312,
      "z": 2,
      "s": 1632419640000,
      "e": 1632419700000
    }

    Aggregates (Per Second)

    ws
    wss://delayed.polygon.io/options
    wss://socket.polygon.io/options

    Stream real-time second aggregates for a given option contract.

    Parameters

    Specify an option contract or use * to subscribe to all option contracts. You can also use a comma separated list to subscribe to multiple option contracts. You can retrieve active options contracts from our Options Contracts API.

    {"action":"subscribe", "params":"A.{ticker}"}
    Response Attributes
    evenum [A]

    The event type.


    symstring

    The ticker symbol for the given option contract.


    vinteger

    The tick volume.


    avinteger

    Today's accumulated volume.


    opnumber

    Today's official opening price.


    vwnumber

    The tick's volume weighted average price.


    onumber

    The opening tick price for this aggregate window.


    cnumber

    The closing tick price for this aggregate window.


    hnumber

    The highest tick price for this aggregate window.


    lnumber

    The lowest tick price for this aggregate window.


    anumber

    Today's volume weighted average price.


    zinteger

    The average trade size for this aggregate window.


    sinteger

    The timestamp of the starting tick for this aggregate window in Unix Milliseconds.


    einteger

    The timestamp of the ending tick for this aggregate window in Unix Milliseconds.


    Was this helpful?
    Help us improve
    Response Object
    {
      "ev": "AM",
      "sym": "O:ONEM220121C00025000",
      "v": 2,
      "av": 8,
      "op": 2.2,
      "vw": 2.05,
      "o": 2.05,
      "c": 2.05,
      "h": 2.05,
      "l": 2.05,
      "a": 2.1312,
      "z": 2,
      "s": 1632419640000,
      "e": 1632419700000
    }

    Trades

    ws
    wss://delayed.polygon.io/options
    wss://socket.polygon.io/options

    Stream real-time trades for a given option contract.

    Parameters

    Specify an option contract or use * to subscribe to all option contracts. You can also use a comma separated list to subscribe to multiple option contracts. You can retrieve active options contracts from our Options Contracts API.

    {"action":"subscribe", "params":"T.{ticker}"}
    Response Attributes
    evenum [T]

    The event type.


    symstring

    The ticker symbol for the given option contract.


    xinteger

    The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    pnumber

    The price.


    sinteger

    The trade size.


    carray [integer]

    The trade conditions


    tinteger

    The Timestamp in Unix MS.


    qinteger

    The sequence number represents the sequence in which trade events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).


    Was this helpful?
    Help us improve
    Response Object
    {
      "ev": "T",
      "sym": "O:AMC210827C00037000",
      "x": 65,
      "p": 1.54,
      "s": 1,
      "c": [
        233
      ],
      "t": 1629820676333,
      "q": 651921857
    }

    Quotes

    ws
    wss://delayed.polygon.io/options
    wss://socket.polygon.io/options

    Stream real-time quotes for a given option contract.

    Parameters

    Specify an option contract. You're only allowed to subscribe to 1,000 option contracts per connection. You can also use a comma separated list to subscribe to multiple option contracts. You can retrieve active options contracts from our Options Contracts API.

    {"action":"subscribe", "params":"Q.{ticker}"}
    Response Attributes
    evenum [Q]

    The event type.


    symstring

    The ticker symbol for the given option contract.


    bxinteger

    The bid exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    axinteger

    The ask exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.


    bpnumber

    The bid price.


    apnumber

    The ask price.


    bsinteger

    The bid size.


    asinteger

    The ask size.


    tinteger

    The Timestamp in Unix MS.


    qinteger

    The sequence number represents the sequence in which trade events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).


    Was this helpful?
    Help us improve
    Response Object
    {
      "ev": "Q",
      "sym": "O:SPY241220P00720000",
      "bx": 302,
      "ax": 302,
      "bp": 9.71,
      "ap": 9.81,
      "bs": 17,
      "as": 24,
      "t": 1644506128351,
      "q": 844090872
    }

    Fair Market Value

    ws
    wss://business.polygon.io/options

    Real-time fair market value for a given options ticker symbol.

    Parameters

    Specify an option contract. You're only allowed to subscribe to 1,000 option contracts per connection. You can also use a comma separated list to subscribe to multiple option contracts. You can retrieve active options contracts from our Options Contracts API.

    {"action":"subscribe", "params":"FMV.{ticker}"}
    Response Attributes
    evenum [FMV]

    The event type.


    fmv

    Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.


    sym

    The ticker symbol for the given security.


    t

    The nanosecond timestamp.


    Was this helpful?
    Help us improve
    Response Object
    {
      "ev": "FMV",
      "val": 7.2,
      "sym": "O:TSLA210903C00700000",
      "t": 1401715883806000000
    }
    All data provided on Polygon is provided for informational purposes only, and is not intended for trading or investing purposes. Polygon provides all information as is. You must not redistribute information displayed on or provided by Polygon. Stock prices displayed in the ticker are from a subset of exchanges, this price does not represent the real-time price from the SIP.

    © Polygon.io, Inc