Run a Custom Stock Screen on Screener.in
screener_run_custom_screenFilter all listed Indian companies by fundamental criteria using Screener.in query syntax. Return matching companies based on financial ratios and growth metrics.
Instructions
Run a custom stock screen using Screener.in's query-builder syntax against 10+ years of financial data for all listed Indian companies, and return the matching companies.
This is the core "screener" feature — filter the whole market by fundamental criteria in one call, instead of checking companies one by one.
Args:
query (string): Screener query syntax. Combine conditions with AND/OR. Examples: "Market Capitalization > 500 AND Return on capital employed > 22" "Price to Earning < 15 AND Debt to equity < 0.5 AND Sales growth 3Years > 10" Common fields: Market Capitalization, Current Price, Price to Earning, Return on equity, Return on capital employed, Debt to equity, Sales growth, Profit growth, Dividend yield, Book value, Promoter holding.
limit (number, 1-100, default 25): Max rows to return. Note: without a logged-in session (SCREENER_SESSION_COOKIE env var), Screener itself caps guest results to a small number regardless of this limit.
Returns: JSON: { "columns": string[], "rows": [{name, values}], "totalFound": number|null, "truncated": boolean }
Examples:
Use when: "Find small-cap companies with ROE > 20% and low debt" -> query="Market Capitalization < 5000 AND Return on equity > 20 AND Debt to equity < 0.3"
Don't use when: You want data for one specific known company (use screener_get_company_overview instead)
Error Handling:
Returns "Error: Screener rejected this query: ..." if the query syntax is invalid — check field names and operators.
If truncated=true and totalFound is much larger than what's returned, note that a logged-in session would unlock more rows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of result rows to return (default 25, max 100). Guest access is capped by Screener regardless of this value. | |
| query | Yes | Screener.in query-builder syntax, e.g. "Market Capitalization > 500 AND Return on equity > 22". Combine conditions with AND/OR. Common fields: Market Capitalization, Current Price, Price to Earning, Return on equity, Return on capital employed, Debt to equity, Sales growth, Profit growth, Dividend yield, Book value. |