tastytradeDeveloper Docs
Legacy ↗

API Reference / Instruments

List Futures

getInstrumentsFutures
get/instruments/futures

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

Returns active outright futures contracts, optionally filtered by symbol or product code. Each future includes its associated product metadata nested under `future-product`. Futures symbols begin with a forward slash (e.g. `/ESU3`); URL-encode the slash (e.g. `%2FESU3`).

Code samples

curl -X GET 'https://api.cert.tastyworks.com/instruments/futures?exchange=%7Bexchange%7D&only-active-futures=true&product-code=%7Bproduct-code%7D&security-id=%7Bsecurity-id%7D&symbol[]=%2FESU3' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
exchangequerystringName of the exchange for the product. Only used to avoid security id collisions if that is also given.
only-active-futuresquerybooleanIf true (defaults to true), only active futures are returned.
e.g. true
product-codequeryarrayThe product code of the future(s), i.e. `product-code[]=ES&product-code[]=6A`. \ Ignored if `symbol` parameter is given. (example: product-code[]={value1}&product-code[]={value2})
security-idqueryarrayExchange-specific ID used for order routing (example: security-id[]={value1}&security-id[]={value2})
symbolqueryarrayThe symbol of the future(s), i.e. `symbol[]=ESZ9`. Leading forward slash is not required. (example: symbol[]={value1}&symbol[]={value2})
e.g. ["/ESU3"]

Responses

200Outright futures matching the requested symbols, product codes, or security ids.application/json

Example response

{
  "data": {
    "items": [
      {
        "active": true,
        "active-month": true,
        "back-month-first-calendar-symbol": true,
        "closing-only-date": "2024-01-15",
        "contract-size": "50.0",
        "display-factor": "0.01",
        "exchange": "CME",
        "exchange-data": {},
        "expiration-date": "2023-09-15",
        "expires-at": "2023-09-15T13:30:00.000+00:00",
        "first-notice-date": "2024-01-15",
        "product-group": "CME_ES",
        "is-closing-only": false,
        "last-trade-date": "2023-09-15",
        "main-fraction": "string",
        "next-active-month": false,
        "notional-multiplier": "50.0",
        "product-code": "ES",
        "roll-target-symbol": "/ESZ3",
        "security-id": "abc123",
        "stops-trading-at": "2023-09-15T13:30:00.000+00:00",
        "streamer-exchange-code": "XCME",
        "streamer-symbol": "/ESU23:XCME",
        "sub-fraction": "string",
        "symbol": "/ESU3",
        "tick-size": "0.25",
        "is-tradeable": true,
        "true-underlying-symbol": "AAPL",
        "future-etf-equivalent": {
          "share-quantity": 100,
          "symbol": "AAPL"
        },
        "future-product": {
          "active-months": "string",
          "back-month-first-calendar-symbol": true,
          "base-tick": 0,
          "cash-settled": true,
          "code": "string",
          "contract-limit": 0,
          "description": "string",
          "display-factor": "string",
          "exchange": "string",
          "first-notice": true,
          "listed-months": "string",
          "market-sector": "string",
          "notional-multiplier": "string",
          "price-format": "100.00",
          "product-subtype": "string",
          "product-type": "string",
          "security-group": "string",
          "small-notional": true,
          "streamer-exchange-code": "string",
          "sub-tick": 0,
          "supported": true,
          "root-symbol": "AAPL",
          "tick-size": "string",
          "true-underlying-code": "string",
          "underlying-description": "string",
          "underlying-identifier": "string"
        },
        "option-tick-sizes": [
          {
            "value": "0.05",
            "threshold": "5.0"
          },
          {
            "value": "0.25"
          }
        ],
        "spread-tick-sizes": [
          {
            "value": "0.05",
            "symbol": "/ESH4"
          },
          {
            "value": "0.05",
            "symbol": "/ESZ3"
          }
        ],
        "tick-sizes": [
          {
            "value": "0.25"
          }
        ]
      }
    ]
  },
  "context": "/instruments/futures",
  "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/futures"

  • 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.