Skip to main content

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?

  1. Human-like Fingerprinting: Uses stealthkit to rotate TLS and headers, preventing 403 Forbidden errors.

  2. Analysis Ready: Complex nested JSON is automatically flattened into Pandas DataFrames.

  3. v3 API Support: Uses the most modern NSE endpoints for speed and reliability.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pnsea-1.0.1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pnsea-1.0.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

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

Hashes for pnsea-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c88d6cfc2e30e7d1c3b8339c2a00c56e3237907764dcdb383c051834c1a926ff
MD5 b44f278404c10c72f360417fb238ce74
BLAKE2b-256 3d68edc7d2b617c2379285e3f504d8ce9e767e9c4e4159eff2b505c5bf611192

See more details on using hashes here.

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

Hashes for pnsea-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aafeed8bfc564c80c3350a2de97b371b9e80d9e75f3f16e406bd8ae62b501bd8
MD5 0120a3bd65ecb9934f64f92c56b3d8b5
BLAKE2b-256 a8445599f5132e1f5e22827088380d7139ecd0c8e007521a2b7883a3fe1bb82f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page