tastytradeDeveloper Docs
Legacy ↗

API Reference / Symbol Search

Search Symbols

searchSymbols
get/symbols/search/{symbol}

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

Search tastytrade's tradeable instruments by symbol or symbol fragment — for example, searching `AAP` returns both `AAP` and `AAPL` — letting you power type-ahead and symbol-picker experiences. Each match returns lightweight metadata such as the company name, listed market, instrument type, and whether the symbol has listed options. This is a read-only lookup; use the full `/instruments/...` endpoints once you know the exact symbol you want to trade.

Code samples

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

Parameters

NameInTypeDescription
symbol*pathstringSymbol or fragment of a symbol to search, i.e. `AAP` will return AAP and AAPL data
e.g. "AAP"

Responses

200Returns an array of symbol data for instruments matching the search term.application/json

Example response

{
  "data": {
    "symbol": "AAPL",
    "description": "APPLE INC",
    "listed-market": "XNAS",
    "price-increments": "100.00",
    "trading-hours": "string",
    "options": true,
    "instrument-type": "Equity"
  },
  "context": "/symbols/search/{symbol}"
}

Schema

  • datarequiredobject (SymbolData)

    A lightweight search result describing an instrument that matched a symbol search. It carries just enough metadata (name, market, instrument type, options availability) to display a match in a symbol picker; fetch the full instrument definition from the `/instruments/...` endpoints once the exact symbol is known.

    • symbolstring

      The instrument's unique symbol, used as its primary identifier across lookups, order legs, and positions.

      example: "AAPL"

    • descriptionstring

      Human-readable company or instrument name for display alongside the symbol.

      example: "APPLE INC"

    • listed-marketstring

      Code of the market where the instrument is listed (e.g. `XNAS`, `ARCX`, `OTC`).

      example: "XNAS"

    • price-incrementsstring

      Allowable price increments (tick sizes) for the instrument, expressed as a string.

    • trading-hoursstring

      Trading hours for the instrument.

    • optionsboolean

      Whether the instrument has listed options available for trading.

      example: true

    • instrument-typestring

      The kind of instrument the symbol represents, e.g. Equity, Equity Option, Future, Future Option, or Cryptocurrency.

      example: "Equity"

  • contextrequiredstring

    example: "/symbols/search/{symbol}"

401Missing or expired access token, or a missing/malformed `User-Agent` header. tastytrade requires a `User-Agent` in `<product>/<version>` form and a valid `Authorization: Bearer <token>` (tokens expire after 15 minutes) on every request.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.

403Authenticated, but the token's OAuth scope does not permit reading instrument data.application/json

Example response

{
  "error": {
    "code": "not_permitted",
    "message": "User not permitted access"
  }
}

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 your polling rate before retrying.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.