A powerful, stealthy unofficial NSE India API wrapper.
Project description
PNSEA - Python NSE API (v1.0.0)
PNSEA is a high-performance, stealthy Python library for fetching data from the National Stock Exchange of India (NSE). Powered by Stealthkit to bypass rate limits and blocks.
🛠 Usage Reference
Initialize
Python
from pnsea import NSE
nse = NSE()
🔍 Discovery & Debugging
Python
# Autocomplete search for symbols
print(nse.autocomplete("info"))
# Endpoint Tester (Debug any NSE API URL directly through the stealth session)
url = "https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY"
print(nse.endpoint_tester(url).json())
📈 Equity Data
Python
# Get CMP (Current Market Price)
print(nse.equity.info("SBIN")['priceInfo']['lastPrice'])
# Get Full Info or specific blocks
print(nse.equity.info("SBIN"))
print(nse.equity.info("SBIN")['info'])
# All Stocks Snapshot & Market Status
print(nse.equity.all_stocks_data())
print(nse.equity.market_status())
# Historical Data (Returns DataFrame)
print(nse.equity.history("ESCORTS", "01-02-2025", "14-02-2025"))
# --- Institutional Tracking (Price & Delivery) ---
# Fetch historical data including Delivery Quantity & %
# Returns: DataFrame with 'COP_DELIV_PERC', 'COP_DELIV_QTY', etc.
df_delivery = nse.equity.delivery_history("RELIANCE", "13-12-2025", "13-01-2026")
df_delivery = nse.equity.delivery_history("RELIANCE", "13-12-2025", "13-01-2026", type="deliverable", series="ALL")
df_delivery = nse.equity.delivery_history("RELIANCE", "13-12-2025", "13-01-2026", type="priceVolume", series="EQ")
# Example: Filter for high institutional accumulation (> 60% delivery)
high_delivery = df_delivery[df_delivery['COP_DELIV_PERC'] > 60]
print(high_delivery[['mTIMESTAMP', 'CH_CLOSING_PRICE', 'COP_DELIV_PERC']])
🏢 Insider Trading & Corporate Actions
Python
# Insider Trading (All or Filtered)
print(nse.insider.insider_data())
print(nse.insider.insider_data("SBIN"))
print(nse.insider.insider_data("INFY", from_date="11-12-2023", to_date="14-02-2025"))
# Pledged Data
print(nse.insider.getPledgedData("ESCORTS"))
# SAST Data
print(nse.insider.getSastData("ESCORTS"))
print(nse.insider.getSastData("INFY", from_date="01-01-2024", to_date="01-02-2025"))
📉 Indices Options (NIFTY, BANKNIFTY, etc.)
Python
# Returns: [0] DataFrame, [1] Expiries List, [2] Underlying Value
print(nse.options.option_chain("NIFTY")[0])
# Filtered Calls
print(nse.options.option_chain("NIFTY", expiry_date="06-Mar-2025")[0])
print(nse.options.option_chain("NIFTY", strike_price=22000)[0])
# Helpers
print(nse.options.expiry_dates("NIFTY"))
print(nse.options.get_indices())
🏎 Equity Options (Stock FnO)
Python
# Get list of all FNO Stocks
print(nse.equityOptions.fno_stocks_list())
# Option Chain for Stocks
print(nse.equityOptions.option_chain("SBIN")[0])
print(nse.equityOptions.option_chain("SBIN", expiry_date="27-Mar-2025", strike_price=800)[0])
# Helpers
print(nse.equityOptions.expiry_dates("SBIN"))
💰 Mutual Fund Insider Data
Python
# Filter by date, ISIN, or Symbol
print(nse.mf.mf_insider_data(from_date="01-02-2025", to_date="02-02-2025"))
print(nse.mf.mf_insider_data(isin="INF879O01027"))
print(nse.mf.mf_insider_data(symbol="PPFAS Mutual Fund"))
🛡 Why PNSEA?
-
Human-like Fingerprinting: Uses
stealthkitto rotate TLS and headers, preventing403 Forbiddenerrors. -
Analysis Ready: Complex nested JSON is automatically flattened into Pandas DataFrames.
-
v3 API Support: Uses the most modern NSE endpoints for speed and reliability.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pnsea-1.0.1.tar.gz.
File metadata
- Download URL: pnsea-1.0.1.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c88d6cfc2e30e7d1c3b8339c2a00c56e3237907764dcdb383c051834c1a926ff
|
|
| MD5 |
b44f278404c10c72f360417fb238ce74
|
|
| BLAKE2b-256 |
3d68edc7d2b617c2379285e3f504d8ce9e767e9c4e4159eff2b505c5bf611192
|
File details
Details for the file pnsea-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pnsea-1.0.1-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aafeed8bfc564c80c3350a2de97b371b9e80d9e75f3f16e406bd8ae62b501bd8
|
|
| MD5 |
0120a3bd65ecb9934f64f92c56b3d8b5
|
|
| BLAKE2b-256 |
a8445599f5132e1f5e22827088380d7139ecd0c8e007521a2b7883a3fe1bb82f
|