tastytradeDeveloper Docs
Legacy ↗

API Reference / Instruments

List Future Products

getInstrumentsFutureProducts
get/instruments/future-products

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

Returns metadata for all supported futures products. A future product is not a tradeable instrument; it describes attributes such as the contract code and the months of the year that contracts are listed. For example, the E-mini S&P 500 product code is `ES` and every contract begins with `/ES`.

Code samples

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

Parameters

No parameters.

Responses

200All supported futures products.application/json

Example response

{
  "data": {
    "items": [
      {
        "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": [
          {}
        ],
        "roll": {
          "name": "equity_index",
          "active-count": 3,
          "cash-settled": true,
          "business-days-offset": 4,
          "first-notice": false
        }
      }
    ]
  },
  "context": "/instruments/future-products",
  "pagination": {
    "per-page": 0,
    "page-offset": 0,
    "item-offset": 0,
    "total-items": 0,
    "total-pages": 0,
    "current-item-count": 0
  }
}

Schema

  • datarequiredobject
    • itemsrequiredarray<object>{33 fields}
  • contextrequiredstring

    example: "/instruments/future-products"

  • paginationobject

    Paging metadata, present on paginated list responses.

    • per-pageinteger
    • page-offsetinteger
    • item-offsetinteger
    • total-itemsinteger
    • total-pagesinteger
    • current-item-countinteger
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.

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.