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.

0
Indian equities covered
0
REST endpoints
0
Indian market coverage
GET /v1/stocks/RELIANCE
curl https://bharatstockapi.com/v1/stocks/RELIANCE -H "X-API-Key: •••"
{
  "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
  }
}
RELIANCE+0.88%
COVERAGE / EOD PRICES & OHLCV / FINANCIALS / CORPORATE ACTIONS / SHAREHOLDING PATTERNS
FII / DII Cash Market Activity
Live institutional-flow figures are temporarily undergoing corporate data-licensing maintenance. The full FII/DII activity view will return following our upcoming authorized exchange data-feed deployment.
₹39,777
Crores in MF
302 schemes · 31 AMCs
New

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.

Only in India

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.

Direct from 44+ AMCs' statutory disclosures 20 years of daily NAVs from AMFI & trailing returns
Nippon India MF
₹15,359 Cr
38.6%
Aditya Birla SL MF
₹5,801 Cr
14.6%
Axis MF
₹4,373 Cr
11.0%
Bandhan MF
₹2,924 Cr
7.3%
Others (26 more)
₹11,320 Cr
28.5%
Daily scheme NAV & returns · sourced from AMFI
Parag Parikh Flexi Cap Fund
Direct · Growth
₹92.34
▲ +0.8% today
+21.4%
1Y
+18.2%
3Y
+22.6%
5Y
Illustrative figures — 20 years of daily NAVs (from AMFI, since 2006) & computed trailing returns via the API.
New · Smart Money

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.

Bulk Deals
>0.5% of equity in a day
GET /v1/deals/bulk
ALPHA FUND BUY
2,00,000 sh · ₹105.25
Block Deals
Large-ticket window
GET /v1/deals/block
BANDHAN MF BUY
5,18,919 sh · ₹925.00
Insider & Promoter
SEBI PIT disclosures
GET /v1/insider-trades
Bajaj Holdings PROMOTER
Acq · 20.9L sh · 38.28% → 38.41%
Platform

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.

5,000+
Stocks tracked daily
<50ms
p95 response time
Developers

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-Key header 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 bharatstock or npm install bharatstock.
  • Official MCP server — use BharatStock as tools in Claude, Cursor & other AI assistants (bharatstock-mcp). A Developer/Pro feature.
curl https://bharatstockapi.com/v1/stocks/RELIANCE \ -H "X-API-Key: YOUR_KEY"
pip install bharatstock from bharatstock import BharatStock client = BharatStock(api_key="YOUR_KEY") stock = client.stocks.get("RELIANCE") print(stock.company_name, stock.metrics.pe_ratio)

Published on PyPI →

npm install bharatstock import { BharatStock } from "bharatstock"; const client = new BharatStock({ apiKey: "YOUR_KEY" }); const stock = await client.stocks.get("RELIANCE"); console.log(stock.companyName, stock.metrics?.peRatio);

Published on npm →

import requests resp = requests.get( "https://bharatstockapi.com/v1/stocks/RELIANCE", headers={"X-API-Key": "YOUR_KEY"}, ) print(resp.json())
const res = await fetch( "https://bharatstockapi.com/v1/stocks/RELIANCE", { headers: { "X-API-Key": "YOUR_KEY" } } ); console.log(await res.json());
// Add to your AI host's MCP config (Claude, Cursor, ...) { "mcpServers": { "bharatstock": { "command": "npx", "args": ["-y", "bharatstock-mcp"], "env": { "BHARATSTOCK_API_KEY": "YOUR_KEY" } } } } // or a hosted URL: https://bharatstockapi.com/v1/mcp // with header Authorization: Bearer YOUR_KEY

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 →

Trusted by builders

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.”
I Investory investory.win — investing insights, powered by BharatStock API
Pricing

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.

Free
₹0/month
50 requests/day

  • Full API access, every endpoint
  • 50 requests/day
  • 1 year of history (prices, financials & MF data)
  • Community support
Get a free API key
Starter
₹750/month
3,000 requests/day

  • Full API access, every endpoint
  • 3,000 requests/day
  • Full history — 11+ yrs prices, 20 yrs MF NAV
  • Email support
Upgrade to Starter
Pro
₹5,000/month
50,000 requests/day

  • 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
Upgrade to Pro

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.

FAQ

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.