TradingView Screener Scraper & API - Stocks, Crypto, FX Monitor avatar

TradingView Screener Scraper & API - Stocks, Crypto, FX Monitor

Pricing

from $5.00 / 1,000 symbol returneds

Go to Apify Store
TradingView Screener Scraper & API - Stocks, Crypto, FX Monitor

TradingView Screener Scraper & API - Stocks, Crypto, FX Monitor

For stock screens, crypto scans and trading signals: the TradingView Screener as an API, one row per symbol with ticker, close, change %, volume, market cap, RSI and any indicator you pick, for stocks, crypto and forex. Monitoring returns only symbols that entered or left your screen. No API key.

Pricing

from $5.00 / 1,000 symbol returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Run a TradingView Screener query and get one row per symbol: ticker, name, close, change %, volume, market cap, RSI, relative volume and any extra indicators you pick. Works for US stocks, stocks of other countries, crypto and forex. Filter by market cap, volume, price, change, RSI or any listed column, and choose the sort order.

Monitoring mode runs the same screen on a schedule and returns only what changed: symbols that entered the screen, symbols that left it, and symbols whose price moved by your threshold or more. A run that finds no change returns no symbol rows.

No login, no API key, no browser. The Actor reads one endpoint only (scanner.tradingview.com/global/scan), the single path that site's robots.txt allows, and it re-reads robots.txt at the start of every run and stops if that path is no longer allowed.

This is market data for research and screening. It is not investment advice, and most quotes are delayed (see "How fresh the values are"). This Actor is not affiliated with or endorsed by TradingView. TradingView's own terms restrict automated and commercial use of its data; check whether your use is permitted before relying on it.

What you get

ColumnMeaning
symbolExchange and ticker as TradingView writes it, for example NASDAQ:AAPL
ticker, name, exchangeTicker, company or pair name, exchange code
closeLast price TradingView reports, in currency
changePct, changeAbsChange since the previous close, in percent and in price units
volumeVolume of the current daily bar
marketCapMarket capitalization (stocks: market_cap_basic; crypto: market_cap_calc); empty where TradingView has none
rsi, relativeVolume14-period daily RSI; volume divided by the 10-day average
indicatorsThe extra columns you asked for, by TradingView column name
type, subtype, country, sector, industry, isPrimaryListingClassification as TradingView reports it
dataMode, delaySecondsHow the quote is delivered: streaming (0) or delayed_streaming_900 (900 seconds = 15 minutes) and so on
barTimeStart of the daily bar the values belong to
change, previousClose, movePctMonitoring mode only: entered-screen, left-screen or price-moved, the remembered price, and the move in percent
listedfalse only for a left-screen row whose symbol TradingView no longer returns at all
url, markets, scrapedAtSymbol page address, the markets that were screened, time of the run

Values are passed through as TradingView returns them. A value TradingView does not have is left empty; it is never filled with 0.

How fresh the values are

TradingView's screener serves each exchange with that exchange's delay, and says so per symbol in dataMode. Measured on 2026-10-05:

  • US stocks (NASDAQ, NYSE): delayed_streaming_900, 15 minutes behind.
  • Tokyo (TSE): delayed_streaming_1200, 20 minutes behind. India (BSE), German regional exchanges: 15 minutes.
  • Futures (NYMEX): delayed_streaming_600, 10 minutes.
  • Crypto exchanges and forex feeds: streaming.

On the same day the close, change and volume of AAPL, KO, TSLA, 8306 and 7203 matched Yahoo Finance's daily values exactly; BTC and EUR/USD differed by a few hundredths of a percent because the venues differ. Read delaySeconds on each row rather than assuming.

Input

  • Markets (required): america, crypto (pairs on exchanges), coin (coins by market cap), forex, japan, uk, germany, india, canada, australia, hongkong, korea, brazil, france, futures, cfd and other TradingView market names. Each name is checked first; a name TradingView does not know comes back as a free row instead of an empty result.
  • Primary listing only: one row per company. Without it the same stock appears once per exchange and share class.
  • Simple filters: minimum and maximum market cap, minimum volume, price range, change % range, RSI range, minimum relative volume.
  • More filters: any listed column with greater, egreater, less, eless, equal, nequal, in_range, not_in_range. Text values must be written exactly as TradingView writes them, capitals included: Finance matches 46 large US companies, finance matches none (measured 2026-10-05).
  • Extra indicators: more columns to return.
  • Sort by / order, Maximum symbol rows (default 100).
  • Monitoring mode, Price move threshold (%), Forget remembered symbols.

Market cap filters cannot be used when crypto markets and other markets are mixed in one run, because TradingView keeps the two in different columns; run them separately.

Columns you can filter on, sort by, or add

name description close change change_abs volume market_cap_basic market_cap_calc currency exchange type subtype update_mode country sector industry is_primary RSI relative_volume_10d_calc time open high low gap VWAP RSI7 MACD.macd MACD.signal SMA20 SMA50 SMA200 EMA20 EMA50 EMA200 BB.upper BB.lower ATR ADX Stoch.K Stoch.D CCI20 Mom Recommend.All Recommend.MA Recommend.Other Volatility.D Volatility.W Volatility.M Perf.W Perf.1M Perf.3M Perf.6M Perf.Y Perf.YTD price_earnings_ttm earnings_per_share_basic_ttm price_52_week_high price_52_week_low High.All Low.All average_volume_10d_calc average_volume_30d_calc float_shares_outstanding total_shares_outstanding premarket_change beta_1_year price_book_fq number_of_employees 24h_vol|5 24h_close_change|5 24h_vol_cmc base_currency

The list is fixed on purpose. TradingView answers a misspelled column with an empty value on every row, and a misspelled filter with "0 symbols", without any error. A column outside this list is refused before anything is read, so a typo cannot look like a real result. Every returned row is also checked against your filters again before it is delivered.

Example: large US stocks up 2% or more today

{
"markets": ["america"],
"primaryListingOnly": true,
"minMarketCap": 10000000000,
"minChangePct": "2",
"extraColumns": ["SMA50", "SMA200", "Perf.W"],
"sortBy": "change",
"sortOrder": "desc",
"maxResults": 100
}

Example: watch oversold large caps

{
"markets": ["america"],
"primaryListingOnly": true,
"minMarketCap": 10000000000,
"maxRsi": "30",
"monitoringMode": true,
"priceMovePct": "5"
}

Monitoring mode in detail

  1. First run: the matching symbols and their prices are remembered. No symbol row is returned and nothing is charged. One free row says how many symbols were remembered.
  2. Later runs return, in this order: symbols that left the screen, symbols that entered it, symbols whose price moved by the threshold or more from the remembered price.
  3. A symbol that is missing from the list is looked up by name and checked against your filters again before it is reported as having left. A left-screen row carries its current values, so you can see why it left.
  4. The remembered price of a symbol changes only when a row for it was delivered. Small moves therefore add up: three moves of 2% trigger a 5% threshold on the third.
  5. Rows that could not be delivered (maximum rows or your spending limit) are not remembered as delivered and come back at the next run.
  6. If the list could not be read to the end, nothing is reported as having left and the run is marked incomplete.

Memory is kept per combination of markets, filters and threshold, so different screens do not disturb each other. Sort order, maximum rows and extra indicators do not change the memory. A monitored screen may match at most 10,000 symbols.

Free rows that explain

Rows whose status is not ok are never charged: invalid-input, unknown-market, no-symbols-matched, baseline-recorded, no-change-since-last-run, incomplete, too-many-to-monitor, budget-reached, blocked, unreadable, robots-disallowed. Each has a note in plain words. A refusal or an unreadable answer is never reported as "no symbols".

Pricing

Pay per event: one symbol-returned event per symbol row delivered. In monitoring mode a run that compared the whole screen and found nothing to return charges one small scan-checked event instead. First monitoring runs, rows with a status other than ok, and runs that could not read TradingView are free. No start fee.

Limits

  • Only what the TradingView screener itself reports; no intraday history, no order book, no news.
  • The Actor reads politely (one request at a time, about two per second at most) and up to 20,000 symbols per run.
  • Indicator values are daily-timeframe values. Other timeframes are not offered.
  • Not investment advice.

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.