NSE·histdataOpen console

CAVEATS · 5 MIN READ

What this data covers — and what it doesn't

An honest scope note: end-of-day only, unadjusted, equity segment, subject to NSE's own availability. Read this before relying on the output for anything that matters.

Knowing a dataset’s boundaries is more useful than knowing its features, because the failures come from the boundaries. This is a plain scope note: what you get, what you do not, and where the output should not be trusted.

What is included

  • NSE-listed equity securities, searchable by ticker or company name.
  • End-of-day records — one row per trading session per series.
  • All series, not just EQ, so history is preserved through segment changes. Series explained.
  • Fourteen fields per row: date, series, open, high, low, previous close, last traded price, close, VWAP, volume, turnover, trade count, delivery quantity and delivery percentage. Column reference.
  • Arbitrary date ranges. Long ranges are split into smaller requests and reassembled, so multi-year pulls work — they just take longer.

What is not included

  • Intraday, tick, or minute data. Only daily aggregates.
  • Order book depth, bid-ask spreads, or quote history.
  • Derivatives. No futures, options, open interest, or expiry data.
  • Index levels. Nifty 50, Bank Nifty and similar are a different dataset — there is a separate tool for those, linked from the console.
  • BSE prices. A stock dual-listed on BSE will show only its NSE record here. Also a separate tool.
  • Fundamentals. No earnings, balance sheets, ratios, shareholding patterns, or announcements.
  • Corporate action records. The events are not listed, only their unannounced effect on price. How to handle that.
  • Adjusted price series. Everything is raw and unadjusted, by design.
  • Real-time or delayed live quotes. Historical records only.

Known limitations of what you do get

It is only as good as the source

Data is passed through from a public exchange endpoint with minimal processing — sorting, de-duplication across request boundaries, readable column names, and proper date values. Nothing is cross-validated against a second source. An error upstream arrives intact.

Recent sessions may be incomplete

Delivery figures follow a settlement cycle that lags price data, so the newest rows often have blank delivery columns. Blank means not yet published, not zero.

Rows are sessions, not calendar days

Weekends, exchange holidays and untraded days simply do not appear. Any analysis assuming evenly spaced observations should account for that — a “20-day” window is twenty sessions, roughly four calendar weeks, and longer across a holiday cluster.

Delisted and renamed securities are patchy

Symbols change and companies delist. History for a renamed security may be split across identifiers, and a delisted one may be unavailable entirely. Note also that any list of currently listed companies mechanically excludes failures — building a study on one introduces survivorship bias.

Very long ranges take time and can fail

Multi-year requests are fetched in sequential chunks. More chunks means more time and more opportunities for an upstream hiccup. If a long pull fails, requesting a few shorter ranges and combining them usually works.

Availability depends on a third party

If the upstream source rate-limits, changes its response format, or goes down, this tool stops returning data until it is fixed. There is no cached copy to fall back on.

How to verify a figure

For anything consequential, check against the exchange’s own published record for that symbol and date. Useful internal checks first:

  • VALUE ÷ VOLUME should land near VWAP, and inside the day’s high-low range.
  • DELIVERY QTY should never exceed VOLUME.
  • HIGH should be the largest and LOWthe smallest of the day’s prices.
  • PREV. CLOSE should match the prior row’s CLOSE except around corporate actions.

A row failing any of these is worth reporting — see the contact page.

When to use something else

This tool suits research, coursework, back-of-envelope analysis, record-keeping, and getting a quick clean price series into a spreadsheet. It is deliberately narrow and free.

Use a commercial data vendor instead if you need:

  • guaranteed accuracy, completeness, or a support contract;
  • pre-adjusted or total-return series;
  • intraday, derivatives, or order-book data;
  • an SLA, redistribution rights, or a licence for commercial use;
  • anything feeding automated trading, client reporting, or a regulatory filing.

Nothing here is investment advice, and the output should not be the sole basis for a financial decision. See the disclaimer.


Keep reading

Or go straight to the download console and pull a file.