Skip to main content

Free 1-Minute Intraday Data Sources for NIFTY & BANKNIFTY

Compiled for backtesting systematic trading strategies (e.g. Crabel ORB) on Indian index futures. Last updated: June 2026


Quick Summary

SourceCoverageTimeframeCostMaintained?
aeron7 GitHubNIFTY + BANKNIFTY1-minFreeUncertain
rbhatia46 GitHubNIFTY + BANKNIFTY1-minFreeUncertain
sandeepkapri GitHub / KaggleBANKNIFTY1-min to 1-dayFreeUncertain
Trading TuitionsNIFTY + BANKNIFTY spot1-min, Jan 2008+FreePaused
Zerodha Kite Connect APINSE/BSE all instruments1-min, up to 10 yrs₹500/month✅ Active

1. GitHub Community Datasets

aeron7 — NIFTY & BANKNIFTY 1-Minute Data

How to get it:

git clone https://github.com/aeron7/nifty-banknifty-intraday-data.git

Sample row:

ACC,20210201,09:08,1625.00,1625.00,1625.00,1625.00,1386,0

Caveats:

  • Community-maintained; no guaranteed update schedule
  • Spot index data, not futures (OHLC may differ from F&O prices)
  • Verify data quality before use — check for missing bars and outliers

rbhatia46 — NIFTY & BANKNIFTY 1-Minute Tick Data

git clone https://github.com/rbhatia46/Intraday-1-Minute-data-Nifty-BankNifty.git

Caveats:

  • Coverage period and update status unclear — verify before relying on it
  • Same limitations as above re: spot vs futures

sandeepkapri — BANKNIFTY Multi-Timeframe Data

Caveats:

  • BANKNIFTY only; no NIFTY 50
  • Extracted from a third-party provider — provenance not fully transparent
  • Check the Kaggle dataset page for the most recent version

2. Trading Tuitions — Free Download (Paused Updates)

Why it matters: This is the deepest free archive available — going back to 2008 makes it useful for long-horizon backtests even in its current frozen state.

⚠️ Important: Updates have been paused due to regulations on distributing Indian market data. The historical archive remains downloadable but will not be extended beyond its current cutoff.

Known data quality issues (reported by users):

  • BNF data for 30-Mar-2015 (9:56–15:30) has abnormally low values
  • BNF data for 24-Jun-2015 (9:19–15:30) has similar anomalies
  • Always run a quality check before use

Options data (separate page):


3. Zerodha Kite Connect API — Best Quality, Not Free

Not free, but included here because at ₹500/month it is the most reliable and deepest source available for Indian retail traders.

⚠️ The free Kite Connect Personal plan does NOT include market data or historical data. You need the paid Connect plan.

Per-request limits for minute data:

IntervalMax days per request
1-minute60 days
3/5/10-minute100 days
15/30-minute200 days
60-minute400 days
Day2000 days

Python loop to fetch multi-year 1-min data:

from kiteconnect import KiteConnect
import pandas as pd
from datetime import datetime, timedelta

kite = KiteConnect(api_key="YOUR_API_KEY")
kite.set_access_token("YOUR_ACCESS_TOKEN")

# NIFTY 50 instrument token: 256265
instrument_token = 256265
start = datetime(2015, 1, 1)
end = datetime(2026, 5, 27)
chunk = timedelta(days=59) # stay under 60-day limit

all_candles = []
cursor = start
while cursor < end:
to_date = min(cursor + chunk, end)
data = kite.historical_data(instrument_token, cursor, to_date, "minute")
all_candles.extend(data)
cursor = to_date + timedelta(days=1)

df = pd.DataFrame(all_candles)
df.to_csv("nifty_1min.csv", index=False)
print(f"Saved {len(df)} bars")

General Caveats for All Free Sources

  1. Spot ≠ Futures — Most free datasets are spot index (NSE:NIFTY, NSE:BANKNIFTY). Futures prices differ due to cost-of-carry. For strategy backtesting against actual traded prices, futures data is more accurate.

  2. Data quality — Free datasets are not cleaned. Always check for: missing bars during market hours, duplicate timestamps, outlier OHLC values (high < low, etc.), and gaps around holidays/expiry days.

  3. Regulations — SEBI and NSE have tightened rules on redistributing historical market data. Free public datasets may disappear or stop updating without notice (as happened with Trading Tuitions).

  4. No options history — Deep free history for F&O (expired contracts) is essentially unavailable for free. The Kite Connect API also does not cover expired option contracts.

  5. Attribution — If using these in published research, note the source and acknowledge limitations.


GoalRecommended Source
Quick strategy proof-of-conceptGitHub repos (aeron7 or sandeepkapri)
Deep historical backtest (pre-2020)Trading Tuitions archive (spot only)
Production-grade backtestKite Connect API (₹500/month)
Options backtestingCommercial vendors (GFDL, TrueData)

Note: Free data availability changes frequently. Always verify a source is still active before building a pipeline around it.