Broker Information

What this site is

Broker Information tracks how many people actively trade the Indian stock market, and with which stockbroker. The headline series is the count of active clients (unique client codes, UCCs) per trading member on the National Stock Exchange — the figure the industry uses to rank brokers.

The source

Every number comes from one official file: NSE's Report 1C — “Report of Redressal of Complaints lodged by clients against Trading Members”, published on the NSE archives under miscellaneous/ArbitrationReports/isc_report1C_<FY>.xls. Alongside complaint statistics, the report carries each member's “UCC of active clients” and the exchange-wide “Total number of active clients for all the stock brokers of the exchange”.

NSE overwrites this file every month (around the first week, with data as of the previous month-end) and keeps no public monthly archive. The monthly history on this site exists because each update has been saved to the Internet Archive's Wayback Machine since September 2020 — a habit maintained through this long-running tradingqna thread, where the data has been posted monthly with archived source links.

Other venues — the same disclosure, different definitions

Every Indian market-infrastructure institution publishes the same SEBI-mandated Report-1C family. The site now carries them all, but each venue counts something different — figures must never be compared or summed across venues:

VenuePer-member figureCadenceQuirk
NSEActive clients (rolling, no FY reset)Monthlythe headline series of this site
BSEActive clients (traded during the FY) + registered UCCsQuarterly, cumulative in-FYonly members with ≥1 complaint that FY are listed; files are unlinked on bseindia.com but live back to FY2008-09
MCXActive UCCs (FY-scoped)Quarterlycommodity segment; expect April resets
NCDEXActive UCCs (FY-scoped)~Monthlysmall agri-commodity exchange
MSEActive clients (traded during the FY)Quarterlynear-dormant exchange
CDSL / NSDLDemat (BO) accounts per DP, at FY startAnnual snapshota different thing entirely: accounts held, not trading activity

Market structure (SEBI Bulletin)

The Industry page adds aggregate context from a different official source: SEBI's Monthly Bulletin, whose “Registered Market Intermediaries” table counts how many brokers are registered on each exchange and segment, plus depository participants. These are registration counts, not active clients — a firm registered in several segments is counted in each — so they are kept entirely separate from the broker-level series and are never summed with it. Series back to 2017 where SEBI still serves the Excel annexure.

Coverage

  • Monthly from August 2020 to — parsed from archived copies of the official file and cross-checked against the contemporaneous forum tables.
  • 2018–mid-2020: patchy monthly points recovered from tables the community (including Zerodha's Nithin Kamath) posted on the same thread, plus archived captures.
  • Annual anchors back to FY 2013-14 — NSE still hosts each past fiscal year's file in its final state, giving one data point per year further back.
  • Before FY 2013-14 the report tracked a different metric — registered client codes at the beginning of the year, not active clients — so those years are deliberately excluded rather than mixed in.
  • A few months were never archived before NSE overwrote them — their broker rows are reconstructed from the contemporaneous forum tables (marked "forum table" in source links; the exchange-wide total stays blank for those months rather than being faked from a top-N sum). NSE skipped publishing March 2026 entirely.

What “active client” means

The report itself does not define the term. The series behaves as a rolling measure of clients who have traded in the recent past (the industry convention reads it as “traded at least once in the trailing twelve months”): it is continuous across fiscal-year boundaries — for example March 2021 (1.89 crore) flows smoothly into June 2021 (2.11 crore) with no April reset.

How the data is processed

  • Ranks are computed, not copied — the raw file is sorted by complaint count, so brokers are re-ranked here by active clients.
  • Identity is name-based (the file has no member code). Corporate renames are hand-curated so a broker keeps one continuous history — e.g. RKSV Securities → Upstox Securities, NextBillion Technology → Groww Invest Tech, Angel Broking → Angel One. Cosmetic case/punctuation differences are normalized automatically; anything beyond that is never merged by a machine.
  • Dating: recent files embed their as-of date; older snapshots are dated by the archive link curated for that month, by exact figure-matching against the forum tables, or by capture-time heuristics — the basis is recorded per source in the provenance manifest (/data/sources.json).
  • Totals: the headline uses the exchange-wide stated total. The member table lists only reporting members, so the sum of listed brokers can sit slightly below the stated total.

Update cadence

An automated job checks NSE's current fiscal-year file twice a week. When a new month appears it is ingested, saved to the Wayback Machine for permanence, validated, and published here — typically within a few days of NSE's first-week update.

The broker scorecard — in full

Every active NSE broker gets a composite scorecard grade (A+ to D) on the Industry page and its own broker page. It is a deliberately broad, multi-dimensional read — not a buy/sell signal — built so that scale alone can't carry a broker and a single weak axis can't sink it. Here is exactly how it is computed.

How each dimension is scored

For each dimension, every broker is percentile-ranked against all active NSE brokers (so the unit — rupees, clients, %, years — never matters, and outliers can't distort it). Ties share the midpoint of their block, so a large floor of equal values (e.g. the many brokers with zero penalties) lands at a fair mid-to-high score rather than the bottom. For the two “lower is better” axes (complaints, penalties) the percentile is inverted. The overall score is the weighted average of the dimensions we actually have for that broker — weights renormalise over what's present, so a missing dimension (no published financials, say) neither helps nor hurts.

DimensionWeightWhat it measures · direction
Scale13%NSE active clients (UCCs) · higher better
Growth — all venues9%1-year account-base growth, blended across NSE + CDSL/NSDL demat + BSE/MCX · higher better
Client-base stability3%100 − largest peak-to-trough drawdown of NSE active clients over the last ~24 months (durability, not just growth) · higher better
Financial strength11%Latest audited net worth · higher better
Capital cushion4%Net worth per active client (balance-sheet strength relative to the client base) · higher better
Complaint record8%Investor complaints per lakh clients · lower better
Complaint resolution4%Share of complaints resolved in the last complete fiscal year (≥10 filed) · higher better
Regulatory record2%Monetary penalties, recency-weighted · lower better
Activation6%NSE active clients ÷ demat accounts (how many holders actually trade) · higher better
Longevity6%Years active in the data · higher better
Profit growth4%1-year growth in net profit (PAT) · higher better
Profit scale2%Latest annual net profit (absolute PAT) · higher better
Revenue scale3%Latest annual revenue (top-line size) · higher better
Profitability3%Net margin (PAT ÷ revenue) · higher better
Productivity2%Revenue per employee · higher better
Profit productivity8%Net profit (PAT) per employee · higher better
Growth efficiency4%Net new demat accounts per ₹crore of advertising spend · higher better
App reach2%Mobile-app install base (Google Play tier) · higher better
Revenue diversification6%Share of operating revenue from interest / financing (not just broking) · higher better

Three things the scorecard does deliberately

  • Old penalties barely count. The regulatory axis weights each monetary penalty by recency — a 2.5-year half-life, so a fine from this year counts fully, one from ~2½ years ago counts half, and decade-old actions count almost nothing. A broker that cleaned up its act isn't punished forever. (The penalty figure shown on the broker page stays the honest lifetime total; only the score uses the decayed value.)
  • Growth means the whole footprint, not just NSE. Account growth blends the 1-year change across NSE active clients, CDSL & NSDL demat accounts, and BSE/MCX — each size-weighted by the broker's base there, so a small or shrinking side-venue can't swing a broker dominated by its main franchise, and a tiny new-venue base can't manufacture a fake spike.
  • Growth quality, not just account counts. Raw user growth is only part of the picture, so three more axes ask was the growth worth it: profit growth and absolute profit (PAT), and growth efficiency — how many new demat accounts the broker added per ₹crore of advertising spend. A broker buying users with enormous ad budgets scores lower here than one growing leanly. (Financials & ad spend exist only for listed and large private brokers; for everyone else these axes simply don't count.)

Grade bands

A percentile composite tops out around 80 (no broker is best-in-class on every axis), so the bands are set against that realistic ceiling: A+ ≥ 76, A ≥ 68, B+ ≥ 60, B ≥ 52, C+ ≥ 44, C ≥ 35, else D.

Worked examples

Loading current scorecard examples…

Every broker's full per-axis breakdown is on its own page (the “Scorecard” panel) and in /data/scores.json.

Data & API

Everything the site renders is plain static JSON you can fetch directly — no key, no backend. Per-broker pages and the full index export to CSV from the “↓ CSV” links.

📦 One file to share: /data/catalog.json is a self-describing index of every endpoint below — titles, descriptions, field lists, update cadence and coverage. Point anyone there to understand (or machine-read) the whole dataset as a free static API.

The JSON endpoints:

EndpointContents
/data/overview.jsonlatest totals, leaderboard, market share, concentration, per-venue blocks, market-structure + investor + industry summaries
/data/brokers_index.jsonevery broker: slug, name, latest clients, rank, 1M change, first/last month, venues, complaints-per-lakh
/data/broker/<slug>.jsonone broker: full monthly history, per-venue series, factsheet (segment split, net worth, regulatory), complaints
/data/market.json · /data/investors.json · /data/industry.json · /data/amfi.jsonSEBI market structure · NSE investor base · industry factsheet aggregates · AMFI mutual-fund SIP flows (full series)
/data/sources.json · /data/manifest.jsonper-source provenance (URL, archive link, SHA-256, dating basis) · build timestamp + coverage

Files are revalidated every 5 minutes; the app cache-busts with ?v=<manifest.created>. Figures are © NSE/BSE/MCX/SEBI as sourced.

Credits & disclaimer

Data © National Stock Exchange of India. Preservation via the Internet Archive. Community context on tradingqna. A sibling project of mtf.trading (margin-trading analytics). This site is informational only and is not investment advice; figures may contain source-level errors — check the provenance links before relying on any number.