--- name: nse-delivery description: NSE delivery % data — surface stocks with high genuine buying category: india version: 1.0.0 tags: nse, delivery, volume, equity, india, stock, delhivery, bulk, block license: Apache-2.0 --- # NSE Delivery Analyze NSE delivery percentage data to find stocks with high genuine buying (delivery trades vs total traded volume), bulk deals, and block deals — filters intraday noise from real accumulation. ## When to Use - User asks which stocks have high delivery percentage today - User wants to spot genuine accumulation vs intraday speculation - User asks about bulk deals or block deals on NSE - User wants to filter high-volume stocks by delivery quality - User asks "are institutions accumulating this stock?" ## How to Use ### Get delivery data for a specific stock ```powershell $symbol = "RELIANCE" $headers = @{ "User-Agent" = "Mozilla/5.0"; "Referer" = "https://www.nseindia.com" } Invoke-WebRequest -Uri "https://www.nseindia.com" -SessionVariable nse -Headers $headers | Out-Null $resp = Invoke-RestMethod ` -Uri "https://www.nseindia.com/api/quote-equity?symbol=$symbol" ` -Headers $headers -WebSession $nse [PSCustomObject]@{ Symbol = $symbol TotalVolume = $resp.securityWiseDP.quantityTraded DeliveryVolume = $resp.securityWiseDP.deliveryQuantity DeliveryPercent = $resp.securityWiseDP.deliveryToTradedQuantity } ``` ### Scan Nifty 50 for stocks with delivery > 60% ```powershell $headers = @{ "User-Agent" = "Mozilla/5.0"; "Referer" = "https://www.nseindia.com" } Invoke-WebRequest -Uri "https://www.nseindia.com" -SessionVariable nse -Headers $headers | Out-Null $nifty50 = (Invoke-RestMethod ` -Uri "https://www.nseindia.com/api/equity-stockIndices?index=NIFTY%2050" ` -Headers $headers -WebSession $nse).data.symbol $results = foreach ($sym in $nifty50) { Start-Sleep -Milliseconds 300 # Throttle to avoid rate limits try { $q = Invoke-RestMethod ` -Uri "https://www.nseindia.com/api/quote-equity?symbol=$sym" ` -Headers $headers -WebSession $nse $dp = $q.securityWiseDP.deliveryToTradedQuantity if ($dp -gt 60) { [PSCustomObject]@{ Symbol = $sym; DeliveryPct = $dp } } } catch {} } $results | Sort-Object DeliveryPercent -Descending ``` ### Get bulk deals for today ```powershell $headers = @{ "User-Agent" = "Mozilla/5.0"; "Referer" = "https://www.nseindia.com" } Invoke-WebRequest -Uri "https://www.nseindia.com" -SessionVariable nse -Headers $headers | Out-Null $resp = Invoke-RestMethod ` -Uri "https://www.nseindia.com/api/bulk-deal-archives?number=10&series=EQ&from=&to=&symbol=&csv=false" ` -Headers $headers -WebSession $nse $resp.data | Select-Object symbol, clientName, buyOrSellFlag, quantityTraded, tradePrice, date ``` ### Get block deals for today ```powershell $headers = @{ "User-Agent" = "Mozilla/5.0"; "Referer" = "https://www.nseindia.com" } Invoke-WebRequest -Uri "https://www.nseindia.com" -SessionVariable nse -Headers $headers | Out-Null $resp = Invoke-RestMethod ` -Uri "https://www.nseindia.com/api/block-deal-archives?number=10&series=EQ&from=&to=&symbol=&csv=false" ` -Headers $headers -WebSession $nse $resp.data | Select-Object symbol, clientName, buyOrSellFlag, quantityTraded, tradePrice, date ``` ## Examples **"What is the delivery percentage for HDFC Bank today?"** → Fetch quote for `HDFCBANK`, extract `deliveryToTradedQuantity` — above 50% is considered healthy delivery. **"Which Nifty 50 stocks have delivery above 60% today?"** → Iterate over Nifty 50 symbols, fetch each quote, filter by delivery percentage threshold. **"Were there any bulk deals in IT stocks today?"** → Fetch bulk deals archive and filter by sector or symbol name containing "INFY", "TCS", "WIPRO". ## Cautions - Delivery data is updated once after market close — not available intraday - High delivery percentage alone is not sufficient for a buy signal — check price trend and volumes together - The Nifty 50 scan loop makes ~50 API calls; add a `Start-Sleep` delay to avoid NSE rate limiting - Bulk deal threshold is ≥ 0.5% of listed shares; block deal threshold is ≥ 5 lakh shares or ₹5 Cr value