Skip to Content

Configuration

This API returns the list of all screeners and the exact values each screener accepts. Every id you send to the other three Screeners APIs comes from this response.

USE CASE

Load the list of screeners once, to build a screener menu or to check a request before you run a Standard, Candlestick or Technical screener.

Note

This API takes no parameters. Sending any parameter returns HTTP 400.

Details

  • Send your App ID and access token in the Authorization header as APP_ID:ACCESS_TOKEN.
  • Only GET is supported. Any other method returns HTTP 405.
  • This API is part of the Data APIs and works with access tokens of all app types (100, 102 and 200).
  • The response holds the keys listed in the table below.
  • Every screener has: id (send it as screener_id), name, category, description, conditions (the rule a row must meet), order_by and order (the default sort), default_universe and supported_params (the only parameters it accepts besides screener_id).
  • Standard screeners also have universe_group, column_group, default_timeframe and allowed_timeframes. For a screener that takes no timeframe, default_timeframe is null and allowed_timeframes is empty.
  • Candlestick and Technical screeners have an empty supported_params, because they take only screener_id.
  • The screeners_standard array contains the following screener categories:
  • Each object in screeners_standard, screeners_technical, and screeners_candlestick represents an available screener.
  • Columns
  • Price & Volume
  • Returns
  • F&O
  • Valuation Ratios
  • Growth
  • Margin & Profitability
  • P&L – Annual
  • Quarterly
  • Balance Sheet
  • Solvency & Liquidity
  • Cash Flow
  • Others
  • The column id can also appear in the order_by field of a screener object.
  • The timeframes array contains the supported periods for measuring price changes.
  • Universes
  • Broad indices
  • Sector indices
  • NSE, BSE, and F&O stocks
  • Sector and industry groups
  • ETFs and other instruments
  • ETF instrument classifications
The `columns` array contains the fields supported in screener results. Columns are grouped into categories such as: A universe defines the group of instruments on which a screener is applied.

Cash-market universes

The `universes` array includes:

Futures universes

Returned in `universes_futures`.

Options universes

Returned in `universes_options`.

Plan limits

Standard plan

  • 50 requests per day

Prime plan

  • As per Prime API rate limits: 10 requests per second, 500 per minute and 5,00,000 per day

For rate limits and all other plan details, see Plans & rate limits.

Screener types

Screener typeDescription
Custom ScreenersIncludes predefined screeners based on price movement, volume, breakouts, futures, options, commodities, fundamentals, ETFs, and other market conditions. These screeners are returned in the screeners_standard array.
Technical Crossovers and MomentumIncludes screeners based on technical indicators, moving-average crossovers, and momentum conditions such as MACD, Golden Crossover, Death Crossover, and Money Flow Index signals. These screeners are returned in the screeners_technical array.
Candlestick Screeners – EODIncludes end-of-day candlestick pattern screeners used to identify bullish, bearish, reversal, and continuation patterns. These screeners are returned in the screeners_candlestick array.

Custom screener categories

CategoryDescription
Intraday ScreenersIdentifies intraday price movement, volume activity, gaps, reversals, circuit activity, and stocks trading near their daily highs or lows.
Breakout with VolumeIdentifies stocks reaching new highs or lows across different periods with higher-than-average trading volume.
Technical Crossovers and MomentumIdentifies consecutive higher highs, lower lows, higher closes, and lower closes based on recent price movement.
Commodities FuturesIdentifies commodity futures based on price movement, premium, open interest, position buildup, and expiry.
Futures ScanIdentifies futures contracts based on price movement, premium, open interest, and long or short position activity.
Options TradingIdentifies options contracts based on premium movement, open-interest changes, and long or short position activity.
Fresh BreakoutsIdentifies stocks reaching new periodic highs or lows or crossing key support and resistance levels.
Near BreakoutsIdentifies stocks trading close to their periodic or all-time highs and lows.
FundamentalsIdentifies companies based on valuation, growth, profitability, debt, dividend, and cash-flow conditions.
ETFIdentifies exchange-traded funds based on price movement, proximity to yearly highs or lows, and instrument classification.

Screener object

AttributeData TypeDescription
idstringUnique identifier of the screener. Use this value when requesting results for a specific screener.
namestringDisplay name of the screener.
categorystringCategory under which the screener is grouped.
descriptionstringBrief explanation of the market condition identified by the screener.
conditionsstringConditions used to identify matching instruments. This field can be empty for system-defined technical or candlestick screeners.
order_bystringColumn identifier used to sort the screener results.
orderstringSorting direction applied to the results. Supported values are asc and desc.

Column object

AttributeData TypeDescription
idstringUnique identifier of the column.
namestringDisplay name of the column.
categorystringCategory under which the column is grouped.

Timeframes

TimeframeDescription
1 minutePercentage change over one minute.
5 minutesPercentage change over five minutes.
15 minutesPercentage change over 15 minutes.
30 minutesPercentage change over 30 minutes.
1 hourPercentage change over one hour.
1 dayPercentage change for the current trading day.
1 weekPercentage change over one week.
1 monthPercentage change over one month.
3 monthsPercentage change over three months.
6 monthsPercentage change over six months.
Year to datePercentage change from the beginning of the current calendar year.
52 weeksPercentage change over the previous 52 weeks.
2 yearsPercentage change over two years.
3 yearsPercentage change over three years.
5 yearsPercentage change over five years.
All timePercentage change across the complete available trading history.

Timeframe object

AttributeData TypeDescription
idstringUnique identifier of the timeframe.
namestringDisplay name of the timeframe.
UniverseDescription
Index Based FuturesIncludes futures contracts based on supported market indices.
Stock Based FuturesIncludes futures contracts based on individual stocks.
Commodity Based FuturesIncludes supported commodity futures contracts.
UniverseDescription
Index Based OptionsIncludes options contracts based on supported market indices.
Stock Based OptionsIncludes options contracts based on individual stocks.
Commodity Based OptionsIncludes supported commodity options contracts.

Universe object

AttributeData TypeDescription
idstringUnique identifier of the universe.
namestringDisplay name of the universe.
categorystringCategory under which the universe is grouped.

Response Attributes

AttributeData TypeDescription
sstringok / error
codeintThis is the code to identify specific responses
messagestringThis is the message to identify the specific error responses
dataobjectContains screeners_standard, screeners_technical, screeners_candlestick, columns, timeframes, universes, universes_futures, and
universes_optionsarrays

Sorting behaviour

Screener results are sorted using the values returned in `order_by` and `order`.
  • order_by identifies the column used for sorting.
  • asc sorts the values from lowest to highest.
  • desc sorts the values from highest to lowest.

For example, the top_gainers screener uses t0_per_change with the sorting order desc, which displays instruments with the highest one-day percentage change first.

Response keys

AttributeWhat it holdsUse it for
screeners_standard111 Standard screenersscreener_id of the Standard API
screeners_candlestick23 Candlestick screenersscreener_id of the Candlestick API
screeners_technical6 Technical screenersscreener_id of the Technical API
columnsThe 118 Standard fields: id, name (display label) and categoryfields and order_by
column_groupsWhich field ids each group allows: equity (103), fno (45), commodity (45)The fields a screener accepts
universes, universes_futures, universes_optionsUniverse ids and names (97, 3 and 3)universe
universe_groupsWhich universe ids each group allowsThe universes a screener accepts
timeframesThe 16 timeframe ids, from t0_1min (1 minute) to alltime (all time)timeframe
option_types, expiry_typesCE, PE and W (weekly), M (monthly)option_type; reading expiries
expiriesUpcoming expiries of fw001, fw002, ow001 and ow002, each with epoch, date and displayexpiry

How to build a valid Standard request

  • Find the screener in screeners_standard. Note its id, universe_group, column_group, allowed_timeframes and supported_params.
  • fields: pick up to 10 ids from column_groups[column_group].
  • universe: pick one id from universe_groups[universe_group]. Leave it out to use default_universe.
  • timeframe: pick one of allowed_timeframes. Leave it out to use default_timeframe.
  • expiry: only if expiry is in supported_params and the universe is fw001, fw002, ow001 or ow002. Use an epoch from expiries[universe].
  • Send only the parameters listed in supported_params.

Notes

  • The expiry lists change as contracts expire, so call this API at least once a day.
  • supported_params can list expiry for a screener that also runs on commodity universes. Commodity universes do not accept an expiry, so check expiries for the universe before you send one.
  • A field's id and name here are the unique_key and description of the same field in a screener's response header.
  • The conditions field describes the default logic used by a predefined screener. It can be empty for technical, candlestick, expiry-based or instrument-classification screeners whose calculation logic is managed internally.
Last updated on