Stock EventsNSE, BSE and MSE corporate actions since 1995

Methodology

Every corporate action on NSE, BSE and MSE from 1995 to 2026: 142,295 events across 8,174 issuers, from dividends and bonus issues to bond coupons and government-security maturities, built only from official exchange files.

Methodology

Sources

Every event comes from an official exchange file: NSE's daily PR bhavcopy corporate-action member (2010 onward, every series including debt, fund units and government securities), NSE's corporate-actions API (1995 onward for equities, plus the SME and mutual-fund segments), BSE's per-scrip corporate-action history (about 2000 onward), BSE's corporate-action master and the Metropolitan Stock Exchange's monthly corporate-action lists (2011 onward). Instrument terms come from the exchanges' security masters and NSE's corporate-bond master. No third-party aggregators are used.

Every event is keyed to the instrument's ISIN, so statements from different sources meet on one line and a bond's payments read as one history. NSE's corporate-action file names a bond by symbol and series only, so the pair is read off NSE's daily bhavcopy since 2010; the file lists a public NCD under a paired series letter the tape never carries (U8 in the file is N8 on the tape), and a pair several bonds have used over the years resolves to the one trading on the ex-date. A government loan's old symbol resolves through its coupon and year. The few rows no official file ties to an ISIN, bonds whose series never traded and physical-form shares the exchange lists without one, stay on a symbol-based id and are flagged as unresolved.

MSE's list covers the shares it trades under NSE and BSE listings, where it is a third statement of the same action and verifies the other two, and the companies listed on MSE alone (Frick India among them), whose actions appear nowhere else. A share listed only on MSE carries its MSE symbol as its page address. When the exchanges disagree on a dividend's figure the exchanges in the majority stand, and NSE's figure when it is one against one; the other statement stays on the event as a conflicting figure.

How events are built

Each source statement is stored as received, then decoded into typed actions (a purpose like "AGM/DIV RS 3 / SPL DIV RS 2" becomes a meeting, a final dividend and a special dividend). Statements from different sources describing the same action are matched by instrument, type and an ex-date window that follows the settlement regime of the day (one day since T+1 in 2023, two days under T+2, a week before 2003). The most reliable source wins each field: NSE's daily file for dates and ratios, BSE for payment dates.

Identity

Instruments are keyed by ISIN. A face-value change re-issues an equity ISIN, so a company's equity line is tracked across those changes and a split is recorded under the pre-action ISIN with the successor noted. Bonds, commercial paper, fund units and government securities are separate instruments under their issuer.

Coverage and confidence

Years before 2008 rely on the NSE API alone and are thinner; they carry a coverage badge on every page that shows them. Each event carries the list of sources that reported it and a confidence score that drops when an amount or ratio could not be parsed or when sources disagree on the date.

Derived products

Three files are built from the record rather than read from a source. The adjustment-factor file lists every bonus, split and consolidation on a share line since 1995 with its factor and the product of the factors that followed it, so a close on any date is adjusted by one multiplication; it is what the per-company adjusted download applies. The market dividend yield history divides the trailing twelve months of rupee payouts of listed shares (dividend per share times the shares outstanding at the record date, from the shareholding filings) by their market cap at each month end (the month-end close times the shares outstanding that day), for the market and for each SEBI sector with at least ten companies in the denominator; a company enters a month only when both a close and a share count within 200 days are on file, so the universe is the measured one, not the whole market. The bond cash-flow ladder places every listed NCD, bond, G-Sec and state loan on its coupon rhythm and maturity: an NCD from NSE's corporate-bond master (coupon, frequency, next coupon date, maturity), a government line from the interest and redemption rows the exchanges carried (half-yearly, anchored on the latest coupon paid, maturing on that day in the year its name gives); treasury bills, strips and lines with no row on record are left out, as are day-count conventions, step-ups and floating resets. Each debt line's payout rhythm (weekly, monthly, quarterly, half-yearly or yearly) is read from the gaps between the interest dates the exchanges carried: two rows within ten days are one payment seen twice, the median gap names the rhythm, and a rhythm that fewer than half the gaps follow is called irregular; the frequency NSE's bond master states is shown beside it and marked where the two differ. The free-float market cap file is market context rather than a derived product: one figure per ISIN in rupees crore for the latest close, a share's total cap times its free-float factor (NSE's investable weight factor, else BSE's), a fund unit's total cap because every unit floats, and a trust's or a separately traded share line's total cap when no factor is published; a line no exchange publishes a cap for is left out rather than estimated.

Dividend streaks and yield

A streak is the unbroken run of payouts ending at the company's latest dividend, counted in financial years (April to March, by ex-date). Two payouts belong to the same run when they are at most eighteen months apart, so a company that moved its meeting across the March year-end has not skipped a year; a longer gap ends the run. Exchange records are thin in the early years (at present through the 2006-07 financial year; the streak page names the last thin year), so a gap that lies entirely inside those thin years is bridged when payouts sit on both sides of it, and the run is marked "bridged". A run that reaches the company's first payout on record is marked "at least": it may be longer than the record shows, and runs of fifty years and more cannot be established from exchange files alone. Growth compares each financial year's rupees per share with the year before, after adjusting for later bonus issues and splits. Trailing yield divides the last twelve months of payouts per share by the latest close.

Board meetings

Board meetings come from the board-meeting feeds of both exchanges (NSE lists each intimation with a purpose and a description; BSE lists a purpose per meeting), merged per company and date like every other action. They are stored as meetings with an agenda (financial results, dividend, bonus, buyback, fund raising, split or consolidation, scheme or merger or capital change, delisting, stock options, other); BSE's list also carries annual and extraordinary general meetings, which are stored as such and merge with the same meeting from the corporate-action feeds and the period the results cover when the intimation states it. Their wording never passes through the corporate-action decoder, so a "dividend" on an agenda is a meeting to consider one, not a payout. Only the newest feed snapshot is current, so a rescheduled meeting keeps its new date only.

Dividend income statement

The statement multiplies each payout per share by the shares held, counts it in the financial year of the record date (the ex-date when no record date is on file), and adjusts the share count for bonus issues and splits after the payout so a holding entered at today's count is right for older years. Holdings never leave the browser.

Sectors

Sectors are the SEBI four-level classification (macro sector, sector, industry, basic industry) that both exchanges publish per company. The map is seeded from the exchanges' own classification pages and refreshed by BSE's per-scrip header feed for listed companies still missing one; the sector level is what the lens groups by, the industry appears on company pages.

Records and on this day

Records are ranked from the exchange record itself: per-share amounts as recorded on the ex-date, unadjusted for later bonus issues and splits, so a Rs 500 dividend from 2005 stands as declared. "On this day" collects every non-debt action whose ex-date falls on the same calendar day in any year.

What's new and calendar feeds

Every raw statement carries the date its source first reported it; the earliest of those is when an action became news, ignoring a source's first two days of fetching and any row that surfaced more than a week after the action went ex, because a per-scrip crawl or a history backfill is a discovery, not an announcement. The what's new page and the changes API use that date, and the watchlist compares it with your last visit. Each company page offers an Atom feed and an iCalendar feed (/company/SYMBOL/calendar.ics) that calendar apps can subscribe to; the feed carries the last 60 days and everything ahead, with a reminder the day before.

Total return calculator

The calculator uses the month-end closes of the equity line: NSE's daily bhavcopy from November 1995 and BSE's from January 2007, read by ISIN where the file names one and by the symbol or scrip code before that. Every priced action carries its ex-day move, the close on the ex-date against the close before it, after a bonus or split row's own factor; a move of zero means the price did exactly what the action implied. Shares bought in a month are carried through every later bonus issue, split and consolidation; each dividend after the purchase is paid on the shares held at its ex-date. "Dividends reinvested" buys more shares with each payout at the close of the month it went ex. Rights issues and buybacks are not modelled, and prices before 2017 are not on file.

Value of a dividend

The rupees a dividend pays to all shareholders are the amount per share times the shares outstanding at the record date. Share counts come from the quarterly shareholding-pattern filings that both exchanges publish (block.deal collects them from NSE's XBRL and BSE's tables; the total is the filing's own grand total, or promoter plus public holdings when a filing lacks it). The count at the last quarter end before the record date is carried through any bonus issue, split or consolidation between the two dates; rights issues, buybacks and new share issues are not modelled, and a dividend more than 200 days after the last filing is left unvalued. Filings begin in 2016, so earlier dividends carry no rupee value.

REITs and InvITs file no such pattern. BSE's own list names their payouts without a figure ("Income Distribution REITs"), and the trusts listed only on BSE appear in no NSE file, so their rupees per unit are read from the trust's distribution announcement to BSE, the declaration the trust itself files, with the announcement linked on the event. That figure fills the exchange row's blank and never overrides one the exchange stated. Unit counts come from NSE's daily market-capitalisation file for the trusts it lists and from the announcement itself when it states the aggregate rupees alongside the per-unit figure.

Delisted companies

A small curated set of unlisted companies is read from the companies' own investor pages (data/curated/unlisted_companies.json): notices of meetings, board outcomes and intimations linked from those pages are opened, and a row is kept only when the document states the action, its figure and a date. Such rows carry no exchange, link the document and quote the sentence, and are flagged as a company disclosure; a partial statement is queued for review and never published. When one of these companies lists, the exchange record takes over.

A company is listed when a current NSE, BSE or MSE master carries its equity line, unlisted when it is one of the curated companies no exchange lists, suspended when BSE says so, delisted when an exchange announced it, and no longer listed when nothing carries it and its last action is more than a year old. Its history stays published under its last known name and symbols.

Copy conventions

Dates are written as day month year. Amounts are per share or per unit in rupees. Ratios are written as new:held for bonus and rights and as old to new face value for splits.