---
title: "List all screeners"
method: GET
path: "/screeners"
tags: ["Screeners"]
---

# List all screeners

`GET /screeners`

## Request

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

Metadata for all 24 screeners, including each row field with its JSON
`value_type`, and the tier each screener requires. The API key is
optional: without one only the free screeners report
`accessible: true`. Not paginated.

## Headers

- `If-None-Match` string

## Response `200`

Screener catalog

- object
  - `data` Screener[], 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
    - `description` string, required
    - `category` 'technical' | 'fundamental' | 'momentum' | 'dividend' | 'special', required
    - `tier` 'free' | 'basic' | 'pro', required
    - `accessible` boolean, required: Whether your plan can read this screener's rows.
    - `columns` ScreenerColumn[], required: Fields of each row. Every row also carries `data_date`.
      - `key` string, required
      - `label` string, required
      - `type` 'text' | 'price' | 'percent' | 'volume' | 'date' | 'signal', required: Display type on stockmarketscan.com.
      - `value_type` 'number' | 'string' | 'date', required: JSON type of the value in rows (`date` = YYYY-MM-DD). Any value may be null except the row key.
  - `meta` object, required: Response metadata. Endpoint-specific keys are documented per operation.
    - `as_of` string, date, nullable: 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: 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: Parameters applied after defaults.
    - `caller_tier` 'free' | 'basic' | 'pro', required
    - `total` integer, required: Number of screeners.
    - `accessible` integer, required: Screeners whose rows your plan can read.

## Other responses

- `304`: Not modified since the ETag in `If-None-Match`. No 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.
- `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)
