Skip to main content

A powerful, stealthy unofficial NSE India API wrapper.

Project description

PNSEA - Python NSE API (v1.1.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())

# Snapshot: Snapshot for all indices (NIFTY 50, INDIA VIX, etc.)
print(nse.equity.all_indices())

# Find data for a specific index by name
vix_data = nse.equity.find_index("INDIA VIX")
print(vix_data)

# Historical Data (Returns DataFrame)
print(nse.equity.history("ESCORTS", "01-02-2025", "14-02-2025"))

# --- Institutional Tracking (Price & Delivery) ---

# 1. Default: Fetch Price & Delivery (Most common for accumulation analysis)
df_delivery = nse.equity.delivery_history("RELIANCE", "13-12-2025", "13-01-2026")

# 2. Advanced: Specific Data Types or Series
# Options for type: "priceVolumeDeliverable", "priceVolume", "deliverable"
df_only_deliv = nse.equity.delivery_history("RELIANCE", "13-12-2025", "13-01-2026", type="deliverable", series="ALL")

# 3. Example: Filter for high institutional accumulation (> 60% delivery)
# This uses the clean mapped column names
high_delivery = df_delivery[df_delivery['Delivery_Pct'] > 60]
print(high_delivery[['Date', 'Close', 'Delivery_Pct']])

🏢 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.1.tar.gz (15.5 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.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file pnsea-1.1.tar.gz.

File metadata

  • Download URL: pnsea-1.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pnsea-1.1.tar.gz
Algorithm Hash digest
SHA256 0fc50806b41969c677261d81f25c5d34a33d7641113072839c4582135dd11acd
MD5 c9e41955afa3494801a3166ce7fe2e2d
BLAKE2b-256 13e80e910ff863b6dfa07a396430b2151a59c93051ec72ef58a1e8c170b2df15

See more details on using hashes here.

File details

Details for the file pnsea-1.1-py3-none-any.whl.

File metadata

  • Download URL: pnsea-1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pnsea-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 777693fc587fa99f9ac2835f87e7254a291e98d3f6c8ef0baae61a19d898a96c
MD5 2430e8826fa25c16bec8de336910166e
BLAKE2b-256 993bb1d35e82e5f948dc0bdcdd7f67693ef8c9efd970f9023c1e2079f1bef0a1

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