---
title: "Tracked tickers"
method: GET
path: "/tickers"
tags: ["tickers"]
---

# Tracked tickers

`GET /tickers`

## Request

- Base URL: `https://api.tradingpal.io/api/v1`
- URL: `https://api.tradingpal.io/api/v1/tickers`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.tradingpal.io/oauth/authorize`, token URL `https://api.tradingpal.io/oauth/token`, scopes: `patterns`)

Returns the tickers the account tracks, in the order they were added, each with whether the nightly covers it, plus the count, the cap and the account the list belongs to. The tracked set is the account's My watchlist on the TradingPal site, so it also changes when the user edits the watchlist there. The pattern and history routes answer only for these tickers.

## Headers

- `X-TradingPal-Client` string

## Response `200`

OK

- Tickers: The account's tracked tickers: the account's My watchlist on the TradingPal site.
  - `api_version` 'v1', required: The contract version, always v1. Field names in v1 do not change, and v1 stays available at least 12 months after a v2 ships.
  - `as_of_session` string, date, nullable, required: The last trading session the data describes, as an ISO date. Setups change nightly, so say it when presenting data and do not cache setups across days. Null on routes that do not read a dated artifact (account, tickers, history, families, universe and the demo index).
  - `data_version` string, nullable: Identifier of the stored artifact the answer came from: the candidate-book generation for patterns, the sealed manifest for family records. Null when the route reads no versioned artifact.
  - `source` object, required: Who produced the data. Constant on every response.
    - `name` string: Always "TradingPal".
    - `url` string, uri: Always https://tradingpal.io.
  - `disclaimer` 'Educational breakout-pattern analysis from TradingPal, not investment advice. Past results do not guarantee future outcomes.', required: The educational-use disclaimer, constant on every response. Repeat it when presenting a setup as something the user might act on.
  - `tickers` object[]: The tracked tickers, in the order they were added.
    - `symbol` string: Exchange symbol, upper case.
    - `covered` boolean: True when the active nightly manifest covers the symbol, so the pattern and history routes can answer for it. False means it is tracked but the nightly has no data for it.
  - `count` integer: Number of tracked tickers.
  - `cap` integer: Maximum number of tickers the account may track.
  - `account` object: The TradingPal account the list belongs to, so a host can say which account is connected when the list is not the one the user expected.
    - `email` string: The account's sign-in email.

## Other responses

- `401`: missing_api_key (no Authorization: Bearer tp_live_… header) or invalid_api_key (unknown, revoked, or the account is inactive)
- `403`: forbidden (the account is not on Premium+, the plan with API access)
- `429`: rate_limited; wait details.retry_after_seconds

---

[API](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api.md) · [All operations](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/revisions/e96e1f20c1ce?raw)
