> ## 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 Options K-line (OHLCV) data

> [OpenAPI JSON Spec](/docs/output/v1_options_kline_get.json)
Retrieve options OHLCV + VWAP candlestick data for a specific contract.

**Options ticker format (OCC):** `O:{UNDERLYING}{YYMMDD}{C/P}{STRIKE}` e.g. `O:SPY260620C00570000`

**Data source:** Polygon.io flat files (historical, T+1) + REST API (today, on-demand backfill). VWAP computed from trades data (historical) or Polygon aggregates (today).

**Interval routing:**
- `1min`: Raw 1-minute bars
- `2min`–`10min`: Aggregated from 1-minute data
- `15min`: Raw 15-minute bars
- `30min`–`4h`: Aggregated from 15-minute data
- `1d`: Raw daily bars
- `1w`, `1m`: Aggregated from daily data

**Response fields:**
- `options_ticker`: OCC-format options ticker
- `underlying_symbol`: Underlying stock symbol
- `time_open`: Period start (Unix timestamp seconds)
- `time_close`: Period end (Unix timestamp seconds)
- `price_open`, `price_high`, `price_low`, `price_close`: OHLC prices
- `volume_traded`: Trading volume
- `trades_count`: Number of trades
- `vwap`: Volume-weighted average price



## OpenAPI

````yaml /api-reference/openapi.json get /v1/options/kline
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/kline:
    get:
      tags:
        - Options
      summary: Get Options K-line (OHLCV) data
      description: >-
        [OpenAPI JSON Spec](/docs/output/v1_options_kline_get.json)

        Retrieve options OHLCV + VWAP candlestick data for a specific contract.


        **Options ticker format (OCC):** `O:{UNDERLYING}{YYMMDD}{C/P}{STRIKE}`
        e.g. `O:SPY260620C00570000`


        **Data source:** Polygon.io flat files (historical, T+1) + REST API
        (today, on-demand backfill). VWAP computed from trades data (historical)
        or Polygon aggregates (today).


        **Interval routing:**

        - `1min`: Raw 1-minute bars

        - `2min`–`10min`: Aggregated from 1-minute data

        - `15min`: Raw 15-minute bars

        - `30min`–`4h`: Aggregated from 15-minute data

        - `1d`: Raw daily bars

        - `1w`, `1m`: Aggregated from daily data


        **Response fields:**

        - `options_ticker`: OCC-format options ticker

        - `underlying_symbol`: Underlying stock symbol

        - `time_open`: Period start (Unix timestamp seconds)

        - `time_close`: Period end (Unix timestamp seconds)

        - `price_open`, `price_high`, `price_low`, `price_close`: OHLC prices

        - `volume_traded`: Trading volume

        - `trades_count`: Number of trades

        - `vwap`: Volume-weighted average price
      parameters:
        - description: Underlying symbol (e.g. SPY, AAPL)
          in: query
          name: symbol
          required: true
          schema:
            type: string
        - description: OCC-format options ticker (e.g. O:SPY260620C00570000)
          in: query
          name: options_ticker
          required: true
          schema:
            type: string
        - description: Interval
          in: query
          name: interval
          required: true
          schema:
            type: string
            enum:
              - 1min
              - 2min
              - 3min
              - 5min
              - 10min
              - 15min
              - 30min
              - 45min
              - 1h
              - 2h
              - 4h
              - 1d
              - 1w
              - 1m
        - description: Start time (Unix seconds)
          in: query
          name: start_time
          required: true
          schema:
            type: integer
        - description: End time (Unix seconds)
          in: query
          name: end_time
          required: true
          schema:
            type: integer
        - description: Limit (default 500, max 10000)
          in: query
          name: limit
          schema:
            type: integer
      responses:
        '200':
          description: Options kline data
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: '#/components/schemas/model.OptionsKlineData'
                        type: array
                    type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '500':
          description: Server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $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.OptionsKlineData:
      properties:
        options_ticker:
          type: string
        price_close:
          type: number
        price_high:
          type: number
        price_low:
          type: number
        price_open:
          type: number
        time_close:
          type: integer
        time_open:
          type: integer
        trades_count:
          type: integer
        underlying_symbol:
          type: string
        volume_traded:
          type: number
        vwap:
          type: number
      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.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````