# Get TradingView Udf Symbol Info

Symbol metadata for charting.

_Source: https://beta.taostats.io/docs/new/tradingview/get-tradingview-udf-symbol-info_

_Last reviewed: 2026-10-07_

```http
GET https://api.taostats.io/v1/tradingview/udf/symbol_info
```

Requires an API key in the `Authorization` header.

Symbol metadata for charting.

## Try it

Try this request in the browser on the HTML version of this page, or use the code samples below.

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/v1/tradingview/udf/symbol_info"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/v1/tradingview/udf/symbol_info', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/v1/tradingview/udf/symbol_info",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `netuid` | query | `integer (int32)` |  | Filter to a specific subnet netuid. `-1` selects the total series. Omitted: every subnet plus the total series. |

## Responses

### `200` — TradingView UDF symbol metadata

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | `array` | Yes | Subnet token symbol names, parallel to `symbol`. |
| `description[]` | `string` | Yes |  |
| `exchange-listed` | `string` | Yes | Always `"Bittensor"`. Serialised as `exchange-listed`. |
| `exchange-traded` | `string` | Yes | Always `"Bittensor"`. Serialised as `exchange-traded`. |
| `has-dwm` | `boolean` | Yes | Whether daily/weekly/monthly resolutions are available. Always `true`. Serialised as `has-dwm` to match the OLD API byte for byte. **Nothing in the charting library reads it** under either spelling — it reads `has-daily` (defaulting to `true`) and `has-weekly-and-monthly` instead — so this field is served for wire compatibility, not for effect. |
| `has-intraday` | `boolean` | Yes | Whether intraday resolutions are available. Always `true`. Serialised as `has-intraday`. **This is the field that matters**: the library defaults it to `false` when absent, which disabled the 1, 5, 15, 60 and 240 minute resolutions. |
| `minmovement` | `integer (int64)` | Yes | Minimum price movement. Always `1`. |
| `pricescale` | `integer (int64)` | Yes | Price scale. Always `1000000`. |
| `session` | `string` | Yes | Always `"24x7"`. |
| `session-regular` | `string` | Yes | Always `"24x7"`. Serialised as `session-regular`, which is the field the library reads as the symbol's `session` — it does not read `session`. |
| `symbol` | `array` | Yes | Symbol identifiers (`SUB-1`, `SUB-2`, ..., `SUB--1`). |
| `symbol[]` | `string` | Yes |  |
| `timezone` | `string` | Yes | Always `"Etc/UTC"`. |
| `type` | `array` | Yes | `"crypto"` for each symbol, parallel to `symbol`. |
| `type[]` | `string` | Yes |  |

### `400` — Invalid query parameter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | Yes | Plain-english message describing the failure from the caller's perspective. |
| `status_code` | `integer (int32)` | Yes | HTTP status code (mirrored in the response status line for convenience). |

### `500` — Internal server error

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | Yes | Plain-english message describing the failure from the caller's perspective. |
| `status_code` | `integer (int32)` | Yes | HTTP status code (mirrored in the response status line for convenience). |

Every request needs an `Authorization` header holding your API key — see [Getting started with the Taostats API](https://beta.taostats.io/docs/start-here/getting-started-with-taostats-api).
