Skip to main content

Symbol info

The /symbol_info endpoint returns a list of instruments and a set of rules for them. This endpoint is requested every hour.

Information that /symbol_info returns is displayed in the Symbol Info dialog.

Symbol Info Dialog

A symbol name, description, type, and exchange name are also displayed in the Symbol Search panel and a chart legend.

Response specifics

Some response fields in /symbol_info may be required or have some specifics depending on the instrument type. Check the corresponding sections below for more information.

Crypto instruments

FieldDescription
currencySymbol currency, also named as counter currency. Required for crypto spots and crypto perpetual swaps.
basecurrencyThe first currency of the pair. Required for crypto spots and crypto perpetual swaps.
symbolSymbol name which is shown in the UI. Refer to Symbol naming rules to see the name format for Crypto instruments.

CFDs

FieldDescription
session-regular
session-premarket
sessionpostmarket
session-extended
Sets the session format. Note that for CFDs, these fields do not support trading breaks during the trading day.
is-cfdIndicates that a symbol is a CFD. Must be set to true.
minmovement2Indicates the pip size for prices. Required for Forex instruments.
timezoneSets an exchange time zone for a symbol.

TradingView highly recommends you setting the instrument's local time zone to avoid issues with daylight saving time changes. For example, if the time zone is America/New_York for an instrument from the Nasdaq exchange, time transition is carried out automatically. However, if the same instrument is in the Asia/Kolkata time zone, you should adjust session-regular manually to change the session schedule. Note that this adjustment must be approved by the TradingView team.

Futures

FieldDescription
pointValueRepresents the currency value of the smallest whole-number increment in the price of an asset. If the value is not provided, it is assumed to be 1.
rootRequired. Indicates a root of a futures contract.
rootdescriptionRequired. Indicates the root's short description that is displayed in Symbol Search.
symbolSymbol name which is shown in the UI. Refer to Symbol naming rules to see the name format for Futures instruments.

Symbol groups

If you have groups implemented, requests to /symbol_info can be either with or without the group parameter. In the first case, TradingView expects to receive a list of only those symbols that belong to the group specified. In the second case, TradingView expects to receive a list of all symbols from all groups.

Note that the symbol group ID must contain a broker name as a prefix to the group name, for example, brokerName_stocks.

If you do not have groups implemented, your API must return symbols regardless of the parameters in the request to /symbol_info.

Symbol naming rules

The symbol field is an array of strings that represent unique symbol names. Users see these names in the UI. Symbol names are always displayed in uppercase and are validated with the following regular expression:

[A-Z0-9._]

Each instrument type has its own symbol naming rules. Refer to the corresponding section for more information:

Stocks

TypeFormatExample
Stocks from one exchange<Exchange Ticker>AAPL — Apple stock
Stocks from different exchanges<Exchange Code>_<Exchange Ticker>NASDAQ_AAPL — Apple stock from Nasdaq
ASX_AAPL — Apple stock from ASX

Forex

A Forex symbol name can only consist of a currency pair. No special characters or other additions are allowed.

TypeExample
<Base Currency><Quote Currency>EURUSD — Euro to US Dollar
USDGBP — US Dollar to British Pound

Futures

TypeFormat
Standard<Symbol Root><Month Code><Four-digit Year>
When more than one contract expires within one month<Symbol Root><Two-digit Expiration Day><Month Code><Four-digit Year>

The table below represents months and their corresponding codes:

MonthMonth CodeMonthMonth Code
JanuaryFJulyN
FebruaryGAugustQ
MarchHSeptemberU
AprilJOctoberV
MayKNovemberX
JuneMDecemberZ

Consider the examples below:

ESM2023       // S&P 500 future contract (June 2023)
NQZ2023 // Nasdaq-100 future contract (December 2023)
BTCUSD24M2022 // Bitcoin future contract quoted in US Dollar (June 24, 2022)
BTCUSD30M2022 // Bitcoin future contract quoted in US Dollar (June 30, 2022)

Crypto

TypeFormat
Base crypto pair<Base Currency><Quote Currency>
Leveraged crypto ETF's<Base Currency><Quote Currency>.<Leverage Size><Long or Short Direction>
Future contractsSee the Futures section.
Perpetual swap contracts<Base Currency><Quote Currency>.P
Decentralized exchanges (DEX)<Base Currency><Quote Currency>_<First Six Hash Numbers of the Pair>
DEX for pairs converted to USD or other fiat currency<Base Currency><Quote Currency>_<First Six Hash Numbers of the Pair>.USD

The corresponding examples are added below:

BTCUSD            // Bitcoin / US Dollar crypto pair
BTCUSDT.3L // Bitcoin 3× Long
BTCUSDT.3S // BTC 3× Short
BTCUSDT.P // Bitcoin perpetual swap contract
ETHUSD_7380E1 // Ethereum / BTCB on BSC in US Dollar
ETHUSD_7380E1.USD // Ethereum / BTCB on BSC in US Dollar (converted to USD)

Add symbols after release

To add new symbols after release, follow the steps below:

  1. Confirm the changes with the TradingView team.

  2. Implement the symbols and add them to your staging environment.

  3. Run data integration tests and ensure that all tests have passed.

  4. Notify the TradingView team to test the changes on their side. Note that you can deploy new symbols to your production environment only after successful testing by the TradingView team.

    The table below shows several cases of adding symbols and the time required for the TradingView team to test the changes.

    CaseDuration
    New symbols have been added without any critical changes.Up to 2 hours.
    New symbols have been added, but critical errors occurred, such as incorrect session time or unexpected response format.Up to 1 working day.
    New crypto symbols have been added.Up to 1 working day.
    A new instrument type has been added in a new group.
    Requires testing on the staging environment and deploying the datafeed.
    3—7 days.
    A new instrument type that requires a new datafeed has been added.1—2 weeks.

Price display

To manage how the price is displayed on the chart, use the following parameters in /symbol_info.

  • minmovement indicates the number of units that make one price tick.
  • pricescale indicates how many decimal places a security price has.
  • minmovement2 indicates the pip size for Forex prices or how to separate the main and additional fractions for fractional prices.

The parameter values depend on the price format chosen. There are two ways to display a security price:

  • The decimal format is used for most instruments, such as stocks, indices, and futures.
  • The fractional format is used only for futures traded on the CBOT (Chicago Board of Trade), including futures on bulk commodities (grains, etc.) and US Federal Reserve Government bonds. This format also has a variety — that is a fractional format of the fractional price.

Decimal format

For the decimal format:

  • The minmovement value depends on the price tick chosen: 1, 5, etc.
  • The pricescale value must always be 10^n, where n is the number of decimal places. For example, if the price has two decimal places 300.01, pricescale must be 100. If it has three decimal places 300.001, pricescale must be 1000, etc. If the price doesn't have decimals, pricescale must be 1.
  • The minmovement2 value must always be 0, except for Forex symbols.

Forex symbols

Forex symbols have the decimal price format, however, the minmovement2 value must differ from 0. In this case, minmovement2 indicates the pip size on the chart and the value must be 10^n, where n is the number of pips. A pip is the smallest whole unit measurement of the spread. On the chart, the pip is displayed smaller than the price digits.

Order Dialog

info

If minmovement2 is 0 for Forex symbols, the spread is displayed in ticks, not pips.

Fractional format

The price in the fractional format is displayed as 76'27. A single quote is used as a delimiter.

For the fractional format:

  • The minmovement value depends on the price tick chosen: 1, 5, etc.
  • The pricescale value must always be 2^n. It indicates the number of fractions. For example, if minmovement: 1 and pricescale: 32, the fraction numerator values can vary from 0 to 31.
  • The minmovement2 value must always be 0, except for the fraction of fractional format.

Fractional format of the fractional price

The fractional format of the fractional price is a particular case of the fractional price format. In this case, minmovement2 indicates the part of the fraction and can differ from 0.

For example, for the 76'27'2 price: 76 is an integral part of the price, 27 is a fractional part of the price, and 2 is a fractional part of the first fractional part (27). To display such a price, you can specify the parameters in the following way: minmovement: 1, pricescale: 128, and minmovement2: 4.

Tick size

Tick size (minimum price step) is the minimum price amount a security can move in exchange. The tick size is calculated as minmovement/ pricescale. For example, if you need a price step to be 0.25:

  • Set minmovement: 25 and pricescale: 100 for the decimal format.
  • Set minmovement: 1 and pricescale: 4 for the fractional format.