Tradytics Options contracts API
The Options contracts API from Tradytics — 6 operation(s) for options contracts.
The Options contracts API from Tradytics — 6 operation(s) for options contracts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tradytics:tradytics-options-contracts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Tradytics Options contracts API
version: '1.0'
description: 'Operations tagged Options contracts across 2 of this provider''s published API definitions: tradytics-openapi.json, tradytics-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/public/v1
security:
- apiKey: []
tags:
- name: Options contracts
paths:
/options/chain:
get:
tags:
- Options contracts
summary: Option chain
operationId: chain_options_chain_get
parameters:
- name: symbol
in: query
required: true
schema:
description: Underlying, e.g. `AAPL`.
title: Symbol
type: string
description: Underlying, e.g. `AAPL`.
- name: expiry
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One expiry, `YYYY-MM-DD`.
title: Expiry
description: One expiry, `YYYY-MM-DD`.
- name: type
in: query
required: false
schema:
anyOf:
- enum:
- call
- put
type: string
- type: 'null'
description: '`call` or `put`.'
title: Type
description: '`call` or `put`.'
- name: min_dte
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: Fewest days to expiry.
title: Min Dte
description: Fewest days to expiry.
- name: max_dte
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: Most days to expiry.
title: Max Dte
description: Most days to expiry.
- name: min_strike
in: query
required: false
schema:
anyOf:
- type: number
exclusiveMinimum: 0
- type: 'null'
description: Lowest strike.
title: Min Strike
description: Lowest strike.
- name: max_strike
in: query
required: false
schema:
anyOf:
- type: number
exclusiveMinimum: 0
- type: 'null'
description: Highest strike.
title: Max Strike
description: Highest strike.
- name: min_otm_pct
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
description: 'Least out of the money, % (negative: in the money).'
title: Min Otm Pct
description: 'Least out of the money, % (negative: in the money).'
- name: max_otm_pct
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
description: Most out of the money, %.
title: Max Otm Pct
description: Most out of the money, %.
- name: min_delta
in: query
required: false
schema:
anyOf:
- type: number
maximum: 1
minimum: 0
- type: 'null'
description: Lowest absolute delta.
title: Min Delta
description: Lowest absolute delta.
- name: max_delta
in: query
required: false
schema:
anyOf:
- type: number
maximum: 1
minimum: 0
- type: 'null'
description: Highest absolute delta.
title: Max Delta
description: Highest absolute delta.
- name: date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One session, `YYYY-MM-DD` (New York).
title: Date
description: One session, `YYYY-MM-DD` (New York).
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
default: 100
title: Limit
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: '`next_cursor` from the previous page.'
title: Cursor
description: '`next_cursor` from the previous page.'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
/options/expirations:
get:
tags:
- Options contracts
summary: Expirations
operationId: expirations_options_expirations_get
parameters:
- name: symbol
in: query
required: true
schema:
description: Underlying, e.g. `AAPL`.
title: Symbol
type: string
description: Underlying, e.g. `AAPL`.
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
/options/contracts:
get:
tags:
- Options contracts
summary: Contracts
operationId: contracts_options_contracts_get
parameters:
- name: symbol
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One or more underlyings, comma separated. Default the whole market.
title: Symbol
description: One or more underlyings, comma separated. Default the whole market.
- name: sort
in: query
required: false
schema:
enum:
- volume
- premium
- iv
- iv_change
- open_interest
- open_interest_change
type: string
default: volume
title: Sort
- name: order
in: query
required: false
schema:
enum:
- desc
- asc
type: string
default: desc
title: Order
- name: type
in: query
required: false
schema:
anyOf:
- enum:
- call
- put
type: string
- type: 'null'
description: '`call` or `put`.'
title: Type
description: '`call` or `put`.'
- name: expiry
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One expiry, `YYYY-MM-DD`.
title: Expiry
description: One expiry, `YYYY-MM-DD`.
- name: min_dte
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: Fewest days to expiry.
title: Min Dte
description: Fewest days to expiry.
- name: max_dte
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: Most days to expiry.
title: Max Dte
description: Most days to expiry.
- name: min_otm_pct
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
description: 'Least out of the money, % (negative: in the money).'
title: Min Otm Pct
description: 'Least out of the money, % (negative: in the money).'
- name: max_otm_pct
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
description: Most out of the money, %.
title: Max Otm Pct
description: Most out of the money, %.
- name: min_delta
in: query
required: false
schema:
anyOf:
- type: number
maximum: 1
minimum: 0
- type: 'null'
description: Lowest absolute delta.
title: Min Delta
description: Lowest absolute delta.
- name: max_delta
in: query
required: false
schema:
anyOf:
- type: number
maximum: 1
minimum: 0
- type: 'null'
description: Highest absolute delta.
title: Max Delta
description: Highest absolute delta.
- name: min_volume
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
title: Min Volume
- name: min_open_interest
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
title: Min Open Interest
- name: min_price
in: query
required: false
schema:
anyOf:
- type: number
minimum: 0
- type: 'null'
title: Min Price
- name: max_price
in: query
required: false
schema:
anyOf:
- type: number
minimum: 0
- type: 'null'
title: Max Price
- name: date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One session, `YYYY-MM-DD` (New York).
title: Date
description: One session, `YYYY-MM-DD` (New York).
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
default: 100
title: Limit
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: '`next_cursor` from the previous page.'
title: Cursor
description: '`next_cursor` from the previous page.'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
/options/contracts/{contract}:
get:
tags:
- Options contracts
summary: Contract
operationId: one_options_contracts__contract__get
parameters:
- name: contract
in: path
required: true
schema:
type: string
description: OCC symbol, e.g. `NVDA261218C00150000` (`O:` prefix optional).
title: Contract
description: OCC symbol, e.g. `NVDA261218C00150000` (`O:` prefix optional).
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
/options/contracts/{contract}/bars:
get:
tags:
- Options contracts
summary: Contract bars
operationId: contract_bars_options_contracts__contract__bars_get
parameters:
- name: contract
in: path
required: true
schema:
type: string
description: OCC symbol, e.g. `NVDA261218C00150000` (`O:` prefix optional).
title: Contract
description: OCC symbol, e.g. `NVDA261218C00150000` (`O:` prefix optional).
- name: timeframe
in: query
required: false
schema:
enum:
- 1m
- 5m
- 15m
- 1h
- 1d
type: string
default: 1d
title: Timeframe
- name: from
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'Start: `YYYY-MM-DD` or an RFC 3339 time.'
title: From
description: 'Start: `YYYY-MM-DD` or an RFC 3339 time.'
- name: to
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'End: `YYYY-MM-DD` or an RFC 3339 time. Default now.'
title: To
description: 'End: `YYYY-MM-DD` or an RFC 3339 time. Default now.'
- name: limit
in: query
required: false
schema:
type: integer
maximum: 5000
minimum: 1
default: 500
title: Limit
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: '`next_cursor` from the previous page.'
title: Cursor
description: '`next_cursor` from the previous page.'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
/options/open-interest:
get:
tags:
- Options contracts
summary: Open interest
operationId: open_interest_options_open_interest_get
parameters:
- name: symbol
in: query
required: true
schema:
description: Underlying, e.g. `AAPL`.
title: Symbol
type: string
description: Underlying, e.g. `AAPL`.
- name: by
in: query
required: false
schema:
enum:
- strike
- expiry
type: string
default: strike
title: By
- name: expiry
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One expiry, `YYYY-MM-DD`.
title: Expiry
description: One expiry, `YYYY-MM-DD`.
- name: date
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: One session, `YYYY-MM-DD` (New York).
title: Date
description: One session, `YYYY-MM-DD` (New York).
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
default: 1000
title: Limit
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: '`next_cursor` from the previous page.'
title: Cursor
description: '`next_cursor` from the previous page.'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Invalid or missing request parameters
servers:
- url: /api/public/v1
components:
securitySchemes:
apiKey:
type: apiKey
in: query
name: apiKey
x-refined-from:
- tradytics-openapi.json
- tradytics-openapi.json
x-provenance:
method: harvested
publisher: Tradytics
source: https://tradytics.com/api/public/v1/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)