---
title: "US OPRA Options Contracts Security Master"
method: GET
path: "/v1/data/us-equity-opt-ref/contr-sec-master"
tags: ["us-equity-opt-ref-sec-master-lookups"]
---

# US OPRA Options Contracts Security Master

`GET /v1/data/us-equity-opt-ref/contr-sec-master`

The U.S. OPRA Options Contracts Security Master dataset provides a comprehensive reference record of all listed and delisted U.S. options contracts disseminated via OPRA, covering options on equities, ETFs, ETNs, indexes, and currencies from 2007 to the present. The dataset includes core contract specification fields such as option root symbol, underlying symbol, full contract ticker, option type (call/put), strike price, expiration date, and trading dates, enabling precise identification and historical tracking of individual option contracts across their full lifecycle. In addition, the dataset captures settlement and deliverable information for non-standard (adjusted) options, including deliverable components, cash settlement amounts, and settlement methods. Settlement detail coverage is available beginning in 2018, supporting accurate interpretation of contracts affected by corporate actions such as splits, mergers, spin-offs, or special dividends. This security master is designed to support options data normalization, contract resolution, lifecycle analysis, and downstream pricing and analytics workflows where authoritative contract metadata is required.

 For more details, please refer to the dataset documentation: [US OPRA Options Contracts Security Master Guide](https://us-options-reference-docs.s3.us-east-1.amazonaws.com/algoseek.US.OPRA.Options.Contracts.Security.Master.pdf).

<details>
<summary>**Advanced Filtering**</summary>

You can provide one or multiple filter expressions based on the dataset's columns to narrow down the results. For example, `StartDate.gt=2023-01-01&StartDate.lt=2023-12-31`, `Ticker=AAPL`. 

Please refer to the <a href="https://algoseek.com/docs/rest-api/tutorial/advanced-filtering">Advanced Filtering Guide</a> for the extensive reference.
</details>

## Query parameters

- `sort` string, nullable — Sorting criteria for the results. Provide a column name with optional prefix '+' for ascending order, or prefix with '-' for descending order. Multiple sorting fields may be supported depending on the dataset. If sort prefix is not provided, the ascending order is applied.
- `columns` string, nullable — A comma-separated list of columns to include in the response. Use this parameter to select only specific fields from the dataset. If not provided, all available columns will be returned.
- `offset` integer — Number of records to skip before returning results. To be used with the `limit` parameter for pagination. If not provided, defaults to 0.
- `limit` integer — Maximum number of records to return. Default and maximum values depend on the response format; see `format_limits` in the schema for details.
- `response_format` 'json' | 'csv' | 'csv_gzip' — Note the lowercase which is used for the consistency with other projects and tools

## Response `200`

JSON, CSV file, or gzip-compressed CSV file, depending on the value of `response_format` query parameter

- USOPRAOptionsContractsSecurityMasterDataOut
  - `data` USOPRAOptionsContractsSecurityMasterDataDetailsOut[], required
    - `ASID` integer, nullable — algoseek unique security identifier
    - `ContractTickers` string[], nullable — List of option contract tickers used
    - `ContractTradeDates` string[], nullable — Start and end dates for each option root ticker for a specific option contract. End date = 29991231 when the contract is still active
    - `StartTradeDate` string, date, nullable — Start date of the option contract
    - `Expiration` string, date, nullable — The expiration date of the option contract
    - `Type` string, nullable — Option type (Call or Put) displayed as C or P
    - `Strike` number, nullable — Fixed price for buying or selling an option contract
    - `OptionRootTickers` string[], nullable — List of option root tickers used
    - `UnderASID` integer, nullable — algoseek unique security identifier for equity
    - `UnderTickers` string[], nullable — List of underlying tickers used
    - `UnderTradeDates` string[], nullable — Start and end dates for each underlying ticker. End date = 29991231 when the ticker is still being used
    - `TotalDelivComponents` string[], nullable — The total number of components of delivery associated with the settlement of the traded non-standard option root ticker. If the non-standard root ticker changed, the field will have multiple number of components of delivery
    - `DeliveryComponents` string[], nullable — Specific components of delivery for the traded non-standard option root ticker
    - `SettlementMethod` string[], nullable — How exercise and assignment activity will be settled for the traded non-standard option root ticker
    - `StrikePercent` string[], nullable — The percentage of the strike price allocated for each settlement in the delivery, separated by space
    - `DeliverableUnits` string[], nullable — The per-contract number of deliverable units of cash, stocks, bonds, or currencies to be delivered or received upon settlement for the traded non-standard option root ticker, separated by space
    - `CashAmount` string[], nullable — The per-contract cash amount is to be allocated upon settlement for the traded non-standard option root ticker, separated by space
    - `IsStandard` string, nullable — Code to differentiate standard and non-standard options. Y - for standard options, N - for non-standard options
    - `NonStandardTradeDates` string[], nullable — Start and end dates for each non-standard option root ticker
  - `pagination` PaginationDetailsOut, required
    - `offset` integer — The number of records skipped to fetch the current page
    - `limit` integer, required — The maximum number of records in the current page
    - `next_offset` integer, nullable — The number of records to skip to fetch the next page

## Other responses

- `403` — Forbidden
- `422` — Validation Error
- `429` — Request rejected because the identity or team exceeded a configured monthly or per-minute usage quota. When available, the response includes rate-limit headers describing the current quota.

---

[API](https://skmtc.net/algoseek/apis/datasets-api.md) · [All operations](https://skmtc.net/algoseek/apis/datasets-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/algoseek/datasets-api/revisions/1c983de099e2/schema)
