> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arrays.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Option Chain

> **Feature Overview**
[OpenAPI JSON Spec](/docs/output/v1_options_chain_get.json)
Retrieve option chain data including pricing, Greeks, implied volatility, and underlying asset info. Supports filtering by stock ticker, option ticker, expiration date range, contract type, and strike price range.

**Supported Filter Parameters**

| Parameter | Type | Description | Example |
|-----------|------|-------------|---------|
| symbol | string | Stock ticker symbol (required) | "AAPL" |
| option_ticker | string | Option ticker symbol (optional) | "AAPL240315C00150000" |
| start_expiration_date | int64 | Start expiration date (Unix timestamp) | 1704067200 |
| end_expiration_date | int64 | End expiration date (Unix timestamp) | 1706745600 |
| contract_type | string | Contract type filter | "call" or "put" |
| min_strike_price | float64 | Minimum strike price | 100.0 |
| max_strike_price | float64 | Maximum strike price | 200.0 |
| cursor | string | Pagination cursor | "eyJleHBpcmF0aW9uX2RhdGUiOiI..." |
| limit | int64 | Maximum number of results (1-1000) | 50 |

**Response Data Structure**

Each option contract includes:
- **Contract Details**: ticker, contract type, exercise style, expiration date, shares per contract, strike price
- **Pricing Data**: break even price, fair market value (FMV), implied volatility
- **Greeks**: delta, gamma, theta, vega
- **Market Data**: open interest, daily price changes
- **Underlying Asset**: current price, change to break even, last updated

**Common Query Examples**

1. **All AAPL options**:
`?symbol=AAPL&limit=50`

2. **AAPL call options expiring in March 2024**:
`?symbol=AAPL&contract_type=call&start_expiration_date=1704067200&end_expiration_date=1706745600&limit=100`

3. **AAPL options with strike price between $150-$200**:
`?symbol=AAPL&min_strike_price=150&max_strike_price=200&limit=50`

4. **Specific option contract**:
`?symbol=AAPL&option_ticker=AAPL240315C00150000&limit=1`

**Pagination**

The API supports cursor-based pagination:
- Use the `cursor` field from the response to get the next page
- Set `limit` to control the number of results per page
- When no more results are available, the `cursor` field will be empty

**Important Notes**

- **Expired options are not included** in the response. If the specified expiration window is entirely in the past, the response will be an empty list
- All filter parameters are optional; if not provided, no filter is applied
- Date parameters use Unix timestamp in seconds
- Strike prices are in the same currency as the underlying stock
- Greeks and implied volatility are calculated using standard options pricing models
- Data is real-time or near real-time depending on market conditions
- min_strike_price must be <= max_strike_price when both are provided



## OpenAPI

````yaml /api-reference/openapi.json get /v1/options/chain
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Welcome to Arrays!


    Arrays is a unified financial data layer for both financial institutions and
    retail users, delivering comprehensive market data across crypto and equity
    markets. Our datasets cover fundamentals, ETFs, options, crypto, and more.


    Visit [arrays.org](https://arrays.org) to request an API key and start your
    free trial. You can explore our full API offerings in the documentation
    below.


    For any questions regarding APIs or pricing, please contact
    support@arrays.org.
  title: Arrays API
  version: '1.0'
servers:
  - url: https://data-tools.prd.arrays.org/api
security: []
paths:
  /v1/options/chain:
    get:
      tags:
        - Options
      summary: Get Option Chain
      description: >-
        **Feature Overview**

        [OpenAPI JSON Spec](/docs/output/v1_options_chain_get.json)

        Retrieve option chain data including pricing, Greeks, implied
        volatility, and underlying asset info. Supports filtering by stock
        ticker, option ticker, expiration date range, contract type, and strike
        price range.


        **Supported Filter Parameters**


        | Parameter | Type | Description | Example |

        |-----------|------|-------------|---------|

        | symbol | string | Stock ticker symbol (required) | "AAPL" |

        | option_ticker | string | Option ticker symbol (optional) |
        "AAPL240315C00150000" |

        | start_expiration_date | int64 | Start expiration date (Unix timestamp)
        | 1704067200 |

        | end_expiration_date | int64 | End expiration date (Unix timestamp) |
        1706745600 |

        | contract_type | string | Contract type filter | "call" or "put" |

        | min_strike_price | float64 | Minimum strike price | 100.0 |

        | max_strike_price | float64 | Maximum strike price | 200.0 |

        | cursor | string | Pagination cursor | "eyJleHBpcmF0aW9uX2RhdGUiOiI..."
        |

        | limit | int64 | Maximum number of results (1-1000) | 50 |


        **Response Data Structure**


        Each option contract includes:

        - **Contract Details**: ticker, contract type, exercise style,
        expiration date, shares per contract, strike price

        - **Pricing Data**: break even price, fair market value (FMV), implied
        volatility

        - **Greeks**: delta, gamma, theta, vega

        - **Market Data**: open interest, daily price changes

        - **Underlying Asset**: current price, change to break even, last
        updated


        **Common Query Examples**


        1. **All AAPL options**:

        `?symbol=AAPL&limit=50`


        2. **AAPL call options expiring in March 2024**:

        `?symbol=AAPL&contract_type=call&start_expiration_date=1704067200&end_expiration_date=1706745600&limit=100`


        3. **AAPL options with strike price between $150-$200**:

        `?symbol=AAPL&min_strike_price=150&max_strike_price=200&limit=50`


        4. **Specific option contract**:

        `?symbol=AAPL&option_ticker=AAPL240315C00150000&limit=1`


        **Pagination**


        The API supports cursor-based pagination:

        - Use the `cursor` field from the response to get the next page

        - Set `limit` to control the number of results per page

        - When no more results are available, the `cursor` field will be empty


        **Important Notes**


        - **Expired options are not included** in the response. If the specified
        expiration window is entirely in the past, the response will be an empty
        list

        - All filter parameters are optional; if not provided, no filter is
        applied

        - Date parameters use Unix timestamp in seconds

        - Strike prices are in the same currency as the underlying stock

        - Greeks and implied volatility are calculated using standard options
        pricing models

        - Data is real-time or near real-time depending on market conditions

        - min_strike_price must be <= max_strike_price when both are provided
      parameters:
        - description: Stock ticker symbol (uppercase)
          in: query
          name: symbol
          required: true
          schema:
            type: string
        - description: Option ticker symbol (uppercase)
          in: query
          name: option_ticker
          schema:
            type: string
        - description: Start expiration date (Unix timestamp in seconds)
          in: query
          name: start_expiration_date
          schema:
            type: integer
            format: int64
        - description: End expiration date (Unix timestamp in seconds)
          in: query
          name: end_expiration_date
          schema:
            type: integer
            format: int64
        - description: Contract type filter
          in: query
          name: contract_type
          schema:
            type: string
            enum:
              - put
              - call
        - description: Minimum strike price
          in: query
          name: min_strike_price
          schema:
            type: number
            format: float64
        - description: Maximum strike price
          in: query
          name: max_strike_price
          schema:
            type: number
            format: float64
        - description: Pagination cursor
          in: query
          name: cursor
          schema:
            type: string
        - description: Maximum number of results (1-1000)
          in: query
          name: limit
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Successfully retrieved option chain
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: '#/components/schemas/model.GetOptionChainResponse'
                        type: array
                    type: object
        '400':
          description: Invalid parameters
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
      security:
        - ApiKeyAuth: []
components:
  schemas:
    model.APIResponse:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/model.APIError'
        metadata: {}
        pagination: {}
        request_id:
          type: string
        success:
          type: boolean
      type: object
    model.GetOptionChainResponse:
      properties:
        cursor:
          type: string
        results:
          items:
            $ref: '#/components/schemas/model.OptionContractDetail'
          type: array
      type: object
    model.APIError:
      properties:
        code:
          example: RESOURCE_NOT_FOUND
          type: string
        details:
          items:
            $ref: '#/components/schemas/model.APIErrorDetail'
          type: array
        docs_url:
          type: string
        examples:
          items:
            type: string
          type: array
        hint:
          type: string
        message:
          example: The requested resource was not found.
          type: string
        suggestions:
          items:
            type: string
          type: array
      type: object
    model.OptionContractDetail:
      properties:
        break_even_price:
          type: number
        daily_data:
          $ref: '#/components/schemas/model.DailyData'
        details:
          $ref: '#/components/schemas/model.ContractDetails'
        fmv:
          type: number
        greeks:
          $ref: '#/components/schemas/model.Greeks'
        implied_volatility:
          type: number
        open_interest:
          type: integer
        underlying_asset:
          $ref: '#/components/schemas/model.UnderlyingAsset'
      type: object
    model.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
    model.DailyData:
      properties:
        change:
          type: number
        change_percent:
          type: number
        close:
          type: number
        high:
          type: number
        last_updated:
          type: integer
        low:
          type: number
        open:
          type: number
        previous_close:
          type: number
      type: object
    model.ContractDetails:
      properties:
        contract_type:
          type: string
        exercise_style:
          type: string
        expiration_date:
          type: string
        shares_per_contract:
          type: integer
        strike_price:
          type: number
        symbol:
          type: string
      type: object
    model.Greeks:
      properties:
        delta:
          type: number
        gamma:
          type: number
        theta:
          type: number
        vega:
          type: number
      type: object
    model.UnderlyingAsset:
      properties:
        change_to_break_even:
          type: number
        last_updated:
          type: integer
        price:
          type: number
        symbol:
          type: string
        timeframe:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````