The data behind every result
One frozen, versioned snapshot from 2016-01-01 to 2026-08-31: the same data used for our research and for Ask. Parquet files, one schema, documented columns.
Equity bars
Every stock that was in the NIFTY 50 at any time since 2016, regular session, IST.
in.nse.eq.bars_1m1m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST.
5,12,07,275 rows
2016–2026613 MB
in.nse.eq.bars_1m1m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST.1m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST. Prices back-adjusted for splits and bonuses. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
ts | datetime64[us] |
symbol | str |
instrument | str |
open | float64 |
high | float64 |
low | float64 |
close | float64 |
volume | int64 |
in.nse.eq.bars_5m5m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST.
1,02,41,910 rows
2016–2026138 MB
in.nse.eq.bars_5m5m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST.5m OHLCV bars, NIFTY 50 point-in-time members (all stocks ever in the index since 2016), regular session 09:15-15:29 IST, ts = bar start in IST. Prices back-adjusted for splits and bonuses. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
ts | datetime64[us] |
symbol | str |
instrument | str |
open | float64 |
high | float64 |
low | float64 |
close | float64 |
volume | int64 |
in.nse.eq.bars_1dDaily OHLCV bars for the same universe, ts = trade date.
1,37,266 rows
2016–20262 MB
in.nse.eq.bars_1dDaily OHLCV bars for the same universe, ts = trade date.Daily OHLCV bars for the same universe, ts = trade date. Prices back-adjusted for splits and bonuses. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
ts | datetime64[us] |
symbol | str |
instrument | str |
open | float64 |
high | float64 |
low | float64 |
close | float64 |
volume | int64 |
Index membership
The building block for survivorship-free research.
in.nifty50.membersPoint-in-time NIFTY 50 constituents: a stock is a member on days from_date <= d <= to_date (to_date empty = still a member).
81 rows
2016–20251 MB
in.nifty50.membersPoint-in-time NIFTY 50 constituents: a stock is a member on days from_date <= d <= to_date (to_date empty = still a member).Point-in-time NIFTY 50 constituents: a stock is a member on days from_date <= d <= to_date (to_date empty = still a member). Use it to avoid survivorship bias. Coverage 2016-01-01 → 2025-09-30.
| Column | Type |
|---|---|
symbol | str |
instrument | string |
from_date | datetime64[us] |
to_date | datetime64[us] |
Derivatives and flows
Daily, from public NSE and NSDL reports, cleaned into one schema.
in.nse.fo_futures_dailyFrom QuestDB table nse_fo_futures_daily (public NSE / NSDL archives), one row per date and key.
15,04,979 rows
2016–202642 MB
in.nse.fo_futures_dailyFrom QuestDB table nse_fo_futures_daily (public NSE / NSDL archives), one row per date and key.From QuestDB table nse_fo_futures_daily (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
symbol | str |
instrument | str |
expiry | datetime64[us] |
open | float64 |
high | float64 |
low | float64 |
close | float64 |
settle | float64 |
contracts | int64 |
value_cr | float64 |
oi | int64 |
chg_oi | int64 |
underlying | float64 |
in.nse.fo_participant_oiFrom QuestDB table nse_fo_participant_oi (public NSE / NSDL archives), one row per date and key.
13,154 rows
2016–20261 MB
in.nse.fo_participant_oiFrom QuestDB table nse_fo_participant_oi (public NSE / NSDL archives), one row per date and key.From QuestDB table nse_fo_participant_oi (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
client_type | str |
fut_idx_long | int64 |
fut_idx_short | int64 |
fut_stk_long | int64 |
fut_stk_short | int64 |
opt_idx_call_long | int64 |
opt_idx_put_long | int64 |
opt_idx_call_short | int64 |
opt_idx_put_short | int64 |
opt_stk_call_long | int64 |
opt_stk_put_long | int64 |
opt_stk_call_short | int64 |
opt_stk_put_short | int64 |
total_long | int64 |
total_short | int64 |
in.nse.fo_participant_volFrom QuestDB table nse_fo_participant_vol (public NSE / NSDL archives), one row per date and key.
13,155 rows
2016–20261 MB
in.nse.fo_participant_volFrom QuestDB table nse_fo_participant_vol (public NSE / NSDL archives), one row per date and key.From QuestDB table nse_fo_participant_vol (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
client_type | str |
fut_idx_long | int64 |
fut_idx_short | int64 |
fut_stk_long | int64 |
fut_stk_short | int64 |
opt_idx_call_long | int64 |
opt_idx_put_long | int64 |
opt_idx_call_short | int64 |
opt_idx_put_short | int64 |
opt_stk_call_long | int64 |
opt_stk_put_long | int64 |
opt_stk_call_short | int64 |
opt_stk_put_short | int64 |
total_long | int64 |
total_short | int64 |
in.nse.fii_deriv_statsFrom QuestDB table nse_fii_deriv_stats (public NSE / NSDL archives), one row per date and key.
18,796 rows
2016–20261 MB
in.nse.fii_deriv_statsFrom QuestDB table nse_fii_deriv_stats (public NSE / NSDL archives), one row per date and key.From QuestDB table nse_fii_deriv_stats (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
product | str |
buy_contracts | int64 |
buy_cr | float64 |
sell_contracts | int64 |
sell_cr | float64 |
oi_contracts | int64 |
oi_cr | float64 |
in.nsdl.fpi_dailyFrom QuestDB table nsdl_fpi_daily (public NSE / NSDL archives), one row per date and key.
34,982 rows
2016–20261 MB
in.nsdl.fpi_dailyFrom QuestDB table nsdl_fpi_daily (public NSE / NSDL archives), one row per date and key.From QuestDB table nsdl_fpi_daily (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-01 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
asset | str |
route | str |
gross_buy_cr | float64 |
gross_sell_cr | float64 |
net_cr | float64 |
net_usd_mn | float64 |
usd_inr | float64 |
in.nse.index_dailyFrom QuestDB table nse_index_daily (public NSE / NSDL archives), one row per date and key.
2,53,413 rows
2016–20268 MB
in.nse.index_dailyFrom QuestDB table nse_index_daily (public NSE / NSDL archives), one row per date and key.From QuestDB table nse_index_daily (public NSE / NSDL archives), one row per date and key. Coverage 2016-01-04 → 2026-08-31.
| Column | Type |
|---|---|
date | datetime64[us] |
index_name | str |
open | float64 |
high | float64 |
low | float64 |
close | float64 |
chg_pct | float64 |
volume | float64 |
turnover_cr | float64 |
pe | float64 |
pb | float64 |
div_yield | float64 |
Parquet
One file per year, sorted by symbol and time. The format we use ourselves.
CSV & DuckDB
For spreadsheets and SQL. API access to follow.
Notes on the data
- Adjusted prices. Prices and volumes are back-adjusted for splits and bonuses, so long lookbacks are consistent. A 2017 price is the adjusted price, not the one printed that day.
- Point-in-time universe. 79 stocks were NIFTY 50 members at some point since 2016; minute data covers 76 (not HDFC Ltd, Cairn India or Tata Motors DVR).
- Versioned. A snapshot never changes after release; corrections ship as a new version with a changelog and a QA report.
Register interest in data access
Tell us which data and formats you need. It decides what we prepare first, and we'll email you when access opens.
By signing up you agree to receive DataPointX emails about what you chose. Unsubscribe any time. Privacy