tastytradeDeveloper Docs
Legacy ↗

API Reference / Instruments

Get Future

getInstrumentsFuturesSymbol
get/instruments/futures/{symbol}

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

Returns a single outright future for the given symbol (e.g. `/ESU3`). The leading forward slash is optional; URL-encode it (`%2F`) when present in the path.

Code samples

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

Parameters

NameInTypeDescription
symbol*pathstringThe symbol of the future, i.e. `ESZ9`. Leading forward slash is not required.
e.g. "ESZ9"

Responses

200The outright future for the requested symbol.application/json

Example response

{
  "data": {
    "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/{symbol}"
}

Schema

  • datarequiredobject (Future)

    An outright futures contract (e.g. `/ESU3`). Includes the associated product metadata nested under `future-product`.

    • activeboolean

      Whether the contract is currently active.

      example: true

    • active-monthboolean

      Whether this contract is in the currently active (front) month.

      example: true

    • back-month-first-calendar-symbolboolean
    • closing-only-datestring <date>
    • contract-sizestring <decimal>

      Size of the contract in underlying units. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "50.0"

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

      example: "CME"

    • exchange-dataobject
    • expiration-datestring <date>

      Calendar date on which the contract expires (ISO-8601).

      example: "2023-09-15"

    • expires-atstring <date-time>

      Exact timestamp at which the contract expires (ISO-8601).

      example: "2023-09-15T13:30:00.000+00:00"

    • first-notice-datestring <date>
    • product-groupstring

      Internal grouping identifier for the product.

      example: "CME_ES"

    • is-closing-onlyboolean

      Whether the contract is restricted to closing transactions only.

      example: false

    • last-trade-datestring <date>

      Last date on which the contract may be traded (ISO-8601).

      example: "2023-09-15"

    • main-fractionstring <decimal>

      Decimal value serialized as a JSON string (e.g. "150.25").

    • next-active-monthboolean

      Whether this contract is the next active month.

      example: false

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

    • product-codestring

      Product code of the future (e.g. `ES`).

      example: "ES"

    • roll-target-symbolstring

      Symbol of the contract this one rolls into.

      example: "/ESZ3"

    • security-idstring
    • stops-trading-atstring <date-time>

      Timestamp at which the contract stops trading (ISO-8601).

      example: "2023-09-15T13:30:00.000+00:00"

    • streamer-exchange-codestring

      Exchange code used by the DXLink streamer.

      example: "XCME"

    • streamer-symbolstring

      Symbol used to subscribe to market data on the DXLink streamer.

      example: "/ESU23:XCME"

    • sub-fractionstring <decimal>

      Decimal value serialized as a JSON string (e.g. "150.25").

    • symbolstring

      The future contract symbol, beginning with a forward slash (e.g. `/ESU3`).

      example: "/ESU3"

    • tick-sizestring <decimal>

      Minimum price increment for the contract. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "0.25"

    • is-tradeableboolean

      Whether the contract is currently tradeable.

      example: true

    • true-underlying-symbolstring
    • future-etf-equivalentobject{2 fields}
    • future-productobject{26 fields}
    • option-tick-sizesarray<object>{3 fields}

      Tick sizes for options on the contract.

      example: [{"value":"0.05","threshold":"5.0"},{"value":"0.25"}]

    • spread-tick-sizesarray<object>{3 fields}

      Tick sizes for spreads on the contract; entries may be scoped to a `symbol`.

      example: [{"value":"0.05","symbol":"/ESH4"},{"value":"0.05","symbol":"/ESZ3"}]

    • tick-sizesarray<object>{3 fields}

      Tick sizes for the contract.

      example: [{"value":"0.25"}]

  • contextrequiredstring

    example: "/instruments/futures/{symbol}"

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 exists for the given symbol. Verify the symbol and that the forward slash is URL-encoded.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.