Overview
Returns a list of option chains associated with a specific underlier.
Description
This API returns a list of option chains for a specific underlying instrument. The request must specify an instrument, the month the option expires, and whether you are interested in calls, puts, or both. Values returned include the option pair count and information about each option pair, including the type, call count, symbol, product, date, and strike price.
URL
https://etws.etrade.com/market/rest/optionchains
HTTP Method: GET
Request Parameters
Parameter Type Required? Description
chainType enum required The type of option chain. Possible values are: CALL, PUT, or CALLPUT (i.e., both calls and puts).
expirationMonth integer required The month the option will expire
expirationYear integer required The year the option will expire
underlier string required The market symbol for the underlying security
skipAdjusted boolean optional Specifies whether to show (TRUE) or not show (FALSE) adjusted options, i.e., options that have undergone a change resulting in a modification of the option contract. Default value is TRUE.
Response Properties
Property Type Description
optionPairCount integer The number of option pairs returned
optionPairs complex Container for an option pair. There will be one of these for each option pair in the response.
callCount (or putCount) integer The number of call or put objects in this container
pairType string Determines whether the response will contain calls, puts, or both. Possible values are: CALLONLY, PUTONLY, or CALLPUT.
call (or put) complex Container for a call or put. There are typically more than one of these in a response - check callCount or putCount for the count.
   rootSymbol string The underlier for the option as originally contracted, e.g., GOOG. For adjusted options, this root symbol may not match the current symbol.
   expireDate complex Container for information on the expiration date
      day integer Expiration day as a day of the month
   month integer Expiration month as number
   year integer Four-digit expiration year
   expiryType string Expiry type of the option. Possible values are: QUARTERLY or MONTHLY
product complex A container for information on the product specified in this option
   exchangeCode string The primary exchange where the option is traded
   symbol string The market symbol for the option, formatted as the stock symbol, expiration date, price, "Put" or "Call", and expiry type - "q" (quarterly), or neither (monthly). For example, "GOOG Jan 07 '11 $660 Call".
   typeCode string Value is always OPTN. Supported for legacy purposes.
strikePrice double The agreed strike price for the option, as stated in the contract
callCount (or putCount) integer The number of call or put objects in this response
symbol string The market symbol for the instrument, e.g., GOOG
Sample Request
GET https://etws.etrade.com/market/rest/optionchains?expirationMonth=04&expirationYear=2011&chainType=PUT&skipAdjusted=true&underlier=GOOG
Sample Response - XML
<OptionChainResponse>
  <optionPairCount>2</optionPairCount>
  <optionPairs>
    <call>
      <rootSymbol>GOOG</rootSymbol>
      <expireDate>
        <day>7</day>
        <month>1</month>
        <year>2011</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOOG Jan 07 '11 $540 Call w</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>540.000000</strikePrice>
    </call>
    <callCount>1</callCount>
    <pairType>CALLPUT</pairType>
    <put>
      <rootSymbol>GOOG</rootSymbol>
      <expireDate>
        <day>7</day>
        <month>1</month>
        <year>2011</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOOG Jan 07 '11 $540 Put w</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>540.000000</strikePrice>
    </put>
    <putCount>1</putCount>
  </optionPairs>
  <optionPairs>
    <call>
      <rootSymbol>GOOG</rootSymbol>
      <expireDate>
        <day>7</day>
        <month>1</month>
        <year>2011</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOOG Jan 07 '11 $660 Call w</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>660.000000</strikePrice>
    </call>
    <callCount>1</callCount>
    <pairType>CALLPUT</pairType>
    <put>
      <rootSymbol>GOOG</rootSymbol>
      <expireDate>
        <day>7</day>
        <month>1</month>
        <year>2011</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOOG Jan 07 '11 $660 Put w</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>660.000000</strikePrice>
    </put>
    <putCount>1</putCount>
  </optionPairs>
  <symbol>goog</symbol>
</OptionChainResponse>
Sample response - JSON
{
  "OptionChainResponse": {
    "optionPairCount": "2",
    "optionPairs": [
      {
        "call": {
          "rootSymbol": "GOOG",
          "expireDate": {
            "day": "7",
            "month": "1",
            "year": "2011",
            "expiryType": "MONTHLY"
          },
          "product": {
            "exchangeCode": "CINC",
            "symbol": "GOOG Jan 07 '11 $540 Call w",
            "typeCode": "OPTN"
          },
          "strikePrice": "540.000000"
        },
        "callCount": "1",
        "pairType": "CALLPUT",
        "put": {
          "rootSymbol": "GOOG",
          "expireDate": {
            "day": "7",
            "month": "1",
            "year": "2011",
            "expiryType": "MONTHLY"
          },
          "product": {
            "exchangeCode": "CINC",
            "symbol": "GOOG Jan 07 '11 $540 Put w",
            "typeCode": "OPTN"
          },
          "strikePrice": "540.000000"
        },
        "putCount": "1"
      },
      {
        "call": {
          "rootSymbol": "GOOG",
          "expireDate": {
            "day": "7",
            "month": "1",
            "year": "2011",
            "expiryType": "MONTHLY"
          },
          "product": {
            "exchangeCode": "CINC",
            "symbol": "GOOG Jan 07 '11 $660 Call w",
            "typeCode": "OPTN"
          },
          "strikePrice": "660.000000"
        },
        "callCount": "1",
        "pairType": "CALLPUT",
        "put": {
          "rootSymbol": "GOOG",
          "expireDate": {
            "day": "7",
            "month": "1",
            "year": "2011",
            "expiryType": "MONTHLY"
          },
          "product": {
            "exchangeCode": "CINC",
            "symbol": "GOOG Jan 07 '11 $660 Put w",
            "typeCode": "OPTN"
          },
          "strikePrice": "660.000000"
        },
        "putCount": "1"
      }
    ],
    "symbol": "goog"
  }
}
Sample use cases
Some possible use-cases and workflows are described below.
Purpose Workflow Related APIs
Options display Create a table of options for a desired security by requesting option data (with Get Option Chains), grouping it by dates (from Get Option Expire Dates), sorting each group, and displaying the result. Get Option Chains, Get Option Expire Dates, Get Quote
Sandbox Samples
Request
GET https://etwssandbox.etrade.com/market/sandbox/rest/optionchains?chainType=PUT&expirationMonth=1&expirationYear=2013&underlier=GOOG
Response
<OptionChainResponse>
  <optionPairCount>2</optionPairCount>
  <optionPairs>
    <callCount>0</callCount>
    <pairType>PUTONLY</pairType>
    <put>
      <rootSymbol>GOU</rootSymbol>
      <expireDate>
        <day>20</day>
        <month>3</month>
        <year>2010</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOU Mar 20 '10 $240 Put</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>240.000000</strikePrice>
    </put>
    <putCount>1</putCount>
  </optionPairs>
  <optionPairs>
    <callCount>0</callCount>
    <pairType>PUTONLY</pairType>
    <put>
      <rootSymbol>GOU</rootSymbol>
      <expireDate>
        <day>20</day>
        <month>3</month>
        <year>2010</year>
        <expiryType>MONTHLY</expiryType>
      </expireDate>
      <product>
        <exchangeCode>CINC</exchangeCode>
        <symbol>GOU Mar 20 '10 $250 Put</symbol>
        <typeCode>OPTN</typeCode>
      </product>
      <strikePrice>250.000000</strikePrice>
    </put>
    <putCount>1</putCount>
  </optionPairs>
  <symbol>GOOG</symbol>
</OptionChainResponse>
Related APIs

Get Option Expire Dates, Get Quote

PLEASE READ THE IMPORTANT DISCLOSURES BELOW

By using E*TRADE API ("API") and accepting the terms of the Application Programming Interface License Agreement and the Application Programming Interface User Agreement, you agree that API may employ security policies, procedures and systems of Third Party providers which may or may not be less stringent and secure than the policies, procedures and systems of E*TRADE Securities LLC ("E*TRADE") or its affiliates. Material provided on API may have been produced by independent third parties not affiliated or endorsed by E*TRADE or its affiliates ("Third Party"). To the extent that API or Third Party providers express opinions or make recommendations, you understand that such opinions or recommendations are expressed by the Third Party provider and are not the opinions or recommendations of E*TRADE or its affiliates. E*TRADE is not responsible for the accuracy of market data displayed on API or made available by Third Party providers. There may be latency between the time an order (or other information) is submitted from API and the time the order is received by E*TRADE. The E*TRADE Two Second Execution Guarantee or any similar guarantee does not apply for orders placed through API and Third Party provider web sites. The E*TRADE CompleteTM Protection Guarantee does not apply. Orders created and submitted through API are not vetted until they are received by E*TRADE. It is possible that E*TRADE may reject an order placed through API. Please see the Application Programming Interface License Agreement and the Application Programming Interface User Agreement for more information.


The E*TRADE family of companies provides financial services including trading, investing, and related banking products and services to retail investors.


Securities products and services offered by E*TRADE Securities LLC, Member FINRA/SIPC.


System response and account access times may vary due to a variety of factors, including trading volumes, market conditions, system performance, and other factors.