Polygon · Capability
Polygon Options REST API — Snapshots
Options — Snapshots. 2 operations. Lead operation: Get Option Contract Snapshot. Self-contained Naftiko capability covering one Polygon business surface.
What You Can Do
GET
Getoptioncontractsnapshot
— Get Option Contract Snapshot
/v1/v3/snapshot/options/{underlying-asset}/{option-contract}
GET
Getoptionschainsnapshot
— Get Options Chain Snapshot
/v1/v3/snapshot/options/{underlying-asset}
MCP Tools
get-option-contract-snapshot
Get Option Contract Snapshot
read-only
idempotent
get-options-chain-snapshot
Get Options Chain Snapshot
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "Polygon Options REST API — Snapshots"
description: >-
Options — Snapshots. 2 operations. Lead operation: Get Option Contract Snapshot.
Self-contained Naftiko capability covering one Polygon business surface.
tags:
- Polygon
- Options
- Snapshots
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys:
POLYGON_API_KEY: POLYGON_API_KEY
capability:
consumes:
- type: http
namespace: "options-snapshots"
baseUri: "https://api.polygon.io"
description: "Polygon Options REST API — Snapshots business capability."
authentication:
type: bearer
token: "{{env.POLYGON_API_KEY}}"
resources:
- name: "snapshot-options-underlyingasset-optioncontract"
path: "/v3/snapshot/options/{underlyingAsset}/{optionContract}"
operations:
- name: "getOptionContractSnapshot"
method: GET
description: "Get Option Contract Snapshot"
inputParameters:
- name: "underlyingAsset"
in: path
type: string
required: true
- name: "optionContract"
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "snapshot-options-underlyingasset"
path: "/v3/snapshot/options/{underlyingAsset}"
operations:
- name: "getOptionsChainSnapshot"
method: GET
description: "Get Options Chain Snapshot"
inputParameters:
- name: "underlyingAsset"
in: path
type: string
required: true
- name: "strike_price"
in: query
type: number
required: false
- name: "expiration_date"
in: query
type: string
required: false
- name: "contract_type"
in: query
type: string
required: false
- name: "limit"
in: query
type: integer
required: false
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
exposes:
- type: rest
namespace: "options-snapshots-rest"
port: 8080
description: "REST adapter for Polygon Options REST API — Snapshots."
resources:
- path: "/v1/v3/snapshot/options/{underlying-asset}/{option-contract}"
name: "snapshot-options-underlyingasset-optioncontract"
description: "REST surface for snapshot-options-underlyingasset-optioncontract."
operations:
- method: GET
name: "getOptionContractSnapshot"
description: "Get Option Contract Snapshot"
call: "options-snapshots.getOptionContractSnapshot"
with:
underlyingAsset: "rest.underlyingAsset"
optionContract: "rest.optionContract"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/v3/snapshot/options/{underlying-asset}"
name: "snapshot-options-underlyingasset"
description: "REST surface for snapshot-options-underlyingasset."
operations:
- method: GET
name: "getOptionsChainSnapshot"
description: "Get Options Chain Snapshot"
call: "options-snapshots.getOptionsChainSnapshot"
with:
underlyingAsset: "rest.underlyingAsset"
strike_price: "rest.strike_price"
expiration_date: "rest.expiration_date"
contract_type: "rest.contract_type"
limit: "rest.limit"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "options-snapshots-mcp"
port: 9090
transport: http
description: "MCP adapter for Polygon Options REST API — Snapshots."
tools:
- name: "get-option-contract-snapshot"
description: "Get Option Contract Snapshot"
hints:
readOnly: true
destructive: false
idempotent: true
call: "options-snapshots.getOptionContractSnapshot"
with:
underlyingAsset: "tools.underlyingAsset"
optionContract: "tools.optionContract"
outputParameters:
- type: object
mapping: "$."
- name: "get-options-chain-snapshot"
description: "Get Options Chain Snapshot"
hints:
readOnly: true
destructive: false
idempotent: true
call: "options-snapshots.getOptionsChainSnapshot"
with:
underlyingAsset: "tools.underlyingAsset"
strike_price: "tools.strike_price"
expiration_date: "tools.expiration_date"
contract_type: "tools.contract_type"
limit: "tools.limit"
outputParameters:
- type: object
mapping: "$."