Unofficial Python Api for NSE India stock exchange
Project description
💰 NseIndiaApi
An unofficial Python API for the NSE India stock exchange.
Python version: >= 3.8
If you ❤️ my work so far, please 🌟 this repo.
👽 Documentation
https://bennythadikaran.github.io/NseIndiaApi
API limits
All requests through NSE are rate limited or throttled to 3 requests per second. This allows making large number of requests without overloading the server or getting blocked.
- If downloading a large number of reports from NSE, please do so after-market hours (Preferably late evening).
- Add an extra 0.5 - 1 sec sleep between requests. The extra run time likely wont make a difference to your script.
- Save the file and reuse them instead of re-downloading.
Updates
v1.0.4 Added new method to download daily bhavcopy PR zip (contains a collection of various reports). See Docs
🔥 Usage
Install with Pip
pip install -U nse
The class accepts a single argument download_folder
, a str
filepath, or a pathlib object
. The folder stores cookie and any downloaded files.
Simple example
from nse import NSE
from pathlib import Path
# Working directory
DIR = Path(__file__).parent
nse = NSE(download_folder=DIR)
status = nse.status()
advDec = nse.advanceDecline()
nse.exit() # close requests session
Using with statement
with NSE(download_folder=DIR) as nse:
status = nse.status()
advDec = nse.advanceDecline()
Catching errors
from nse import NSE
from datetime import datetime
with NSE('./') as nse:
try:
bhavFile = nse.equityBhavcopy(date=datetime.now())
dlvFile = nse.deliveryBhavcopy(date=datetime.now())
raise RuntimeError('Some error') # force an exception
except RuntimeError as e:
# continue execution or exit the script
print(repr(e))
# execution continues if handled without exit
actions = nse.actions()
# NSE request session closed - continue processing
Samples folder
The src/samples
folder contains sample outputs of various methods. The filenames match the method names. The output has been truncated in some places but demonstrates the overall structure of responses.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nse-1.0.5.post1.tar.gz
.
File metadata
- Download URL: nse-1.0.5.post1.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 859596746006a7a87d50b33004f896053281d59226d7dfaa1ebfb1e29aa2f8e7 |
|
MD5 | c65a03b1844ac3593f9aa82f6365f948 |
|
BLAKE2b-256 | f4ce19e1cd576ef793f08d4b95cd48a197a322432fcbb16edfc47f6582136b7b |
File details
Details for the file nse-1.0.5.post1-py3-none-any.whl
.
File metadata
- Download URL: nse-1.0.5.post1-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3684542979a95b1de2ef85e327df2ef2ce7a8de038fb5673c56ea3496b2ceb2c |
|
MD5 | cdb52d921a5b6698baa50904a7656685 |
|
BLAKE2b-256 | 0fef7ff54e1f877cd4dad02fe063e5a58cdfb6a1ede3348db0b28321580f1210 |