Nse Bse Stock Scraper
Pricing
from $10.00 / 1,000 results
Go to Apify Store

Nse Bse Stock Scraper
Extract real-time stock data from NSE & BSE India. Get current prices, historical data, fundamentals, 52-week high/low, P/E ratio, market cap & more. Perfect for traders, analysts, and fintech apps.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer

Praveen Kumar
Maintained by Community
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
NSE BSE Stock Data Scraper
Extract real-time and historical stock data from NSE (National Stock Exchange) and BSE (Bombay Stock Exchange) India. Built for traders, analysts, and fintech applications.
What it does
- Live Quotes - Current price, change, open, high, low, volume, 52-week range
- Fundamental Data - Market cap, P/E ratio, traded value, impact cost
- Historical OHLCV - Open, High, Low, Close, Volume for any date range
- Both Exchanges - Fetch from NSE, BSE, or both simultaneously
Input
| Field | Type | Default | Description |
|---|---|---|---|
symbols | array | required | Stock symbols (e.g., ["RELIANCE", "TCS", "INFY"]) |
exchange | enum | NSE | NSE, BSE, or BOTH |
dataType | enum | quote | quote, historical, fundamentals, or all |
fromDate | string | 1 month ago | Start date for historical data (YYYY-MM-DD) |
toDate | string | today | End date for historical data (YYYY-MM-DD) |
Example input
{"symbols": ["RELIANCE", "TCS", "INFY"],"exchange": "NSE","dataType": "all","fromDate": "2026-02-01","toDate": "2026-03-01"}
Output
Each stock produces a dataset item:
{"symbol": "RELIANCE","companyName": "Reliance Industries Limited","exchange": "NSE","currentPrice": 2450.50,"change": 25.30,"changePercent": 1.04,"open": 2430.00,"high": 2460.75,"low": 2425.10,"previousClose": 2425.20,"volume": 8523410,"marketCap": 1659432.50,"pe": 28.5,"weekHigh52": 2856.15,"weekLow52": 2180.00,"fundamentals": {"totalTradedVolume": 8523410,"totalTradedValue": 20834.56,"totalMarketCap": 1659432.50,"freeFloatMarketCap": 829716.25,"impactCost": 0.01},"historicalData": [{"date": "2026-03-01","open": 2430.00,"high": 2460.75,"low": 2425.10,"close": 2450.50,"volume": 8523410}],"scrapedAt": "2026-03-07T12:00:00.000Z"}
Failed symbols are recorded with an error field:
{"symbol": "INVALID","exchange": "NSE","error": "Response code 404 (Not Found)","scrapedAt": "2026-03-07T12:00:00.000Z"}
How it works
- NSE: Initializes a browser-like session to obtain cookies (NSE requires valid cookies for API access), then calls NSE's JSON APIs for quote, trade info, and historical data.
- BSE: Searches for the stock symbol via BSE's suggest API to get the scrip code, then fetches quote and historical data using BSE's public APIs.
- Rate limiting: 1.5-second delay between symbols to avoid being blocked.
Use cases
- Algorithmic trading - Feed real-time price data into trading bots
- Portfolio tracking - Monitor your Indian stock holdings
- Financial research - Analyze historical price trends and fundamentals
- Screener tools - Build custom stock screeners with P/E, market cap, etc.
- Data pipelines - Integrate Indian stock data into dashboards and reports
Running locally
$apify run --input='{"symbols":["RELIANCE","TCS"],"exchange":"NSE","dataType":"quote"}'
Deploy to Apify
apify loginapify push
Technical notes
- NSE India blocks requests without proper cookies/headers. This actor handles session initialization automatically.
- BSE uses scrip codes internally; the actor resolves symbols to scrip codes via BSE's search API.
- Historical data defaults to the last 1 month if no date range is specified.
- Uses
got-scrapingfor HTTP requests with browser-like fingerprints. - No browser dependencies required - pure HTTP for fast execution and low resource usage.
Technology
- Apify SDK - Actor platform toolkit
- got-scraping - HTTP client with anti-bot fingerprints