Polygon Us Futures API
The us_futures API from Polygon — 8 operation(s) for us_futures.
The us_futures API from Polygon — 8 operation(s) for us_futures.
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/polygon-us-futures-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
description: The future of fintech.
title: Polygon Us Futures API
version: 1.0.0
servers:
- description: Polygon Platform API
url: https://api.polygon.io
- description: Polygon Platform API (Staging)
url: https://api.staging.polygon.io
security:
- apiKey: []
tags:
- name: us_futures
paths:
/futures/v1/contracts:
get:
description: 'The Contracts API provides a single source for discovering all listed futures contracts and retrieving complete contract specifications. You can query the full contract index with filters for product code, trade dates, active status, and date, returning key attributes such as ticker, first and last trade dates, days to maturity, exchange code, and order quantity limits in paginated form. The same API also returns the full specification for a single contract, including settlement dates, tick sizes, and other trading and risk related fields. Point-in-time lookups allow you to reconstruct the exact contract definition that applied on any given day.
Use Cases: Historical research, trading system integration, portfolio workflows, risk management.'
operationId: get_futures_v1_contracts
parameters:
- description: A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about contracts for the specified day. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date
schema:
type: string
- description: Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.gt
schema:
type: string
- description: Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.gte
schema:
type: string
- description: Filter less than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.lt
schema:
type: string
- description: Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.lte
schema:
type: string
- description: The identifier for the contract's product.
in: query
name: product_code
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: product_code.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: product_code.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: product_code.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: product_code.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: product_code.lte
schema:
type: string
- description: The ticker for the contract.
in: query
name: ticker
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: ticker.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: ticker.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: ticker.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: ticker.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: ticker.lte
schema:
type: string
- description: Whether or not a given contract was tradeable at the given point in time. Active is true when (first_trade_date <= date >= last_trade_date) and false otherwise.
in: query
name: active
schema:
type: boolean
- description: The type of contract, one of 'single' or 'combo'. Leaving this filter blank will query for contracts where type is 'single', 'combo' or empty. This field only exists on contracts as of 2025-03-12 and later. It will be null when date < 2025-03-12.
in: query
name: type
schema:
enum:
- single
- combo
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: type.any_of
schema:
enum:
- single
- combo
type: string
- description: The first day on which the contract was tradeable. Value must be formatted 'yyyy-mm-dd'.
in: query
name: first_trade_date
schema:
type: string
- description: Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: first_trade_date.gt
schema:
type: string
- description: Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: first_trade_date.gte
schema:
type: string
- description: Filter less than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: first_trade_date.lt
schema:
type: string
- description: Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: first_trade_date.lte
schema:
type: string
- description: The last day on which the contract was tradeable. Value must be formatted 'yyyy-mm-dd'.
in: query
name: last_trade_date
schema:
type: string
- description: Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: last_trade_date.gt
schema:
type: string
- description: Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: last_trade_date.gte
schema:
type: string
- description: Filter less than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: last_trade_date.lt
schema:
type: string
- description: Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: last_trade_date.lte
schema:
type: string
- description: Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '1000'.
in: query
name: limit
schema:
default: 100
maximum: 1000
minimum: 1
type: integer
- description: A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'product_code' if not specified. The sort order defaults to 'asc' if not specified.
in: query
name: sort
schema:
default: product_code.asc
type: string
responses:
'200':
content:
application/json:
example:
next_url: https://api.massive.com/futures/v1/contracts?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy
request_id: 000a000a0a0a000a0a0aa00a0a0000a0
results:
- active: true
date: '2025-02-26'
days_to_maturity: 138
first_trade_date: '2025-01-15'
group_code: CN
last_trade_date: '2025-07-14'
max_order_quantity: 1999
min_order_quantity: 1
name: 00CN5 Future
product_code: 00C
settlement_date: '2025-07-14'
settlement_tick_size: 0.0025
spread_tick_size: 0.0025
ticker: 00CN5
trade_tick_size: 0.0025
trading_venue: XCBT
type: single
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results for this request.
items:
properties:
active:
description: Whether or not a given contract was tradeable at the given point in time. Active is true when (first_trade_date <= date >= last_trade_date) and false otherwise.
type: boolean
date:
description: A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about contracts for the specified day.
format: date
type: string
days_to_maturity:
description: The number of calendar days between the 'date' and the contract's final settlement date.
format: int64
type: integer
first_trade_date:
description: The first day on which the contract was tradeable.
format: date
type: string
group_code:
description: An identifier used to identify logical groups of products. The group_code is only populated for contracts listed for trading on CME Globex.
type: string
last_trade_date:
description: The last day on which the contract was tradeable.
format: date
type: string
max_order_quantity:
description: The maximum order quantity.
format: int64
type: integer
min_order_quantity:
description: The minimum order quantity.
format: int64
type: integer
name:
description: The name of this contract.
type: string
product_code:
description: The identifier for the contract's product.
type: string
settlement_date:
description: The date on which this contract settles.
format: date
type: string
settlement_tick_size:
description: The tick size for settlement.
format: double
type: number
spread_tick_size:
description: The tick size for spreads.
format: double
type: number
ticker:
description: The ticker for the contract.
type: string
trade_tick_size:
description: The tick size for trades.
format: double
type: number
trading_venue:
description: The trading venue (MIC) for the exchange on which this contract trades.
type: string
type:
description: The type of contract, one of 'single' or 'combo'. Leaving this filter blank will query for contracts where type is 'single', 'combo' or empty. This field only exists on contracts as of 2025-03-12 and later. It will be null when date < 2025-03-12.
type: string
required:
- active
- date
type: object
type: array
status:
description: The status of this request's response.
enum:
- OK
type: string
required:
- status
- request_id
- results
type: object
description: A list of results.
'400':
content:
application/json:
schema:
properties:
error:
description: A message describing the source of the error.
type: string
request_id:
description: A request id assigned by the server.
type: string
status:
description: The status of this request's response.
enum:
- ERROR
type: string
required:
- status
- request_id
- error
type: object
description: An error message.
summary: futures contracts API
tags:
- us_futures
/futures/v1/exchanges:
get:
description: US futures exchanges and trading venues including major derivatives exchanges (CME, CBOT, NYMEX, COMEX) and other futures market infrastructure for commodity, financial, and other derivative contract trading.
operationId: get_futures_v1_exchanges
parameters:
- description: Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '1000'.
in: query
name: limit
schema:
default: 100
maximum: 1000
minimum: 1
type: integer
responses:
'200':
content:
application/json:
example:
count: 1
request_id: 1
results:
- acronym: CME
id: '4'
locale: US
mic: XCME
name: Chicago Mercantile Exchange
operating_mic: XCME
type: exchange
url: https://cmegroup.com
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results for this request.
items:
properties:
acronym:
description: Well-known acronym for the exchange (e.g., 'CME', 'NYMEX', 'CBOT', 'COMEX').
type: string
id:
description: Numeric identifier for the futures exchange or trading venue.
type: string
locale:
description: Geographic location code where the exchange operates.
type: string
mic:
description: Market Identifier Code (MIC) - ISO 10383 standard four-character code for the futures market.
type: string
name:
description: Full official name of the futures exchange (e.g., 'Chicago Mercantile Exchange', 'New York Mercantile Exchange').
type: string
operating_mic:
description: Operating Market Identifier Code for the futures exchange.
type: string
type:
description: Type of venue - 'exchange' for futures exchanges and derivatives trading platforms.
type: string
url:
description: Official website URL of the futures exchange organization.
type: string
required:
- id
- type
- name
type: object
type: array
status:
description: The status of this request's response.
enum:
- OK
type: string
required:
- status
- request_id
- results
type: object
description: A list of results.
'400':
content:
application/json:
schema:
properties:
error:
description: A message describing the source of the error.
type: string
request_id:
description: A request id assigned by the server.
type: string
status:
description: The status of this request's response.
enum:
- ERROR
type: string
required:
- status
- request_id
- error
type: object
description: An error message.
tags:
- us_futures
/futures/v1/market-status:
get:
description: 'Retrieve the current market status for a specific product or products. This endpoint returns real-time indicators, such as open, pause, close, for futures products, along with the corresponding exchange and product codes and an evaluation timestamp. This information enables users to monitor operational conditions and adjust their trading strategies accordingly.
Use Cases: Real-time monitoring, algorithm scheduling, UI updates, operational planning.'
operationId: get_futures_v1_market-status
parameters:
- description: The product code of the futures contracts for which you want statuses.
in: query
name: product_code
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: product_code.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: product_code.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: product_code.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: product_code.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: product_code.lte
schema:
type: string
- description: Limit the maximum number of results returned. Defaults to '10' if not specified. The maximum allowed limit is '100'.
in: query
name: limit
schema:
default: 10
maximum: 100
minimum: 1
type: integer
responses:
'200':
content:
application/json:
example:
request_id: 445ebfcfe5bb4b688b7971e1600c952d
results:
- market_event: open
name: ERCOT North 345 kV Hub Day-Ahead 5 MW Off-Peak Futures
product_code: ERL
session_end_date: '2025-12-05'
timestamp: '2025-12-04T23:00:00+00:00'
trading_venue: XNYM
status: OK
schema:
properties:
next_url:
description: If present, this value can be used to fetch the next page.
type: string
request_id:
description: A request id assigned by the server.
type: string
results:
description: The results for this request.
items:
properties:
market_event:
description: The current status of the market for the product.
type: string
name:
description: The name of the futures product.
type: string
product_code:
description: The product code of the futures contracts for which you want statuses.
type: string
session_end_date:
description: The trading date for the current session.
format: date
type: string
timestamp:
description: The timestamp for the given market event.
type: string
trading_venue:
description: The trading venue (MIC) for the exchange on which the corresponding product trades.
type: string
type: object
type: array
status:
description: The status of this request's response.
enum:
- OK
type: string
required:
- status
- request_id
- results
type: object
description: A list of results.
'400':
content:
application/json:
schema:
properties:
error:
description: A message describing the source of the error.
type: string
request_id:
description: A request id assigned by the server.
type: string
status:
description: The status of this request's response.
enum:
- ERROR
type: string
required:
- status
- request_id
- error
type: object
description: An error message.
summary: Market Status API
tags:
- us_futures
/futures/v1/products:
get:
description: 'The Products API is a unified source for discovering all supported futures products and retrieving full product specifications. It returns the complete product universe with product codes, names, exchange identifiers, sector and asset class classifications, product type, settlement method, and pricing and quotation details. You can filter by name, exchange, sector, asset class, product type, or date to capture the product set or product definition that existed at a specific point in time. It also retrieves the full specification for a single product, supporting accurate system configuration, analytics, trading workflows, and historical reconciliation.
Use Cases: Product specification, historical product checks, risk management, trading system integration.'
operationId: get_futures_v1_products
parameters:
- description: The full name of the product.
in: query
name: name
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: name.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: name.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: name.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: name.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: name.lte
schema:
type: string
- description: The identifier for the product.
in: query
name: product_code
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: product_code.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: product_code.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: product_code.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: product_code.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: product_code.lte
schema:
type: string
- description: A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date
schema:
type: string
- description: Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.gt
schema:
type: string
- description: Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.gte
schema:
type: string
- description: Filter less than the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.lt
schema:
type: string
- description: Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.
in: query
name: date.lte
schema:
type: string
- description: The trading venue (MIC) for the exchange on which this product's contracts trade.
in: query
name: trading_venue
schema:
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: trading_venue.any_of
schema:
type: string
- description: Filter greater than the value.
in: query
name: trading_venue.gt
schema:
type: string
- description: Filter greater than or equal to the value.
in: query
name: trading_venue.gte
schema:
type: string
- description: Filter less than the value.
in: query
name: trading_venue.lt
schema:
type: string
- description: Filter less than or equal to the value.
in: query
name: trading_venue.lte
schema:
type: string
- description: The sector to which the product belongs.
in: query
name: sector
schema:
enum:
- asia
- base
- biofuels
- coal
- cross_rates
- crude_oil
- custom_index
- dairy
- dj_ubs_ci
- electricity
- emissions
- europe
- fertilizer
- forestry
- grains_and_oilseeds
- intl_index
- liq_nat_gas_lng
- livestock
- long_term_gov
- long_term_non_gov
- majors
- minors
- nat_gas
- nat_gas_liq_petro
- precious
- refined_products
- s_and_p_gsci
- sel_sector_index
- short_term_gov
- short_term_non_gov
- softs
- us
- us_index
- wet_bulk
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: sector.any_of
schema:
enum:
- asia
- base
- biofuels
- coal
- cross_rates
- crude_oil
- custom_index
- dairy
- dj_ubs_ci
- electricity
- emissions
- europe
- fertilizer
- forestry
- grains_and_oilseeds
- intl_index
- liq_nat_gas_lng
- livestock
- long_term_gov
- long_term_non_gov
- majors
- minors
- nat_gas
- nat_gas_liq_petro
- precious
- refined_products
- s_and_p_gsci
- sel_sector_index
- short_term_gov
- short_term_non_gov
- softs
- us
- us_index
- wet_bulk
type: string
- description: The sub-sector to which the product belongs.
in: query
name: sub_sector
schema:
enum:
- asian
- canadian
- cat
- cooling_degree_days
- ercot
- european
- gulf
- heating_degree_days
- iso_ne
- large_cap_index
- mid_cap_index
- miso
- north_american
- nyiso
- pjm
- small_cap_index
- west
- western_power
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: sub_sector.any_of
schema:
enum:
- asian
- canadian
- cat
- cooling_degree_days
- ercot
- european
- gulf
- heating_degree_days
- iso_ne
- large_cap_index
- mid_cap_index
- miso
- north_american
- nyiso
- pjm
- small_cap_index
- west
- western_power
type: string
- description: The asset class to which the product belongs.
in: query
name: asset_class
schema:
enum:
- alt_investment
- commodity
- financials
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: asset_class.any_of
schema:
enum:
- alt_investment
- commodity
- financials
type: string
- description: The asset sub-class to which the product belongs.
in: query
name: asset_sub_class
schema:
enum:
- agricultural
- commodity_index
- energy
- equity
- foreign_exchange
- freight
- housing
- interest_rate
- metals
- weather
type: string
- description: Filter equal to any of the values. Multiple values can be specified by using a comma separated list.
in: query
name: asset_sub_class.any_of
schema:
enum:
- agricultural
- commodity_index
- energy
- equity
- foreign_exchange
- freight
- housing
- interest_rate
- metals
- weather
type: string
- description: The type of product, one of 'single' or 'combo'. Leaving this filter blank will query for both 's
# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/polygon/refs/heads/main/openapi/polygon-us-futures-api-openapi.yml