What Is a Stock Screener and How Do Traders Actually Use One?
A stock screener filters the whole market into a shortlist. What the filter types do, how a desk specifies a daily screen, and the mistakes that waste one.
A stock screener is a filter that reduces the entire universe of listed securities down to the handful that meet conditions you specify — price, volume, volatility, fundamentals, technical state, or any combination. It is a search tool, not a signal generator: it tells you which names currently match a description, and nothing at all about whether trading them is a good idea.
That distinction is the whole subject. Traders who get value out of screeners treat the output as a list of things to look at. Traders who don’t treat it as a list of things to buy.
What a screener actually does
Underneath the interface, a screener runs a query against a database of market data. You define conditions; it returns every symbol satisfying all of them at the moment you ran it. Several thousand US-listed names go in; some manageable number come out.
Three properties follow from that, and they explain most of what confuses people:
The output is a snapshot, not a stream. A screen reflects the data as of the moment it ran. Run the same screen an hour later and the list changes. Nothing is being monitored on your behalf unless you separately set an alert.
The output is only as current as the underlying data. Free tiers commonly serve delayed quotes rather than real-time ones, and fundamental fields update on filing schedules, not continuously. A screen built on delayed data is still useful for end-of-day work and is a poor basis for intraday decisions.
It has no opinion. A screener cannot tell you that a stock is cheap, extended, or about to move. It can only tell you the stock matched your conditions. Every judgment stays yours.
A real screen, written out
The useful discipline is writing the screen down as a fixed specification before running it, so that today’s list and next month’s list were produced by the same rule. Here is the one this desk fixed in the protocol for its 30-day platform trial, opened 2026-08-23, in full:
Across the S&P 500 constituents: close above the 20-day simple moving average, relative volume above 1.5, market capitalization above $2 billion. Rank the passing names by relative volume, record the top five, and read their equal-weight return after each of the next five sessions.
Three conditions, a ranking rule, a fixed number of candidates, and a pre-committed follow-up measurement. Every term in it is arithmetic on daily bars:
# Illustrative: the screen predicate, exactly as specified above.
def passes(bars, market_cap): # bars = the last 21 daily bars, newest last
close = bars[-1]["close"]
sma20 = sum(b["close"] for b in bars[-20:]) / 20
relvol = bars[-1]["volume"] / (sum(b["volume"] for b in bars[-21:-1]) / 20)
return close > sma20 and relvol > 1.5 and market_cap > 2_000_000_000
Notice what the specification does not contain: a dozen technical conditions stacked until the list gets short. Notice also that “relative volume” needed a definition before it meant anything — today’s volume over the mean of the prior 20 bars, not over the prior 20 including today. Two desks running “relative volume above 1.5” can screen different universes.
That screen has been running daily since, and the output swings hard: on one bar it passed 2 names out of 503, a week after passing 34, and four sessions later the same unchanged rule returned 16. The list length is a property of the market on the day, not of how good the screen is.
Some platforms now accept that specification in plain English instead of filter boxes — TradingView’s AI Screener is one, and brokers now build their own, which we weigh against standalone tools in broker AI screeners vs standalone ones — which changes how a screen gets written, not what a screen can know. The limits that survive that translation are set out in what plain-English filters can’t fix.
What a free tier actually gates
“Is a free screener enough?” is really two questions — can you run the screen, and can you act on the list — and vendors gate them separately. TradingView is a useful worked example because it publishes a plan-comparison grid; every figure below was read off tradingview.com/pricing on 10 September 2026 and vendor pages change, so re-read it before acting on any row.
| Basic (free) | Essential | Plus | Premium | Ultimate | |
|---|---|---|---|---|---|
| “Stock, ETF, DEX, crypto screeners” row | blank | ✓ | ✓ | ✓ | ✓ |
| Active price alerts | 3 | 20 | 100 | 400 | 1,000 |
| Watchlists / symbols per list | 1 list, 30 symbols | 1,000 symbols | 1,000 | 1,000 | 1,000 |
| Charts per tab | 1 | 2 | 4 | 8 | 16 |
| Indicators per chart | 2 | 5 | 10 | 25 | 50 |
| Bars of history | 5K | 10K | 10K | 20K | 40K |
Read the alert and watchlist rows as the acting cost and the screener row as the running cost. For an end-of-day process that produces a five-name shortlist and reviews it by hand, three alerts and thirty watchlist slots are rarely the constraint. For a process that wants to be told when something changes across a hundred names, they are the whole constraint — and no amount of screener sophistication substitutes.
The criteria families, and what each is good for
Most platforms organize filters into the same broad families. Knowing which family answers which question saves a lot of aimless clicking.
| Filter family | Typical fields | Best used for |
|---|---|---|
| Price and liquidity | Price range, average daily volume, market cap, relative volume | Defining what is tradeable for you — the floors that keep un-executable names off the list |
| Volatility | ATR, ATR as a percent of price, beta, realized volatility | Position sizing and expectations: whether your stop distance is realistic and what size it implies |
| Fundamental | Earnings growth, revenue, margins, valuation multiples, debt, sector | Defining a persistent universe refreshed weekly or quarterly — poorly suited to timing anything |
| Technical | Price vs a moving average, MA crossovers, oscillator readings, distance from 52-week high/low, gaps | Day-to-day screens — and the family where over-specification does the most damage |
| Descriptive and event-based | Exchange, index membership, earnings-date proximity, dividend dates | Exclusions more often than inclusions: screening out names reporting this week is a common risk filter |
The liquidity row is the least interesting and the most important. A setup you cannot get in and out of at a reasonable spread is not a candidate regardless of how good the chart looks, which is why those conditions belong in the specification rather than in your judgment about each name afterwards.
Screener vs. scanner: is there a difference?
The terms are used loosely and often interchangeably. Where a platform distinguishes them, “screener” usually means a query run on demand against end-of-day or delayed data, and “scanner” means a continuously updating watch over intraday data. The practical difference is not the filters — those are much the same — but the refresh model and therefore the data cost: a scanner needs a real-time feed to mean anything, and real-time feeds are usually a separate purchase from the software.
Because the labels are inconsistent between vendors, check what a given product actually does: how often does it re-run, and on what data. Those two answers tell you which tool you have bought no matter what it is called.
Three habits that make a screen worth running
- Write the conditions down before running it. A screen you adjust until the output looks appealing is not a filter, it’s a search for confirmation.
- Record the output, including the names you pass on. The shortlist is the raw material for review later — and skipped candidates are the ones that leave no trace anywhere else. This is where a screener and a trading journal chain together: the screen produces the candidate list, the journal records what you decided about each name and why.
- Change the screen deliberately, and date the change. Otherwise you can never tell whether a stretch of poor results came from the market or from a filter you quietly loosened six weeks ago.
Where screens go wrong
Over-filtering. The most common failure by a distance. Every condition you add shrinks the output, and it is tempting to keep adding until the list is comfortably short. What you have actually done is fit the filter set to recent history — the surviving names match a very specific description that happened to occur lately, and there is no reason it recurs. A screen returning zero results on a normal day is over-specified, not selective.
Confusing a match with a setup. Passing a screen means satisfying conditions. It says nothing about the structure of the chart, the context around it, or whether the move already happened. The screen narrows where you look; it does not do the looking.
Ignoring liquidity. A microcap matching every technical condition beautifully may have a spread that eats the trade before it starts. Liquidity floors exist to keep names off the list that could never have been traded properly.
Running on stale or mismatched data. Delayed quotes, unadjusted prices around splits, and fundamental fields lagging the last filing all produce lists that look precise and describe a market that no longer exists. Check what your data source actually provides before trusting a tight numeric condition — reported volume in particular can still be revised after the close, which is one of six data defects that survived our code reviews.
Screening without a plan for the output. If there is no defined next step — a review process, a journal entry, a watchlist — the daily list becomes something you scroll rather than something you use.
Where a screener sits in the workflow
A screener answers “what should I look at today?” It does not answer “what should I trade?” or “how did my decisions turn out?” Those are separate jobs done by separate tools: the chart for the second, the journal for the third, and how the three chain together is a topic of its own. Confusion between them is the source of most disappointment with screening software — a screener that surfaces reasonable candidates is doing its job even when your results are poor, because it never claimed to evaluate the candidates.
Our 30-day desk trial of TradingView’s screener and charts is open, and publishes its numbers as they arrive rather than at the end. This page is about the method rather than any particular platform.
Frequently asked questions
What is a stock screener in simple terms?
A filter over the market. You specify conditions — price above a level, volume above an average, a technical or fundamental threshold — and it returns every listed security currently meeting all of them. It searches; it does not evaluate.
Are free stock screeners good enough?
For end-of-day work, often yes — but check where the vendor draws the line, because it is not always where you would guess. TradingView’s plan-comparison grid puts the screeners row itself behind the paid tiers and caps the free Basic tier’s ability to act on any list at 3 price alerts and one 30-symbol watchlist (read 10 September 2026 — see the table above). Two different limits, either of which can be the binding one; where that paywall lands is the real question. For deciding whether a specific limit justifies paying, see when to upgrade from a free stock screener.
How many filters should a stock screen use?
Fewer than feels right. A workable structure is one or two liquidity conditions that never change, plus two or three conditions expressing the actual idea. If you need many conditions to get a short list, you are probably describing a handful of recent situations rather than a repeatable pattern.
Does a stock screener tell you when to buy?
No. It reports which securities match your conditions at the moment you ran it. Timing, position sizing, and risk are decisions made after the screen, using information the screen does not contain.
Why does my screen return a different number of names every day?
Because the conditions are absolute thresholds, not a fixed quota. A two-condition screen can lose most of its output when only one of the conditions moves against the market, without either condition doing anything unusual on its own.
Educational content only. Nothing here is a recommendation to buy or sell any security, and no screening approach described above is presented as suitable for any particular person.