Screener APIscreener.in ↗
Access Indian stock financials, IPOs, price history, peer comparisons, and company announcements via the Screener.in API. 9 endpoints covering NSE/BSE listed companies.
What is the Screener API?
The Screener.in API provides structured financial data for Indian public companies across 9 endpoints, covering everything from quarterly P&L and balance sheet figures to IPO listings and BSE filing announcements. The company_details endpoint alone returns over a dozen response fields including key ratios, cash flow tables, shareholding patterns, and EPS history — all keyed to a company symbol like RELIANCE or INFY.
curl -X GET 'https://api.parse.bot/scraper/60e3da38-7f8e-48da-9612-d6b90f3261cc/search?query=reliance' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for companies by name or ticker symbol. Returns up to ~8 matching results including ETFs and subsidiaries. Each result carries an integer id usable with price_history and announcements, plus a relative URL path containing the symbol.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword such as a company name or ticker symbol. |
{
"type": "object",
"fields": {
"results": "array of company match objects with id, name, and url"
},
"sample": {
"data": {
"results": [
{
"id": 2726,
"url": "/company/RELIANCE/consolidated/",
"name": "Reliance Industries Ltd"
},
{
"id": 2729,
"url": "/company/RPOWER/consolidated/",
"name": "Reliance Power Ltd"
}
]
},
"status": "success"
}
}About the Screener API
Company Financials and Ratios
The company_details endpoint accepts a symbol parameter (e.g. SBIN, INFY) and an optional consolidated boolean. It returns multi-period tabular data as arrays of arrays: the first inner array is always a header row with period labels such as Mar 2015, Mar 2016, and so on. Fields include profit_loss, balance_sheet, cash_flow, quarters (quarterly results), shareholding, and ratios. The top_ratios field is a flat object mapping ratio names directly to their current string values for quick lookups. A company_id and warehouse_id are also returned, which are required inputs for the price_history, announcements, and peers endpoints.
Price History, Peers, and Screens
The price_history endpoint accepts a numeric company_id and optional days integer. It returns a datasets array where each object includes a metric, label, and values array of [date, value] pairs — covering price, volume, DMA50, and DMA200. For longer time ranges, data is aggregated weekly. The peers endpoint takes a warehouse_id from company_details and returns a comparison table where the first row is the header and subsequent rows are peer companies with columns for CMP, P/E, market cap, dividend yield, and ROCE. The screen_results endpoint retrieves paginated stocks from a pre-defined screen by screen_id, with slugs like magic-formula or fii-buying as optional hints.
IPOs, Sectors, and Announcements
The ipo_data endpoint accepts a type parameter of recent or upcoming and returns an array of arrays covering IPO name, date, subscription rate, issue price, listing price, and gain or loss. The stock_list endpoint works in two modes: omit sector_url to get a list of available sectors with their URL paths, or supply a sector URL (e.g. /market/IN05/IN0501/IN050102/ for Banks) to retrieve paginated stock tables for that sector. The announcements endpoint returns recent BSE filing links with title, URL, and date for a given company_id. The concall endpoint retrieves conference call entries by symbol, each with a date and an array of typed links pointing to transcripts, presentations, recordings, and AI summary pages.
The Screener API is a managed, monitored endpoint for screener.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when screener.in changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official screener.in API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Building a stock screener dashboard using
screen_resultswith screens like magic-formula or FII buying activity - Tracking IPO performance by pulling issue price, listing price, and subscription data from
ipo_data - Constructing multi-year financial models from
profit_loss,balance_sheet, andcash_flowarrays returned bycompany_details - Monitoring BSE regulatory filings and disclosures for a watchlist of companies via the
announcementsendpoint - Plotting price charts with DMA50 and DMA200 overlays using date-value pairs from
price_history - Comparing valuation multiples across sector peers using P/E, market cap, and ROCE from the
peersendpoint - Aggregating concall transcripts and presentations for earnings analysis using the
concallendpoint
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Screener.in have an official developer API?+
What does the `company_details` endpoint return for financial data, and how is it structured?+
profit_loss, balance_sheet, cash_flow, quarters, ratios, and shareholding. In each case, the first inner array is the header row containing period labels. Subsequent arrays are data rows. The top_ratios field is a flat key-value object for the most current ratios. The endpoint also returns company_id and warehouse_id, which are required by the price_history, announcements, and peers endpoints.Does the `price_history` endpoint return intraday or tick-level data?+
price_history returns end-of-day data at daily granularity for shorter periods, shifting to weekly-aggregated data for longer date ranges. The days parameter controls how far back the data extends. Intraday or tick-level price data is not currently covered by this API. You can fork it on Parse and revise to add an intraday endpoint if your use case requires sub-daily resolution.Can I retrieve custom stock screens I have created on Screener.in?+
screen_results endpoint works with pre-defined screens identified by a numeric screen_id. Publicly available screens like magic-formula (ID 59) and fii-buying (ID 343087) are supported. Creating or querying screens by arbitrary formula is not currently covered. You can fork this API on Parse and revise it to target additional screen IDs as needed.Are there any data gaps or coverage limitations to be aware of?+
announcements endpoint notes that the date field may be null for very recent filings. Search results are capped at approximately 8 matches per query, so ambiguous or short queries may not surface all matching companies.