BSE Corporate Announcements API – Filings, Actions & Bulk Deals avatar

BSE Corporate Announcements API – Filings, Actions & Bulk Deals

Pricing

from $2.10 / 1,000 filing rows

Go to Apify Store
BSE Corporate Announcements API – Filings, Actions & Bulk Deals

BSE Corporate Announcements API – Filings, Actions & Bulk Deals

BSE India corporate filings as JSON: announcements with category, subject, summary and PDF link, corporate actions (dividend, bonus, split ex-dates), board meetings, results calendar, bulk and block deals. Scrip code, symbol and ISIN (equities) per row. Category filters, only-new feed. $3 per 1,000.

Pricing

from $2.10 / 1,000 filing rows

Rating

0.0

(0)

Developer

Daemon Data

Daemon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

25 minutes ago

Last modified

Security

Limited permissions

Share

BSE India corporate filings as a JSON feed: announcements, corporate actions, board meetings, the results calendar, and bulk and block deals. Every filing listed companies submit to BSE (Bombay Stock Exchange), with scrip code, symbol, company, BSE's category and subcategory, the ISIN where BSE lists one, the subject line, the summary text, the attached PDF link and the broadcast time in India time. Built for brokers' apps, fintech dashboards, alert and newsletter builders, analysts and AI agents that need the filings as rows instead of a web page. Filter by company, category or keyword, pull a date range, or schedule it with onlyNew and receive each filing once.

curl -X POST "https://api.apify.com/v2/acts/data_daemon~bse-corporate-announcements/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"reports": ["announcements"], "daysBack": 0, "maxItems": 0}'

Checked on 10 November 2026: BSE carried 13,616 equity announcements for 2-9 November (1,733 to 3,114 on each weekday of 2-6 November) and 26,652 for October; 2,456 corporate actions with a 2026 ex-date; 1,745 forthcoming result dates; 11,195 board meetings for January-June; 14,279 bulk-deal rows for 1 January-10 November; announcements go back to at least 2005. Read live from BSE on every run.

$3 per 1,000 rows ($0.003 per row). No start fee, no subscription.

What teams run, and what it costs

You areYou runCost
Alert or newsletter builderDaily: reports: ["announcements"], categories: ["Dividend", "Bonus", "Award of Order", "Acquisition"], onlyNew: truecents a day (a few dozen rows)
Portfolio or watchlist appsymbols: ["RELIANCE", "TCS", "500180"], reports: ["announcements", "corporateActions", "boardMeetings"], onlyNew: truea large company files about 15 announcements a month: 20 companies, about $1 per month
Fintech dashboard / broker appThe whole market every day: daysBack: 2, onlyNew: true, maxItems: 0October 2026 had 26,652 announcements: $79.96
Dividend and ex-date calendarreports: ["corporateActions"], daysAhead: 3088 rows on 10 November 2026: $0.26 per pull
Results-season trackerreports: ["resultsCalendar", "boardMeetings"], onlyNew: true1,745 result dates on 10 November 2026: $5.24 once, then only new dates
Deal tracker (who bought, who sold)reports: ["deals"], onlyNew: trueOctober 2026: 1,113 bulk and 46 block rows, $3.48
Analyst backfillfromDate / toDate, maxItems: 0one busy day (5 November 2026, 3,114 rows): $9.34
Developer / AI agentA sample: the default input returns the 50 newest announcements$0.15

Export JSON, CSV or Excel, connect by API, webhook, Google Sheets, Make or n8n, or ask an AI agent through the Apify MCP server.

What does the BSE announcements API return?

Five reports, chosen with reports. Each row carries its reportType.

ReportWhat it isWindow
announcements (default)Every corporate announcement: financial results, board meeting intimations and outcomes, press releases, investor presentations, earnings-call transcripts, order wins, dividends and record dates, management changes, credit ratings, insider-trading and takeover disclosures. Category, subcategory, subject, summary, PDF link and size, broadcast time, BSE's "critical" flag.last daysBack days, newest first
corporateActionsDividends, bonus issues, splits, rights, buybacks and InvIT/REIT distributions with ex-date, record date and no-delivery period. The purpose text is also parsed into actionType, amountPerShare, ratio, faceValueFrom / faceValueTo.next daysAhead days by ex-date, soonest first
boardMeetingsMeeting date, purpose (quarterly results, dividend, preferential issue, buyback), industry and when the meeting was announced.next daysAhead days, soonest first
resultsCalendarBSE's list of forthcoming financial results: company and result date.from today, next daysAhead days
dealsBulk deals and block deals: client, buy or sell, quantity, price, value.last daysBack days, newest first

fromDate and toDate replace the windows for every report.

Why use this instead of the BSE website

  • Rows, not pages. BSE shows filings in browser tables, 50 to a page, and the whole market only one day at a time. This Actor walks the pages and returns the same public data as clean JSON with ISO dates in India time, numbers as numbers and stable field names.
  • Symbol and ISIN on the row. BSE's filing tables identify a company by scrip code. Each row here also carries the BSE symbol and, for securities in BSE's list of active equity securities, the ISIN and the BSE group (A, B, X, T, M for SME ...), so the feed joins to prices, holdings or an NSE feed without a mapping table. Of the 3,114 equity announcements of 5 November 2026, all carried a symbol and 3,035 an ISIN.
  • A feed that delivers each filing once. With onlyNew the Actor remembers what it delivered. Schedule it with daysBack: 2: a filing broadcast late at night is still picked up next morning, and nothing is delivered or charged twice.
  • Filter before you pay. symbols, categories and keywords are applied before rows are saved, so a watchlist or a "dividends only" feed costs cents.
  • Parsed corporate actions. "Interim Dividend - Rs. - 24.0000" becomes actionType: "dividend", amountPerShare: 24; "Bonus issue 1:1" becomes ratio: "1:1"; a split carries the old and new face value.

NSE and BSE: which one?

Most large Indian companies are listed on both exchanges and file the same announcement with each, so for a large-cap watchlist either feed works. They differ at the edges:

  • Coverage. BSE lists more companies. On 10 November 2026 its list of securities had 5,269 active equity scrips, and on 5 November BSE carried 3,114 equity announcements against 1,530 on NSE (13,616 against 6,933 for 2-9 November). Small caps listed only on BSE and the companies of the BSE SME platform appear only here.
  • Reports. This Actor has announcements, corporate actions, board meetings, the results calendar and bulk/block deals. The NSE Corporate Announcements API also has credit ratings, shareholding patterns, IPO offer documents and short-selling quantities, which this one does not.
  • Detail per row. BSE files each announcement under a category and a subcategory and gives a subject line; NSE gives one subject and, for some filings, a longer summary and an XBRL flag.
  • Speed of a backfill. NSE returns a date range of the whole market in one request (6,933 rows for 2-9 November 2026). BSE serves the whole market one day per query and 50 rows per request, so the same backfill takes longer here (a single company's year is quick on both).

Both Actors take the same input names (reports, symbols, categories, keywords, daysBack, daysAhead, fromDate, toDate, maxItems, onlyNew, stateName) and share output field names where the meaning is the same, so one saved input can drive both and the two datasets stack. Join them on isin; a company's BSE and NSE symbols are usually, not always, the same.

How to use it

  1. Click Try for free. The default input returns the 50 newest BSE announcements (about $0.15).
  2. Pick the Reports you need and, if you follow specific companies, add their BSE scrip codes, symbols or ISINs.
  3. Narrow announcements with Categories (BSE's category or subcategory, for example Result, Board Meeting, Dividend, Credit Rating, Press Release) or Keywords found in the subject and summary text.
  4. Choose the dates: Days back for announcements and deals, Days ahead for ex-dates, meetings and result dates, or From date / To date for a backfill. Set Maximum rows per report to 0 for everything.
  5. For a daily feed, schedule the run with Only new rows on. The first run delivers the window, later runs only what is new.

Input

{
"reports": ["announcements", "corporateActions"],
"symbols": ["RELIANCE", "TCS", "500180"],
"categories": [],
"keywords": [],
"daysBack": 2,
"daysAhead": 30,
"maxItems": 0,
"onlyNew": true,
"stateName": "watchlist-1"
}
FieldWhat it does
reportsOne or more of announcements, corporateActions, boardMeetings, resultsCalendar, deals. Default ["announcements"]. eventCalendar is accepted as another name for resultsCalendar.
symbolsBSE scrip codes (500325), BSE symbols (RELIANCE) or ISINs to keep. Empty = the whole market. With up to 25 companies, announcements and corporate actions are read per company, so a long history for a watchlist is a small run.
categoriesKeep rows whose category, subcategory or purpose contains one of these words (case-insensitive).
keywordsKeep rows whose company, symbol, scrip code, category, subject or summary text contains one of these words.
daysBackAnnouncements and deals: days before today (India time) to read, today included. Default 2.
daysAheadCorporate actions, board meetings, results calendar: days after today to read. Default 30.
fromDate, toDateYYYY-MM-DD range for every selected report.
segmentsFor announcements: equities (default; includes the SME platform and InvITs/REITs), debt, mf (mutual funds and ETFs).
dealTypesbulk, block (default: both).
maxItemsMaximum rows per report. Default 50; 0 = no limit.
onlyNew, stateNameDeliver only rows not delivered before under this state name.
proxyConfigurationOptional; BSE answers Apify datacenter IPs without a proxy.

Unknown values never fail a run: they are skipped and listed in the run's status message.

Output

An announcement:

{
"reportType": "announcements",
"exchange": "BSE",
"id": "72b7099e-aceb-4bdf-a0e9-7ebd882429c7",
"segment": "equities",
"scripCode": "544336",
"symbol": "QUADFUTURE",
"company": "Quadrant Future Tek Ltd",
"isin": "INE0LRY01011",
"group": "B",
"category": "Board Meeting",
"subcategory": "Outcome of Board Meeting",
"subject": "Board Meeting Outcome for Outcome Of The Board Meeting Held On November 10, 2026",
"summary": "Outcome of the Board meeting held on November 10, 2026 for consideration and approval of unaudited financial results for the Quarter and Half year ended September 30, 2026",
"attachmentUrl": "https://www.bseindia.com/xml-data/corpfiling/AttachLive/0fcd380f-0940-4734-9a4c-5943b741b4d3.pdf",
"attachmentSize": "3.36 MB",
"attachmentSizeKb": 3440.55,
"date": "2026-11-10",
"broadcastAt": "2026-11-10T17:33:01+05:30",
"submittedAt": "2026-11-10T17:32:59+05:30",
"disseminatedAt": "2026-11-10T17:33:01+05:30",
"companyUrl": "https://www.bseindia.com/stock-share-price/quadrant-future-tek-ltd/quadfuture/544336/",
"source": "BSE Ltd (bseindia.com corporate filings)",
"scrapedAt": "2026-11-10T12:04:07.367Z"
}

A corporate action and a block deal:

[
{
"reportType": "corporateActions",
"exchange": "BSE",
"scripCode": "519183",
"symbol": "ADFFOODS",
"company": "Adf Foods Ltd",
"isin": "INE982B01027",
"group": "B",
"purpose": "Interim Dividend - Rs. - 0.6000",
"actionType": "dividend",
"amountPerShare": 0.6,
"exDate": "2026-11-11",
"recordDate": "2026-11-11",
"noDeliveryStart": "2026-11-11",
"noDeliveryEnd": "2026-11-11",
"daysToExDate": 1,
"companyUrl": "https://www.bseindia.com/stock-share-price/adf-foods-ltd/adffoods/519183/"
},
{
"reportType": "deals",
"exchange": "BSE",
"dealType": "block",
"date": "2026-11-06",
"scripCode": "544600",
"symbol": "LENSKART",
"company": "Lenskart Solutions Ltd",
"isin": "INE956O01016",
"group": "B",
"clientName": "SVF II LIGHTBULB (CAYMAN) LIMITED",
"side": "SELL",
"quantity": 4744000,
"price": 697.15,
"valueInr": 3307279600
}
]

Main fields by report:

ReportFields
announcementsid, segment, scripCode, symbol, company, isin, group, category, subcategory, subject, summary, detailedSummary, attachmentUrl, attachmentSize, attachmentSizeKb, audioVideoUrl, isCritical, date, broadcastAt, submittedAt, disseminatedAt, companyUrl
corporateActionsscripCode, symbol, company, isin, group, purpose, actionType, amountPerShare, ratio, faceValueFrom, faceValueTo, exDate, recordDate, bookClosureStart, bookClosureEnd, noDeliveryStart, noDeliveryEnd, paymentDate, daysToExDate, companyUrl
boardMeetingsscripCode, symbol, company, isin, group, industry, meetingDate, purpose, broadcastAt, daysToMeeting, companyUrl
resultsCalendarscripCode, symbol, company, isin, group, eventDate, purpose, daysToEvent, companyUrl
dealsdealType, date, scripCode, symbol, company, isin, group, clientName, side, quantity, price, valueInr, remarks, companyUrl

Every row also has exchange (BSE), source and scrapedAt; only-new runs add changeType (new). Times are India Standard Time with the +05:30 offset. A field BSE leaves empty is omitted. You can download the dataset as JSON, CSV, Excel, XML or HTML.

How much does it cost to get BSE announcements and filings?

$0.003 per row, for every report. There is no start fee and no monthly fee, and a run that finds nothing new costs nothing.

  • The default run (50 newest announcements): $0.15.
  • A watchlist of 20 large companies, announcements plus corporate actions, daily with onlyNew: about 300 rows a month, around $1.
  • Every equity announcement, daily: October 2026 had 26,652 rows, $79.96; the results-season week of 2-9 November had 13,616, $40.85.
  • All corporate actions with an ex-date in 2026 (2,456 rows): $7.37.
  • Bulk and block deals for October 2026 (1,159 rows): $3.48.

Set a maximum cost per run in the run options and the Actor stops cleanly at that amount.

Tips

  • Daily feed: daysBack: 2, onlyNew: true, maxItems: 0, scheduled once or several times a day. The overlap catches late filings; delivered rows are skipped for free.
  • Intraday alerts: schedule every 15-30 minutes with daysBack: 0 and onlyNew: true; each run returns only the filings broadcast since the previous one.
  • One feed per use: give each schedule its own stateName (for example dividends, watchlist-a) so their memories stay separate.
  • Categories are BSE's own. The nine categories are AGM/EGM, Board Meeting, Company Update, Corp. Action, Insider Trading / SAST, New Listing, Result, Integrated Filing, Others. Common subcategories: Financial Results, Outcome of Board Meeting, Analyst / Investor Meet, Earnings Call Transcript, Press Release / Media Release, Investor Presentation, Credit Rating, Dividend, Record Date, Acquisition, Award of Order / Receipt of Order, Change in Management. A filter word matches any category or subcategory that contains it.
  • SME companies are in the equities segment; their rows carry group M or MT.
  • Backfills of the whole market read one day at a time, 50 rows per request: the 3,114 announcements of 5 November 2026 took 80 seconds. Raise the run timeout for multi-month pulls, or pass symbols to read companies directly (up to 12 months per request; three companies since 1 July, 203 rows, took 22 seconds).
  • Deals are published by BSE after the trading day, so a run during market hours returns deals up to the previous trading day.
  • The results calendar lists forthcoming dates only; for past meetings use boardMeetings with fromDate / toDate.

FAQ

Is there an official BSE API for corporate announcements? BSE does not offer a free developer API for these filings. It shows them on its website and sells licensed data products. This Actor reads the public filing pages' data and returns it as JSON, CSV or Excel through the Apify API.

How fresh is the data? Each run reads BSE at that moment, so a filing is available as soon as BSE lists it. broadcastAt, submittedAt and disseminatedAt are BSE's own timestamps.

Does it include NSE? No. Rows come from BSE only. For NSE use the NSE Corporate Announcements API; the two share input and output names.

Can I use NSE symbols? symbols takes BSE scrip codes, BSE symbols and ISINs. For companies listed on both exchanges the symbols are usually the same (RELIANCE, TCS, HDFCBANK); the ISIN always is. A value BSE does not know is skipped and named in the run's status message.

Does it download the PDF? It returns the link (attachmentUrl) and the file size. The text BSE publishes with each filing is in subject and summary; for some filings BSE also publishes a longer text, returned as detailedSummary.

Why are some fields missing on a row? BSE leaves them empty, or the security is not in BSE's list of active equity securities (debt and mutual-fund scrips, some newly listed or suspended companies), in which case isin and group are absent. E-mail addresses and phone numbers typed into a summary are masked.

How far back can I go? Announcements are served back to at least 2005 (checked for 15 June 2005, 2012 and 2020), one day per query for the whole market or 12 months per request for a company.

What does onlyNew remember? The ids of delivered rows, per report and month, in a named key-value store in your account (bse-filings-only-new). Delete a state record or use a new stateName to start over.

Is it legal? These are regulatory disclosures that listed companies publish for investors on the exchange's public website. The data is provided for information only and is not investment advice; you are responsible for how you use it and for BSE's terms of use.

Something wrong or missing? Open an issue on the Issues tab with the input you used.