{
  "name": "mtf.trading bhavcopy API",
  "endpoint": "/api/v1/bhavcopy",
  "description": "Raw daily equity bhavcopy (all columns) for NSE + BSE — 100% static, pre-deployed, no request-time fetching. UDiFF CM schema, unified with an `exchange` column.",
  "params": {
    "date": "YYYY-MM-DD (or YYYYMMDD). Required to return rows.",
    "exchange": "nse | bse | all (default all)",
    "symbol": "filter by TckrSymb (exact, case-insensitive)",
    "series": "filter by SctySrs, e.g. EQ",
    "instr": "filter by FinInstrmTp",
    "fields": "comma-separated column subset",
    "format": "json (default) | csv",
    "limit": "default 500, max 100000",
    "offset": "row offset for paging"
  },
  "coverage": {
    "first": "2024-01-01",
    "last": "2026-08-28",
    "trading_days": 656
  },
  "columns": [
    "TradDt",
    "BizDt",
    "Sgmt",
    "Src",
    "FinInstrmTp",
    "FinInstrmId",
    "ISIN",
    "TckrSymb",
    "SctySrs",
    "XpryDt",
    "FininstrmActlXpryDt",
    "StrkPric",
    "OptnTp",
    "FinInstrmNm",
    "OpnPric",
    "HghPric",
    "LwPric",
    "ClsPric",
    "LastPric",
    "PrvsClsgPric",
    "UndrlygPric",
    "SttlmPric",
    "OpnIntrst",
    "ChngInOpnIntrst",
    "TtlTradgVol",
    "TtlTrfVal",
    "TtlNbOfTxsExctd",
    "SsnId",
    "NewBrdLotQty",
    "Rmks",
    "Rsvd1",
    "Rsvd2",
    "Rsvd3",
    "Rsvd4",
    "exchange"
  ],
  "columns_glossary": {
    "TradDt": "Trade Date — the trading session this row is for (YYYY-MM-DD).",
    "BizDt": "Business Date.",
    "Sgmt": "Segment Indicator — CM (cash market) for these files.",
    "Src": "Source (the exchange).",
    "FinInstrmTp": "Instrument Type — STK for an equity stock.",
    "FinInstrmId": "Unique Instrument Identifier of the trading exchange — the numeric id: NSE token, BSE scrip code (e.g. 500002).",
    "ISIN": "Instrument ISIN.",
    "TckrSymb": "Instrument Symbol or Scrip Code — the trading symbol (e.g. RELIANCE on NSE, ABB on BSE); the numeric BSE scrip code is in FinInstrmId.",
    "SctySrs": "Instrument Series (e.g. EQ, SM, BE on NSE; group A/B/X on BSE).",
    "XpryDt": "Instrument Original Expiry Date (derivatives only; blank for cash).",
    "FininstrmActlXpryDt": "Instrument Actual Expiry Date (derivatives only; blank for cash).",
    "StrkPric": "Instrument Strike Price (options only; blank for cash).",
    "OptnTp": "Instrument Option Type — CE/PE (options only; blank for cash).",
    "FinInstrmNm": "Instrument Name.",
    "OpnPric": "Open price (₹).",
    "HghPric": "High price (₹).",
    "LwPric": "Low price (₹).",
    "ClsPric": "Close price (₹).",
    "LastPric": "LTP — Last Traded Price (₹).",
    "PrvsClsgPric": "Previous Close (₹).",
    "UndrlygPric": "Underlying Asset price (derivatives only; blank for cash).",
    "SttlmPric": "Settlement Price (₹).",
    "OpnIntrst": "Open Interest (derivatives only; blank for cash).",
    "ChngInOpnIntrst": "Change in Open Interest (derivatives only; blank for cash).",
    "TtlTradgVol": "Total Traded Qty (number of shares).",
    "TtlTrfVal": "Total Traded Value (₹).",
    "TtlNbOfTxsExctd": "Total Number of Trades.",
    "SsnId": "Session Id (e.g. F1).",
    "NewBrdLotQty": "Market Lot Size.",
    "Rmks": "Remarks.",
    "Rsvd1": "Dummy field 1 (reserved / blank).",
    "Rsvd2": "Dummy field 2 (reserved / blank).",
    "Rsvd3": "Dummy field 3 (reserved / blank).",
    "Rsvd4": "Dummy field 4 (reserved / blank).",
    "exchange": "Exchange this row is from — NSE or BSE (added by mtf.trading when merging both; not an NSE UDiFF field)."
  },
  "columns_glossary_source": "UDiFF is a SEBI-mandated COMMON file format used by both NSE and BSE, so the fields are identical across exchanges (verified: the BSE file matches header-for-header). Field names per NSE’s official UDiFF spec (new_bhavcopy_format_readme.xlsx, \"Format\" sheet); the column headers are the ISO 20022 element tags; `exchange` is added by mtf.trading. NSE: https://nsearchives.nseindia.com/content/new_bhavcopy_format_readme.xlsx · BSE: https://www.bseindia.com/static/members/udiff.aspx",
  "examples": [
    "/api/v1/bhavcopy?date=2026-08-28",
    "/api/v1/bhavcopy?date=2026-08-28&symbol=RELIANCE",
    "/api/v1/bhavcopy?date=2026-08-28&exchange=bse&series=EQ&format=csv&limit=100000"
  ],
  "dates_index": "/bhavcopy/index.json",
  "docs": "https://mtf.trading/data"
}