Skip to content
Docs
Get Pro

Screening

Filter the whole market on fundamentals and technicals. The DocStoX MCP tools in this group, what each returns and the parameters it takes.

Updated
On this page

You do not call these tools yourself. Ask your question in plain English and your AI picks the right one.

screen_stocksPro

Screen stocks

Custom stock screener with fundamental, technical, market, ownership and corporate-action filters.

min_peoptional
Minimum trailing P/E ratio (price / EPS), e.g. 5.
max_peoptional
Maximum trailing P/E ratio, e.g. 20.
min_pboptional
Minimum price-to-book ratio, e.g. 0.5.
max_pboptional
Maximum price-to-book ratio, e.g. 3.
min_roeoptional
Minimum return on equity, percent (15 = 15%).
min_roceoptional
Minimum return on capital employed, percent (20 = 20%).
min_roaoptional
Minimum return on assets, percent (5 = 5%).
min_roicoptional
Minimum return on invested capital, percent.
min_net_marginoptional
Minimum net profit margin, percent.
min_ebitda_marginoptional
Minimum EBITDA margin, percent.
max_altman_zoptional
Maximum Altman Z (distress screening).
max_debt_equityoptional
Maximum debt-to-equity ratio as a multiple (0.5 = debt is half of equity).
max_net_debt_ebitdaoptional
Maximum net debt / EBITDA as a multiple, e.g. 2.
min_interest_coverageoptional
Minimum interest coverage (EBIT / interest) as a multiple, e.g. 3.
min_free_cash_flowoptional
Minimum latest annual free cash flow in ₹ crore; 0 keeps only FCF-positive companies.
min_rsioptional
Minimum 14-day RSI (0-100), e.g. 50.
max_rsioptional
Maximum 14-day RSI (0-100), e.g. 70.
sectoroptional
Sector name, e.g. 'Information Technology'. Case-insensitive.
market_cap_catoptional
Size band. A trailing ' Cap' is stripped before the query, so either spelling works.
min_revenue_yoy_pctoptional
Minimum revenue growth vs the same period a year earlier, percent (15 = 15%).
min_pat_yoy_pctoptional
Minimum net-profit (PAT) growth year on year, percent.
min_piotroskioptional
Minimum Piotroski F-score (0-9); 7+ is strong.
min_altman_zoptional
Minimum Altman Z-score; above ~3 is the 'safe' zone, below 1.8 distress.
max_promoter_pledgedoptional
BROKEN: reads mv_screener_snapshot.promoter_pledged_pct, which is ~0% populated in this DB, so any value here matches almost nothing. Use screen_advanced with the own_pledged_pct metric instead, which reads the source table.
min_promoter_pctoptional
Minimum promoter holding %. Also sparse here; screen_advanced own_promoter_pct reads the source table.
supertrend_bullishoptional
true = Supertrend indicator in an uptrend; false = downtrend.
near_52w_lowoptional
Within 5% of the 52-week low.
new_52w_highoptional
Printed a new 52-week high.
volume_breakoutoptional
Volume broke out versus its own average.
golden_crossoptional
true = 50-day SMA crossed above the 200-day SMA in the latest session.
above_sma200optional
true = price above its 200-day simple moving average.
min_delivery_pctoptional
Minimum delivery percentage of traded volume (0-100), e.g. 50.
min_listing_age_monthsoptional
Minimum months since listing. Defaults to 3 (thin history breaks technical screens); pass 0 to include new listings.
has_upcoming_corporate_actionoptional
true = an ex-date (dividend, bonus, split, rights, buyback) falls within catalyst_window_days.
catalyst_window_daysoptional
Days ahead to look for an ex-date when has_upcoming_corporate_action=True.
sort_byoptional
Column to rank by.
sort_diroptional
DESC = largest first, ASC = smallest first.
limitoptional
Max rows to return (1-100).

screen_advancedPro

Screen advanced

THE stock-discovery primitive: compile an investment THESIS into a screen.

filtersoptional
Filter tree. A leaf is {"metric": <id>, "op": ">=|<=|>|<|==|!=", "value": <number|bool|text>}. Combine with {"all":[...]} (AND), {"any":[...]} (OR) and {"not": <node>}; nesting is allowed. A plain list is treated as AND. Metric ids come from list_screener_metrics().
sort_byoptional
Ranking. A metric name, or a list for multi-key ranking: [{"metric":"pat_yoy_pct","dir":"DESC"},{"metric":"pe_ratio","dir":"ASC"}]. An unknown key is REJECTED, never silently defaulted.
sort_diroptional
Direction for a plain-string sort_by: DESC = largest first, ASC = smallest first.
limitoptional
Max rows to return (1-100).
exclude_etfsoptional
Drop ETFs/fund units, which otherwise top any cheapness ranking (a Kotak ETF shows P/B 0.08).
min_listing_age_monthsoptional
Exclude recent listings; thin history breaks technical and multi-year screens. 0 to include them.
min_liquidityoptional
Require market cap >=100cr and 30d avg volume >=5,000 shares. Without it, ranking by a quality or growth metric surfaces untradeable shells whose ratios are noise.

list_screener_metricsPro

List screener metrics

Discover every metric screen_stocks can filter and sort on.

categoryoptional
Metric family, e.g. growth | valuation | quality | balance_sheet. Omit for all.
filterable_onlyoptional
Legacy flag: every metric listed is filterable, so this is a no-op kept for compatibility.
min_coverage_pctoptional
Drop metrics covering less of the universe than this.
searchoptional
Substring match on metric id or description.

Running low?

Two ways to get more calls and credits

Invite a friend, free

When someone signs up through your link, you get 2,000 research credits and they get 500. Bonus credits never expire.

Get your invite link

Move to Pro

5,000 tool calls a day instead of 50, 5,000 research credits instead of 500, and every one of the 94 tools in full.

See Pro

See what you have used today at Usage.

Was this page helpful?

Something wrong or missing on this page? Email [email protected]