The data infrastructure behind India's next fintech products.
BharatStock is a REST API for Indian stock prices, financials, corporate actions, shareholding patterns, and index data — clean, normalized, and developer-ready, delivered through a fast, well-documented API.
{ "symbol": "RELIANCE", "company_name": "Reliance Industries Limited", "sector": "Oil Gas & Consumable Fuels", "exchange": "NSE", "latest_price": { "trade_date": "2026-08-12", "close": 1421.35, "prev_close": 1408.90, "volume": 8452110, "delivery_pct": 42.6 } }
Real data, no signup. Pick a stock, hit run.
This runs an actual request against the live API — the same JSON you'd get with your own key.
Mutual Fund Holdings
Sample: Reliance Industries
See exactly which mutual fund schemes hold any stock, how much they've invested, and how positions changed month-over-month — plus daily scheme NAVs and trailing returns. Compiled straight from the fund houses' own official monthly portfolio disclosures.
The only self-serve developer API in India for mutual fund scheme holdings — 44+ AMCs, first-party from each fund house's monthly disclosures.
Plus daily NAV for every scheme across every AMC. Others stop at NAV; we give you both the NAV and what each scheme actually holds.
Follow the money nobody else exposes programmatically.
Bulk deals, block deals, and insider & promoter (SEBI PIT) disclosures — the trades that move stocks, now one API call away. Per-ticker and market-wide.
Everything a market-data pipeline needs, already built.
One versioned API instead of stitching together and maintaining multiple market-data sources yourself.
EOD prices
Daily open/high/low/close/volume for every listed Indian equity, normalized and delivery-adjusted.
Split & bonus-adjusted prices
An adjusted_close field with a transparent multiplier, so charts don't show a fake crash on a bonus ex-date.
Deep financials
Quarterly and annual P&L, balance sheet, and cash flow — normalized from official company disclosures, including bank/NBFC formats.
Corporate actions
Dividends, bonus issues, splits, and rights issues, with parsed ratios and per-share amounts.
Shareholding patterns
Quarterly promoter / public / FII / DII breakdowns from official shareholding-pattern disclosures.
Valuation ratios
P/E, P/B, ROE, ROCE, dividend yield, and 52-week high/low — computed on read, always current.
Technical indicators
SMA, EMA, RSI, and MACD, computed server-side so you don't have to ship a charting math library.
Movers & price shockers
Top gainers, losers, and most-active lists, plus a threshold-based screen for outsized daily moves.
Stock screener
Filter 5,000+ stocks by 72 pre-computed metrics — P/E, ROE, EBITDA margin, EV/EBITDA, PEG ratio, debt/equity, returns (1w to 5y), FII/DII/MF holdings, volatility, moving averages, and more — with sub-second response times.
Index data
NIFTY 50, sectoral, and broad-market indices — historical daily EOD levels.
FII/DII daily flows
Daily aggregate FII and DII cash market activity — buy, sell, and net values in ₹ Crores. Track institutional money flow and market sentiment.
Mutual fund holdings & NAVs
See which MF schemes hold any stock, their position size, and month-over-month quantity changes — plus 20 years of daily scheme NAVs (since 2006) and trailing returns. Holdings compiled directly from the AMCs' official statutory disclosures; NAVs sourced daily from AMFI.
Bulk deals
Bulk deals — single-day trades exceeding 0.5% of a company's equity, with client name, buy/sell, quantity, and weighted-average price. Per-ticker and market-wide.
Block deals
Block deals — large trades executed in the exchange's dedicated block window, tracked daily. The institutional footprint quant traders watch.
Insider & promoter trades
Insider & promoter trades from SEBI PIT disclosures: who acquired or disposed, quantity, value, before/after shareholding, and mode. Promoter buying, flagged.
Peer comparison
Compare valuation ratios (PE, PB, ROE, ROCE) across every stock in a sector in one call — sorted, with nulls at the bottom.
Batch quotes
Get the latest price for up to 50 tickers in one request — one round trip instead of fifty, built for watchlists and dashboards.
Redis-cached responses
Every endpoint is backed by Redis caching with automatic invalidation on new data. Sub-50ms p95 latency on repeated queries.
10-year price history
Daily OHLCV data going back 10 years for 2,900+ Indian stocks — split/bonus-adjusted and consistent across the archive.
MCP server for AI agents
Query BharatStock as native tools inside Claude, Cursor, and other AI assistants via our official Model Context Protocol server (bharatstock-mcp) — no code required. A Developer/Pro feature. Setup →
Public data-trust status
A live status page proving every pipeline's freshness and internal-consistency checks are passing — most market-data APIs never publish this.
OpenAPI & Postman
An interactive Swagger explorer at /docs and a ready-to-import Postman collection — so you can try every endpoint before writing a line of code.
Designed to feel obvious from the first request.
No OAuth dance, no session tokens, no surprise pagination. One key, one header, plain JSON.
-
Single
X-API-Keyheader on every request — no OAuth flow to implement. -
Consistent
{ data, pagination }envelope on every list endpoint. -
Predictable
429s that tell you your plan's limit and when it resets. -
Versioned under
/v1— fields won't shift under you between releases. -
Official typed clients —
pip install bharatstockornpm install bharatstock. -
Official MCP server — use BharatStock as tools in Claude, Cursor & other AI assistants (
bharatstock-mcp). A Developer/Pro feature.
Published on PyPI →
Published on npm →
Developer/Pro feature. Published on npm →
Authentication
Send your key as X-API-Key. No login endpoint, no expiring tokens.
Rate limits
Enforced per calendar day (UTC) per key. Exceeding it returns a 429.
Versioning
Every endpoint lives under /v1, kept stable for existing integrations.
Response format
Plain JSON. List endpoints share one pagination shape across the whole API.
MCP server
Use the API as tools in AI assistants via bharatstock-mcp or the hosted /v1/mcp endpoint. Developer/Pro. Learn more →
Products already run on BharatStock.
Live fintech products use our API in production for prices, financials, and market data.
“BharatStock gives us clean, reliable Indian market data behind one simple key. It replaced a brittle in-house data stack and lets us focus on our product instead of babysitting data pipelines.”
One API. No feature paywalls.
Every plan — including Free — gets the full API: prices, financials, shareholding, corporate actions, indices, bulk/block deals, insider trades, FII/DII activity, mutual-fund holdings, and the screener. Plans differ only in daily request limits and history depth.
- Full API access, every endpoint
- 50 requests/day
- 1 year of history (prices, financials & MF data)
- Community support
- Full API access, every endpoint
- 3,000 requests/day
- Full history — 11+ yrs prices, 20 yrs MF NAV
- Email support
- Full API access, every endpoint
- 10,000 requests/day
- Full history — 11+ yrs prices, 20 yrs MF NAV
- MCP server for AI agents
- Email support
- Full API access, every endpoint
- 50,000 requests/day
- Full history — 11+ yrs prices, 20 yrs MF NAV
- MCP server for AI agents
- Priority email support
Prices shown are exclusive of tax. Any applicable taxes (such as GST
for India) are added at checkout, so the total you pay may be higher
than the plan price above.
Paid plans are sold and billed by our authorised resellers acting as
Merchant of Record: Paddle.com (UPI & card)
and Lemon Squeezy (international card). They handle billing,
receipts, tax, refunds, and subscription management for your purchase.
Questions, answered.
From official and statutory sources: recognised stock exchanges for prices, indices, and market data; companies' regulatory financial and shareholding disclosures and SEBI filings for fundamentals, corporate actions, and insider trades; and AMFI for mutual-fund NAVs and holdings. Each record we return carries its source and, where applicable, an as-of date. See our Data Sources page for the full provenance.
End-of-day. Prices, deals, and FII/DII activity are ingested after market close each trading day; financials, shareholding, and mutual-fund holdings refresh on their filing cadence (quarterly or monthly). This is not a tick-by-tick live feed. You can see live freshness for every pipeline on our status page.
Every plan, including Free, can call every endpoint — no feature is locked behind a paywall. The difference is depth: Free covers the most recent year of history, while paid plans unlock the full archive (11+ years of prices, deep financials, and more), alongside higher daily request limits.
Requests return a 429 with your plan's limit in the response body. It resets at UTC midnight, or you can upgrade any time to raise it immediately.
Indian cards, UPI, and netbanking via our Indian payment gateways, with an international card/PayPal option for customers outside India.
No. BharatStock is a REST API for end-of-day and historical data — prices, financials, filings, deals, holdings, and more — not a tick-level streaming feed.
Every request carries your key in an X-API-Key header — no OAuth dance, no signing. Create a key in the dashboard, drop it in the header, and you're calling data endpoints in minutes. Keep it server-side; it's a secret.
Paid plans reach back 11+ years for prices, with deep financials, shareholding, corporate actions, and holdings archives alongside. The Free tier covers the most recent year, which is plenty for prototyping before you upgrade.
Yes. Price responses include both the raw close and an adjusted_close that accounts for splits, bonuses, and other corporate actions — so your charts and returns stay continuous across those events.
Yes — hand-written, typed clients for Python (pip install bharatstock) and JavaScript/TypeScript (npm install bharatstock). Both mirror the full public API. If you'd rather stay language-agnostic, the API is plain REST and JSON, so any HTTP client works.
Yes. A free API key takes under a minute and needs no card. There's also an interactive playground on the landing page to see a live response before you commit.
Yes, any time. There's no lock-in contract — upgrade, downgrade, or cancel whenever your usage changes.
Start building on real Indian market data today.
Get a free API key in under a minute. No card, no sales call.