---
title: "Screener rows"
method: GET
path: "/screeners/{slug}"
tags: ["Screeners"]
---

# Screener rows

`GET /screeners/{slug}`

## Request

- Base URL: `https://stockmarketscan.com/api/v1`
- URL: `https://stockmarketscan.com/api/v1/screeners/{slug}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
  - API key in header `X-RapidAPI-Key`

One row per symbol (per exchange for `market-momentum`) from a single
screener snapshot, ordered by that key ascending. The first page uses
the latest snapshot unless `date` is given; its cursor pins that
snapshot, so later pages never mix snapshots. The fields of each
screener are the `ScreenerRow<Slug>` schemas. The tier required
depends on the screener (see `tier` in the catalog).

## Path parameters

- `slug` 'strong-volume-gains' | 'top-tech-stocks' | 'income-and-growth' | 'golden-cross' | 'hot-prospects' | 'rsi-oversold' | 'rsi-overbought' | 'fundamentally-fine' | 'dividend-prospects' | 'defensive-stocks' | 'best-reits' | 'top-penny-pops' | 'trend-seeker' | 'long-term-100-buy-signals' | 'unusual-options' | 'week-52-high-top-picks' | 'j-pattern' | 'upwards-base-consolidation' | 'nearing-6-month-highs' | 'day-3-bounce' | 'death-cross' | 'long-term-100-sell-signals' | 'lateral-price-range' | 'market-momentum', required

## Query parameters

- `limit` integer
- `cursor` string
- `date` string, date

## Headers

- `If-None-Match` string

## Response `200`

Screener rows

- object
  - `data` ScreenerRow[], required
    - union: A row of any screener. The exact fields per slug are in ScreenerRow<Slug>.
      - ScreenerRowStrongVolumeGains: One row of Strong Volume Gains (strong-volume-gains).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowTopTechStocks: One row of Top Tech Stocks (top-tech-stocks).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `market_cap` number, nullable, required: Mkt Cap
        - `high_hits_6m` number, nullable, required: Highs 6M
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowIncomeAndGrowth: One row of Income & Growth (income-and-growth).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `earnings_growth_5y` number, nullable, required: Earn 5Y
        - `dividend_growth_5y` number, nullable, required: Div 5Y
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowGoldenCross: One row of Golden Cross (golden-cross).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `macd_50_to_200d_new_signal` string, nullable, required: Signal
        - `average_volume_20d` number, nullable, required: Avg Vol
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowHotProspects: One row of Hot Prospects (hot-prospects).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `percent_change_1m` number, nullable, required: 1M
        - `percent_change_3m` number, nullable, required: 3M
        - `opinion` string, nullable, required: Opinion
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowRsiOversold: One row of RSI Oversold (rsi-oversold).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowRsiOverbought: One row of RSI Overbought (rsi-overbought).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `relative_strength_20d` number, nullable, required: RSI
        - `percent_change_5d` number, nullable, required: 5D
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowFundamentallyFine: One row of Solid Fundamentals (fundamentally-fine).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `revenue_growth_last_year` number, nullable, required: Rev YoY
        - `weighted_alpha` number, nullable, required: Alpha
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowDividendProspects: One row of Dividend Prospects (dividend-prospects).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `dividend_payout` number, nullable, required: Payout
        - `dividend_growth_5y` number, nullable, required: Div 5Y
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowDefensiveStocks: One row of Defensive Stocks (defensive-stocks).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `beta` number, nullable, required: Beta
        - `pe_ratio` number, nullable, required: P/E
        - `dividend` number, nullable, required: Dividend
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowBestReits: One row of Best REITs (best-reits).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `profit_margin` number, nullable, required: Margin
        - `return_on_equity` number, nullable, required: ROE
        - `average_recommendation` number, nullable, required: Rating
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowTopPennyPops: One row of Top Penny Pops (top-penny-pops).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowTrendSeeker: One row of Trend Watch (trend-seeker).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `opinion` string, nullable, required: Opinion
        - `opinion_short_term` string, nullable, required: Short Term
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowLongTerm100BuySignals: One row of Long Term Bullish Indicators (long-term-100-buy-signals).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `weighted_alpha` number, nullable, required: Alpha
        - `percent_change_1m` number, nullable, required: 1M
        - `percent_change_3m` number, nullable, required: 3M
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowUnusualOptions: One row of Unusual Options Activity (unusual-options).
        - `symbol` string, required: Row key, never null.
        - `option_symbol` string, nullable, required: Contract
        - `symbol_type` string, nullable, required: Type
        - `base_last_price` number, nullable, required: Stock Price
        - `strike_price` number, nullable, required: Strike
        - `expiration_date` string, date, nullable, required: Expiry
        - `days_to_expiration` number, nullable, required: DTE
        - `last_price` number, nullable, required: Price
        - `bid_price` number, nullable, required: Bid
        - `midpoint` number, nullable, required: Mid
        - `ask_price` number, nullable, required: Ask
        - `volume` number, nullable, required: Volume
        - `open_interest` number, nullable, required: OI
        - `volume_oi_ratio` number, nullable, required: Vol/OI
        - `volatility` number, nullable, required: IV
        - `delta` number, nullable, required: Delta
        - `trade_time` string, nullable, required: Trade Time
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowWeek52HighTopPicks: One row of 52 Week High Picks (week-52-high-top-picks).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `weighted_alpha` number, nullable, required: Alpha
        - `percent_change_1m` number, nullable, required: 1M
        - `percent_change_3m` number, nullable, required: 3M
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowJPattern: One row of J Pattern (j-pattern).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `gap_up` number, nullable, required: Gap Up
        - `percent_change_5d` number, nullable, required: 5D
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowUpwardsBaseConsolidation: One row of Upward Consolidation (upwards-base-consolidation).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowNearing6MonthHighs: One row of 6 Month Highs (nearing-6-month-highs).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `high_percent_6m` number, nullable, required: % to High
        - `historic_volatility_9d` number, nullable, required: Vol 9D
        - `exchange` string, nullable, required: Exchange
        - `industry` string, nullable, required: Industry
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowDay3Bounce: One row of Day 3 Bounce (day-3-bounce).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowDeathCross: One row of Death Cross (death-cross).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowLongTerm100SellSignals: One row of Long Term Bearish Indicators (long-term-100-sell-signals).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `weighted_alpha` number, nullable, required: Alpha
        - `percent_change_1m` number, nullable, required: 1M
        - `percent_change_3m` number, nullable, required: 3M
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowLateralPriceRange: One row of Lateral Price Range (lateral-price-range).
        - `symbol` string, required: Row key, never null.
        - `symbol_name` string, nullable, required: Name
        - `last_price` number, nullable, required: Price
        - `percent_change` number, nullable, required: Change
        - `volume` number, nullable, required: Volume
        - `data_date` string, date, required: Snapshot date.
      - ScreenerRowMarketMomentum: One row of Market Momentum (market-momentum).
        - `advancing_issues` number, nullable, required: Advancing
        - `declining_issues` number, nullable, required: Declining
        - `unchanged_issues` number, nullable, required: Unchanged
        - `new_highs` number, nullable, required: New Highs
        - `new_lows` number, nullable, required: New Lows
        - `exchange` string, required: Row key, never null.
        - `percent_advancing_issues` number, nullable, required: % Advancing
        - `percent_declining_issues` number, nullable, required: % Declining
        - `percent_unchanged_issues` number, nullable, required: % Unchanged
        - `data_date` string, date, required: Snapshot date.
  - `meta` object, required: Response metadata. Endpoint-specific keys are documented per operation.
    - `as_of` string, date, nullable, required: Trading date of the underlying data. Null when there is no data.
    - `generated_at` string, date-time, required: When this response was produced (RFC 3339 UTC).
    - `pagination` Pagination, required: Present on list endpoints. Follow `next_cursor` until it is null.
      - `limit` integer, required: Page size that was applied.
      - `next_cursor` string, nullable, required: Cursor for the next page; null on the last page.
      - `total` integer: Rows across all pages. Only where it is cheap and exact.
    - `parameters` object, required: Parameters applied after defaults.
      - `limit` integer, required
      - `date` string, date, nullable, required
    - `screener` object, required
      - `slug` 'strong-volume-gains' | 'top-tech-stocks' | 'income-and-growth' | 'golden-cross' | 'hot-prospects' | 'rsi-oversold' | 'rsi-overbought' | 'fundamentally-fine' | 'dividend-prospects' | 'defensive-stocks' | 'best-reits' | 'top-penny-pops' | 'trend-seeker' | 'long-term-100-buy-signals' | 'unusual-options' | 'week-52-high-top-picks' | 'j-pattern' | 'upwards-base-consolidation' | 'nearing-6-month-highs' | 'day-3-bounce' | 'death-cross' | 'long-term-100-sell-signals' | 'lateral-price-range' | 'market-momentum', required
      - `name` string, required
      - `tier` 'free' | 'basic' | 'pro', required

## Other responses

- `304`: Not modified since the ETag in `If-None-Match`. No body; not counted against your quota.
- `400`: Invalid parameter, cursor or body. Not counted against your quota.
- `401`: Missing or invalid credentials.
- `403`: Your plan does not include this endpoint or screener. Not counted against your quota.
- `404`: Not found. Not counted against your quota.
- `429`: Rate limit or quota exceeded. `Retry-After` says when to retry.
- `500`: Unexpected server error. Quote `request_id` when reporting it.
- `503`: A dependency (database or key store) is unavailable.

---

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