tastytradeDeveloper Docs
Legacy ↗

API Reference / Instruments

Get Future Product

getInstrumentsFutureProductsExchangeCode
get/instruments/future-products/{exchange}/{code}

Base URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)

Returns a single future product identified by exchange and product code (e.g. exchange `CME`, code `CL`).

Code samples

curl -X GET 'https://api.cert.tastyworks.com/instruments/future-products/CBOED/ES' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
exchange*pathstringThe exchange code
enum: CBOED, CFE, CME, SMALLS
e.g. "CBOED"
code*pathstringThe product code, i.e. `ES`
e.g. "ES"

Responses

200The future product for the given exchange and product code.application/json

Example response

{
  "data": {
    "active-months": [
      "H",
      "M",
      "U",
      "Z"
    ],
    "back-month-first-calendar-symbol": true,
    "base-tick": 0,
    "cash-settled": true,
    "code": "ES",
    "contract-limit": 0,
    "description": "E Mini S&P",
    "display-factor": "0.01",
    "exchange": "CME",
    "first-notice": false,
    "listed-months": [
      "H",
      "M",
      "U",
      "Z"
    ],
    "market-sector": "Equity Index",
    "notional-multiplier": "50.0",
    "price-format": "100.00",
    "product-subtype": "string",
    "product-type": "Financial",
    "security-group": "ES",
    "small-notional": false,
    "streamer-exchange-code": "XCME",
    "sub-tick": 0,
    "supported": true,
    "root-symbol": "/ES",
    "tick-size": "0.25",
    "true-underlying-code": "string",
    "underlying-description": "string",
    "underlying-identifier": "string",
    "clearing-code": "ES",
    "clearing-exchange-code": "16",
    "clearport-code": "ES",
    "legacy-code": "ES",
    "legacy-exchange-code": "CME",
    "option-products": [
      {
        "cash-settled": false,
        "code": "EW1",
        "display-factor": "0.01",
        "exchange": "CME",
        "expiration-type": "Weekly",
        "is-am-settled": false,
        "itm-rule": "string",
        "market-sector": "Equity Index",
        "product-subtype": "string",
        "product-type": "Physical",
        "root-symbol": "EW1",
        "settlement-delay-days": 0,
        "supported": true,
        "legacy-code": "EW1",
        "clearport-code": "EW1",
        "clearing-code": "W1",
        "clearing-exchange-code": "9C",
        "clearing-price-multiplier": "1.0",
        "is-rollover": false,
        "future-product": null
      }
    ],
    "roll": {
      "name": "equity_index",
      "active-count": 3,
      "cash-settled": true,
      "business-days-offset": 4,
      "first-notice": false
    }
  },
  "context": "/instruments/future-products/{exchange}/{code}"
}

Schema

  • datarequiredobject (FutureProduct)

    Metadata describing a futures product. A future product is not tradeable; it describes attributes such as the contract code, listed months, and tick size.

    • active-monthsarray<string>

      Month codes with currently active contracts.

      example: ["H","M","U","Z"]

    • back-month-first-calendar-symbolboolean

      Whether the back month is the first calendar symbol for spreads.

      example: true

    • base-tickinteger <int32>
    • cash-settledboolean

      Whether contracts of this product settle in cash.

      example: true

    • codestring

      Product code (e.g. `ES`).

      example: "ES"

    • contract-limitinteger <int32>
    • descriptionstring

      Human-readable description of the product.

      example: "E Mini S&P"

    • display-factorstring <decimal>

      Factor applied to convert raw prices to display prices. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "0.01"

    • exchangestring

      Exchange on which the product trades.

      example: "CME"

    • first-noticeboolean

      Whether the product observes a first-notice date.

      example: false

    • listed-monthsarray<string>

      Month codes for which contracts of this product are listed.

      example: ["H","M","U","Z"]

    • market-sectorstring

      Market sector classification.

      example: "Equity Index"

    • notional-multiplierstring <decimal>

      Multiplier used to compute notional value from price. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "50.0"

    • price-formatstring
    • product-subtypestring
    • product-typestring

      Product type, e.g. `Financial` or `Physical`.

      example: "Financial"

    • security-groupstring

      Security group identifier.

      example: "ES"

    • small-notionalboolean

      Whether this is a small-notional (micro) product.

      example: false

    • streamer-exchange-codestring

      Exchange code used by the DXLink streamer.

      example: "XCME"

    • sub-tickinteger <int32>
    • supportedboolean

      Whether the product is supported by tastytrade.

      example: true

    • root-symbolstring

      Root symbol of the product (e.g. `/ES`).

      example: "/ES"

    • tick-sizestring <decimal>

      Minimum price increment for contracts of this product. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "0.25"

    • true-underlying-codestring
    • underlying-descriptionstring
    • underlying-identifierstring
    • clearing-codestring

      Clearing code of the product.

      example: "ES"

    • clearing-exchange-codestring

      Clearing exchange code of the product.

      example: "16"

    • clearport-codestring

      ClearPort code of the product.

      example: "ES"

    • legacy-codestring

      Legacy code of the product.

      example: "ES"

    • legacy-exchange-codestring

      Legacy exchange code of the product.

      example: "CME"

    • option-productsarray<object>{20 fields}

      Future option products associated with this product. Missing or empty when tastytrade does not offer options for the product.

    • rollobject{5 fields}

      Contract roll attributes for the product.

  • contextrequiredstring

    example: "/instruments/future-products/{exchange}/{code}"

401Missing or expired access token, or a missing/malformed `User-Agent` header.application/json

Example response

{
  "error": {
    "code": "unauthorized",
    "message": "No valid access token was provided; access tokens expire after 15 minutes."
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

404No future product exists for the given exchange and product code.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

429Request rate exceeded. Back off exponentially and reduce request frequency.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

Related

Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.