bseindia.com APIwww.bseindia.com ↗
Access BSE India market data via API: top gainers, losers, 52-week highs/lows, bulk deals, and block deals for the most recent trading day.
curl -X GET 'https://api.parse.bot/scraper/c7f4478b-0766-429f-ac6c-090d61435b28/get_gainers?order_by=value' \ -H 'X-API-Key: $PARSE_API_KEY'
Get top gaining stocks from BSE India for the most recent trading day. Returns all market stocks sorted by change percentage descending.
| Param | Type | Description |
|---|---|---|
| order_by | string | Sort order for results. Accepted values: 'all', 'value', 'volume'. |
{
"type": "object",
"fields": {
"data": "array of stock objects with scrip_code, scrip_name, full_name, group, open, high, low, last_traded_price, prev_close, change, change_percent, traded_value, traded_volume, num_trades, trend, date_time",
"type": "string, always 'gainers'",
"total": "integer, number of gaining stocks returned"
},
"sample": {
"data": {
"data": [
{
"low": 721.05,
"high": 814.55,
"open": 745.55,
"group": "A",
"trend": "+",
"change": 135.75,
"date_time": "2026-04-30T16:00:00",
"full_name": "Cemindia Projects Ltd",
"num_trades": 22578,
"prev_close": 678.8,
"scrip_code": 509496,
"scrip_name": "CEMPRO",
"traded_value": 8057.08,
"traded_volume": 1023794,
"change_percent": 20,
"last_traded_price": 814.55
}
],
"type": "gainers",
"total": 1577
},
"status": "success"
}
}About the bseindia.com API
The BSE India API exposes 6 endpoints covering live market activity on the Bombay Stock Exchange, including top gainers, losers, 52-week highs and lows, bulk deals, and block deals for the most recent trading session. The get_gainers endpoint alone returns over a dozen fields per stock — including scrip_code, open, high, low, last_traded_price, prev_close, and percentage change — across all BSE-listed equities sorted by gain.
Market Movers
get_gainers and get_losers return the full universe of BSE-listed stocks sorted by change percentage — descending for gainers, ascending for losers. Both endpoints accept an optional order_by parameter ('all', 'value', or 'volume') to reorder results by trade value or volume instead of percentage change. Each stock object includes scrip_code, scrip_name, full_name, group, open, high, low, last_traded_price, prev_close, and change fields. A total integer tells you how many stocks qualified on that trading day.
52-Week Extremes
get_52week_high and get_52week_low return stocks that touched new annual extremes on the most recent trading day. Both support filtering by group_code (e.g. 'A', 'B', 'M', 'X') and index_code to narrow results to a specific BSE segment or index. get_52week_high additionally accepts a scrip_code to pull data for a single stock. Response objects include the current and previous 52-week extreme values along with their respective dates (current_52wk_high_date, current_52wk_low_date) and last_traded_price — useful for tracking how far a price has moved from its annual boundary.
Bulk and Block Deals
get_bulk_deals and get_block_deals each return the disclosed large-trade activity reported for the most recent trading day. Bulk deals are trades crossing a threshold percentage of a company's total equity; block deals are executed through a dedicated pre-market trading window. Both endpoints return the same field shape: deal_date, scrip_code, scrip_name, client_name, deal_type, quantity, and price. The type field in the response distinguishes 'bulk_deals' from 'block_deals' so both can be processed by shared parsing logic. Neither endpoint accepts filter parameters — they return the full day's reported activity.
Data Scope and Freshness
All six endpoints reflect the most recent completed trading day on BSE. There are no historical range parameters — if you need time-series data, you would need to poll and store results across sessions. The 52-week endpoints include the date of the extreme (current_52wk_high_date / current_52wk_low_date) alongside the previous extreme value, giving context for whether a stock is breaking into new territory or revisiting a prior level.
- Build a daily BSE market summary dashboard showing top 10 gainers and losers by volume.
- Alert system that notifies when a stock in a watchlist appears in the bulk deals or block deals feed.
- Screen for BSE 'A' group stocks hitting 52-week highs filtered by
group_codeto focus on large-cap equities. - Track institutional activity by extracting
client_nameandquantityfrom bulk and block deal records. - Compare
last_traded_priceagainstcurrent_52wk_lowto identify stocks recovering from annual lows. - Rank BSE stocks by value traded using the
order_by=valueparameter inget_gainers. - Monitor deal disclosures each session by storing
get_bulk_dealsoutput and diffing against prior-day data.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does BSE India have an official developer API?+
How do the `get_52week_high` and `get_52week_low` filters work?+
get_52week_high accepts group_code (e.g. 'A', 'B', 'M', 'X'), index_code, and scrip_code as optional filters. get_52week_low supports group_code and index_code but not scrip_code. Passing an empty string or omitting a parameter returns results across all groups or indices. Accepted group_code values correspond to BSE's standard equity classification tiers.Do the bulk and block deal endpoints cover historical dates?+
get_bulk_deals and get_block_deals return data for the most recent trading day only — there are no date-range parameters. The API covers current-session disclosures. You can fork it on Parse and revise to add date-parameterized endpoints if historical deal data is available from the source.Does the API cover intraday price data or order book depth?+
Are there any BSE indices or derivative instruments covered?+
scrip_code. Index-level metrics (e.g. Sensex constituents, Nifty equivalents) and derivative contracts such as futures or options are not covered. You can fork it on Parse and revise to add the missing endpoint for index or derivative data.