Indian Market Data
Download NSE and MCX India market data as pandas DataFrames.
Bhavcopy · Nifty indices · F&O · Commodity spot prices
Works on AWS Lambda, Snowflake, and any cloud environment.
Packages
| Package | PyPI | Datasets | Exchange |
|---|---|---|---|
nse-archives | ↗ | 91 | NSE India — equities, F&O, debt, indices, EGR |
mcx-data | ↗ | 2 | MCX India — commodity spot prices |
indian-market-data | ↗ | All | Umbrella — installs both |
pip install indian-market-data # NSE + MCX together
pip install nse-archives # NSE only
pip install mcx-data # MCX only
NSE Quick Start
from nsedata import nse
# Daily prices
df = nse.get("capital_market", "equities_sme", "sec_bhavdata_full", "2026-05-22")
df = nse.get("capital_market", "indices", "ind_close_all", "2026-05-22")
# F&O
df = nse.get("derivatives", "equity", "fo_bhav_udiff", "2026-05-22")
# Download to S3 (Lambda with IAM role)
nse.download("capital_market", "equities_sme", "sec_bhavdata_full", "2026-05-22",
s3_bucket="my-bucket", s3_prefix="raw/nse/")
MCX Quick Start
from mcxdata import mcx
# Today's spot prices — all 28 commodities
df = mcx.get_spot_recent()
# Historical archive — must specify commodity
df = mcx.get_spot_archive("2026-05-01", "2026-05-22", commodity="GOLD")
AWS Lambda
Both packages run on Lambda. A pre-built layer script is included:
cd .lambda_layer && ./build.sh
NSE Dataset Status (May 2026)
| Status | Count |
|---|---|
| ✅ DataFrame + Download | 59 |
| ⬇️ Download only | 8 |
| 🕐 T-1 (previous trading day) | 16 |
| ⏭ Portal-only | 8 |
MCX Datasets
| Dataset | Description | Status |
|---|---|---|
spot_recent | Today’s spot prices — all 28 commodities | ✅ |
spot_archive | Historical by commodity + date range | ✅ |