Kotak Neo Data API: Endpoints and Fields
Kotak Neo: Stock Trading App is the Android trading client of Kotak Securities Limited, the SEBI-regulated brokerage of the Kotak Mahindra group. Retail investors and active traders open a demat-plus-trading account through the in-app DIY flow (Digilocker and Aadhaar e-sign), then watch NSE/BSE/MCX scrips, place regular and Insta Trade tickets from the quote sheet or from charts, track holdings and F&O positions, run SIP-it stock baskets, browse mutual funds and live IPOs, and add or withdraw rupees over UPI and netbanking. Option chains for Nifty, Bank Nifty, Sensex, gold, silver and crude, readymade strategy templates, Trade-from-Charts scalper mode, Nest Trader web hand-off and a published Trade API sit around that order pad. The app is India-only — competing with Groww, Zerodha Kite, Angel One and Upstox for the same cash-equity and derivatives crowd.
Insta Trade tickets on the order pad stamp orderId, exchangeOrderId and orderStatus against CNC/MIS/NRML product rows, while the funds card next to that pad splits cashAvailable, collateralValue, spanMargin and withdrawableAmount. Demat lines then revalue quantity at ltp with isin, freeQty, pledgedQty and haircut; F&O nets arrive as netQuantity, mtm and strikePrice.
Nifty and Bank Nifty ladders add openInterest, impliedVolatility and delta per strike; SIP-it baskets expose sipAmount and mandateStatus; IPO windows carry lotSize and cutoffPrice; rupee ops reuse razorpayOrderId, upiId, payoutAmount and ifsc. Portfolio reconcilers, pre-trade gates, derivatives overlays and funds ops consume those fields — openData Studio turns them into callable open data.
Screenshots
API surface
Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.
Verify login OTP
POST
/v1/kotak-neo/session/otp-verifyopenbankingCompletes the unified-login OTP step and returns clientId, ucid, accessToken and sid plus the exchanges and CNC/MIS/NRML products the session may trade.
Auth: None. Mobile number plus OTP mint the accessToken and sid attached on later calls.
- mobileNumber
- otp
- deviceId
- appVersion
- clientId
- ucid
- displayName
- accessToken
- sid
- tokenExpiry
- exchanges
- products
POST /v1/kotak-neo/session/otp-verify HTTP/1.1 Content-Type: application/json { "mobileNumber": "9876543210", "otp": "482913", "deviceId": "android-a1b2c3", "appVersion": "2.2.86" }{ "status": "OK", "data": { "clientId": "N123456", "ucid": "UCID9001", "displayName": "PRIYA SHARMA", "accessToken": "eyJhbGciOiJIUzI1NiJ9...", "sid": "sid_9f3a", "tokenExpiry": "2026-10-23T18:15:00+05:30", "exchanges": ["NSE", "BSE", "NFO", "MCX"], "products": ["CNC", "MIS", "NRML"] } }Funds and RMS limits
GET
/v1/kotak-neo/funds/limitsopenbankingReads the funds card: cash versus collateral, SPAN/exposure used, rupees withdrawable today, and today's pay-in/payout.
Auth: Bearer accessToken plus sid from OTP verify.
- clientId
- cashAvailable
- collateralValue
- availableMargin
- spanMargin
- exposureMargin
- utilizedMargin
- withdrawableAmount
- payinToday
- payoutToday
- adhocMargin
- mtfUsed
GET /v1/kotak-neo/funds/limits HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "clientId": "N123456", "cashAvailable": 125000.0, "collateralValue": 48000.5, "availableMargin": 152410.25, "spanMargin": 18400.0, "exposureMargin": 6200.5, "utilizedMargin": 24600.5, "withdrawableAmount": 118500.0, "payinToday": 20000.0, "payoutToday": 5000.0, "adhocMargin": 0.0, "mtfUsed": 0.0 } }Demat holdings
GET
/v1/kotak-neo/portfolio/holdingsopenfinanceLists demat lots on the holdings tab with ISIN, free versus pledged quantity, LTP revaluation and haircut used for extra margin.
Auth: Bearer accessToken plus sid from OTP verify.
- holdings
- tradingSymbol
- isin
- exchange
- nseCode
- quantity
- avgPrice
- ltp
- currentValue
- investedValue
- unrealisedPnl
- pledgedQty
- freeQty
- haircut
- product
- totalCurrentValue
- totalInvestedValue
GET /v1/kotak-neo/portfolio/holdings HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "holdings": [ { "tradingSymbol": "RELIANCE", "isin": "INE002A01018", "exchange": "NSE", "nseCode": "2885", "quantity": 50, "avgPrice": 2460.25, "ltp": 2512.4, "currentValue": 125620.0, "investedValue": 123012.5, "unrealisedPnl": 2607.5, "pledgedQty": 10, "freeQty": 40, "haircut": 12.5, "product": "CNC" } ], "totalCurrentValue": 125620.0, "totalInvestedValue": 123012.5 } }F&O positions
GET
/v1/kotak-neo/portfolio/positionsopenfinanceNets open F&O and cash positions with buy/sell average, MTM and realised PnL for the positions tab.
Auth: Bearer accessToken plus sid from OTP verify.
- positions
- tradingSymbol
- exchange
- product
- netQuantity
- buyAvg
- sellAvg
- ltp
- mtm
- realisedPnl
- multiplier
- expiryDate
- optionType
- strikePrice
GET /v1/kotak-neo/portfolio/positions?segment=NFO HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "positions": [ { "tradingSymbol": "NIFTY25OCT24500CE", "exchange": "NFO", "product": "NRML", "netQuantity": 75, "buyAvg": 142.5, "sellAvg": 0.0, "ltp": 156.2, "mtm": 1027.5, "realisedPnl": 0.0, "multiplier": 75, "expiryDate": "2025-10-30", "optionType": "CE", "strikePrice": 24500.0 } ] } }Place Insta Trade order
POST
/v1/kotak-neo/orders/placeopenfinancePlaces a regular or Insta Trade ticket from the quote sheet or Trade-from-Charts scalper pad and returns orderId plus exchangeOrderId.
Auth: Bearer accessToken plus sid from OTP verify.
- tradingSymbol
- exchange
- transactionType
- orderType
- product
- quantity
- price
- validity
- variety
- disclosedQuantity
- orderId
- exchangeOrderId
- orderStatus
- placedAt
POST /v1/kotak-neo/orders/place HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a Content-Type: application/json { "tradingSymbol": "RELIANCE", "exchange": "NSE", "transactionType": "BUY", "orderType": "LIMIT", "product": "CNC", "quantity": 10, "price": 2510.0, "validity": "DAY", "variety": "INSTA_TRADE", "disclosedQuantity": 0 }{ "status": "OK", "data": { "orderId": "2510230001842", "exchangeOrderId": "1100000012345678", "tradingSymbol": "RELIANCE", "exchange": "NSE", "transactionType": "BUY", "orderType": "LIMIT", "product": "CNC", "quantity": 10, "price": 2510.0, "orderStatus": "OPEN", "variety": "INSTA_TRADE", "placedAt": "2026-10-23T10:16:04+05:30" } }Order book
GET
/v1/kotak-neo/ordersopenfinancePages working, filled, partial and rejected tickets for the orders tab, including pendingQuantity and rejectionReason.
Auth: Bearer accessToken plus sid from OTP verify.
- orders
- orderId
- exchangeOrderId
- tradingSymbol
- exchange
- transactionType
- product
- quantity
- filledQuantity
- pendingQuantity
- price
- averagePrice
- orderStatus
- variety
- rejectionReason
GET /v1/kotak-neo/orders?status=OPEN HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "orders": [ { "orderId": "2510230001842", "exchangeOrderId": "1100000012345678", "tradingSymbol": "RELIANCE", "exchange": "NSE", "transactionType": "BUY", "product": "CNC", "quantity": 10, "filledQuantity": 0, "pendingQuantity": 10, "price": 2510.0, "averagePrice": 0.0, "orderStatus": "OPEN", "variety": "INSTA_TRADE", "rejectionReason": "" } ] } }Option chain
GET
/v1/kotak-neo/quotes/option-chainopendataReturns the CE/PE ladder for an expiry — strike, LTP, open interest, IV and greeks — used by the option-chain sheet and readymade strategy templates.
Auth: Bearer accessToken plus sid from OTP verify.
- underlying
- spotPrice
- expiryDate
- rows
- strikePrice
- tradingSymbol
- ltp
- openInterest
- impliedVolatility
- delta
- bidPrice
- askPrice
GET /v1/kotak-neo/quotes/option-chain?underlying=NIFTY&expiry=2025-10-30 HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "underlying": "NIFTY", "spotPrice": 24810.4, "expiryDate": "2025-10-30", "rows": [ { "strikePrice": 24500.0, "ce": { "tradingSymbol": "NIFTY25OCT24500CE", "ltp": 156.2, "openInterest": 1842000, "impliedVolatility": 12.4, "delta": 0.62, "bidPrice": 155.8, "askPrice": 156.6 }, "pe": { "tradingSymbol": "NIFTY25OCT24500PE", "ltp": 48.1, "openInterest": 992000, "impliedVolatility": 13.1, "delta": -0.38, "bidPrice": 47.8, "askPrice": 48.4 } } ] } }Watchlist scrips
GET
/v1/kotak-neo/watchlists/{watchlistId}opendataLoads a named watchlist with last price, change and optional price-alert levels that drive the home quote strip.
Auth: Bearer accessToken plus sid from OTP verify.
- watchlistId
- name
- scrips
- tradingSymbol
- exchange
- nseCode
- ltp
- changePercent
- volume
- priceAlert
- enabled
- targetPrice
GET /v1/kotak-neo/watchlists/wl_default HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "watchlistId": "wl_default", "name": "My Watchlist", "scrips": [ { "tradingSymbol": "RELIANCE", "exchange": "NSE", "nseCode": "2885", "ltp": 2512.4, "changePercent": 1.12, "volume": 4821000, "priceAlert": { "enabled": true, "targetPrice": 2550.0 } } ] } }Open IPO issues
GET
/v1/kotak-neo/ipo/issuesopenfinanceLists live IPO windows with lot size, bid band and cutoff so the IPO nudge can collect a UPI VPA bid.
Auth: Bearer accessToken plus sid from OTP verify.
- issues
- symbol
- companyName
- isin
- lotSize
- minBidPrice
- maxBidPrice
- cutoffPrice
- category
- openDate
- closeDate
- upiVpaRequired
GET /v1/kotak-neo/ipo/issues?status=OPEN HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "issues": [ { "symbol": "NEOBANK", "companyName": "Neo Bank Limited", "isin": "INE0IPO01011", "lotSize": 40, "minBidPrice": 95.0, "maxBidPrice": 100.0, "cutoffPrice": 100.0, "category": "RETAIL", "openDate": "2026-10-20", "closeDate": "2026-10-24", "upiVpaRequired": true } ] } }SIP-it portfolio
GET
/v1/kotak-neo/sipit/portfolioopenfinanceReturns SIP-it stock/ETF baskets with sipAmount, mandate status and marked-to-market currentValue for the SIP-it dashboard.
Auth: Bearer accessToken plus sid from OTP verify.
- baskets
- basketId
- name
- sipAmount
- frequency
- nextSipDate
- investedValue
- currentValue
- units
- status
- mandateStatus
- totalCurrentValue
GET /v1/kotak-neo/sipit/portfolio HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a{ "status": "OK", "data": { "baskets": [ { "basketId": "sip_eq_core", "name": "Equity Core", "sipAmount": 5000.0, "frequency": "MONTHLY", "nextSipDate": "2026-11-05", "investedValue": 45000.0, "currentValue": 47210.5, "units": 182.4, "status": "ACTIVE", "mandateStatus": "ACTIVE" } ], "totalCurrentValue": 47210.5 } }Instant UPI pay-in
POST
/v1/kotak-neo/funds/payinopenbankingStarts an instant rupee pay-in over UPI (Razorpay checkout plus Juspay HyperUPI) and returns razorpayOrderId once the ledger is credited.
Auth: Bearer accessToken plus sid from OTP verify.
- amountPaise
- currency
- paymentMethod
- upiId
- emailId
- phoneNo
- razorpayOrderId
- paymentId
- ledgerCreditStatus
- cashAvailableAfter
POST /v1/kotak-neo/funds/payin HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a Content-Type: application/json { "amountPaise": 2500000, "currency": "INR", "paymentMethod": "UPI", "upiId": "priya@okaxis", "emailId": "[email protected]", "phoneNo": "9876543210" }{ "status": "OK", "data": { "razorpayOrderId": "order_Dd3Wbag7QXDuuL", "amountPaise": 2500000, "currency": "INR", "paymentId": "pay_9f3a", "upiId": "priya@okaxis", "ledgerCreditStatus": "SUCCESS", "cashAvailableAfter": 150000.0 } }Instant withdrawal
POST
/v1/kotak-neo/funds/payoutopenbankingRequests an instant payout of withdrawable rupees to the mapped bank account from the instant-withdrawal sheet.
Auth: Bearer accessToken plus sid from OTP verify.
- payoutAmount
- bankName
- accountNumber
- ifsc
- payoutId
- payoutStatus
- withdrawableAmountAfter
POST /v1/kotak-neo/funds/payout HTTP/1.1 Authorization: Bearer <accessToken> Sid: sid_9f3a Content-Type: application/json { "payoutAmount": 25000.0, "bankName": "HDFC BANK", "accountNumber": "50100012345678", "ifsc": "HDFC0000123" }{ "status": "OK", "data": { "payoutId": "po_25102388", "payoutAmount": 25000.0, "bankName": "HDFC BANK", "accountNumber": "50100012345678", "ifsc": "HDFC0000123", "payoutStatus": "REQUESTED", "withdrawableAmountAfter": 93500.0 } }
Data categories
- session tokens
- RMS funds and margin
- demat holdings
- F&O positions
- Insta Trade orders
- option chains
- watchlists
- IPO issues
- SIP-it baskets
- UPI pay-in
- rupee payouts
Where teams use this data
Nightly demat versus RMS recon
A family-office book maps isin / quantity / avgPrice / currentValue from holdings onto the custodian file, then checks availableMargin, spanMargin and withdrawableAmount so pledgedQty haircut drift is flagged before the cash open.
Insta Trade pre-trade gate
An execution bot reads availableMargin and utilizedMargin, then posts an INSTA_TRADE LIMIT ticket only when cashAvailable covers quantity times price for the chosen CNC/MIS/NRML product.
Nifty chain overlay
A derivatives desk pulls strikePrice, openInterest, impliedVolatility and delta for NIFTY/BANKNIFTY expiries and overlays netQuantity / mtm from the positions call onto the same ladder.
SIP-it and rupee ops
Ops lists sipAmount and mandateStatus per basketId, credits the ledger from razorpayOrderId pay-ins, and drives payoutAmount to the mapped ifsc / accountNumber when withdrawableAmount allows.
Frequently asked questions
How does Kotak Neo authenticate trading calls?
Unified login verifies a mobile OTP and returns accessToken, sid, clientId and ucid plus the exchanges and CNC/MIS/NRML products the session may trade. Later funds, holdings, Insta Trade and payout calls attach that accessToken as Bearer with the sid header.
Which fields describe funds, holdings and positions?
The limits snapshot splits cashAvailable, collateralValue, availableMargin, spanMargin, exposureMargin and withdrawableAmount. Holdings return isin, quantity, avgPrice, ltp, freeQty, pledgedQty and haircut. Positions net F&O with netQuantity, buyAvg, mtm, strikePrice and optionType.
Can I read Insta Trade tickets and the Nifty option chain?
Yes. Place-order returns orderId, exchangeOrderId and orderStatus for variety INSTA_TRADE; the order book pages pendingQuantity and rejectionReason. The option-chain call returns strikePrice, ltp, openInterest, impliedVolatility and delta for underlyings such as NIFTY, BANKNIFTY, SENSEX, gold and crude.
Where do SIP-it baskets, IPO bids and rupee payouts live?
SIP-it lists basketId, sipAmount, frequency and mandateStatus. Open IPO issues expose lotSize, minBidPrice, cutoffPrice and upiVpaRequired. Instant pay-in returns razorpayOrderId against upiId; instant withdrawal sends payoutAmount to bankName / accountNumber / ifsc.
Apps similar to Kotak Neo: Stock Trading App
- Groww — Groww is an Indian SEBI-registered brokerage (Groww Invest Tech Pvt. Ltd., member of NSE, BSE and MCX) where investors open a paperless demat and trading account to trade NSE/BSE stocks, ETFs and IPOs, run F&O from a terminal, and buy direct mutual funds via lump sum or SIP.
- Zerodha Kite — Kite is Zerodha's investment and trading platform for Indian markets, covering equities, IPOs, futures and options, commodities and currencies, with Coin for direct mutual funds and Kite Connect HTTP APIs for orders and market data.
- Angel One: Stocks, Mutual Fund — Angel One Limited is a SEBI-registered Indian retail brokerage (INZ000161534) and member of NSE, BSE, MSEI, MCX and NCDEX, offering stocks, mutual funds and SIPs, F&O, IPOs and commodities from its app.
- Upstox Stocks IPO Mutual Funds — Upstox is an Indian online brokerage (Upstox Securities Pvt. Ltd., SEBI INZ000315837, NSE/BSE/MCX member) that opens demat and trading accounts for stocks, mutual funds, IPOs, futures, options, commodities and currencies.
- ICICI Direct-Stocks F&O MF IPO — ICICIdirect.com is ICICI Securities' retail trading and investment platform, pairing a demat or 3-in-1 account with stocks, intraday, F&O, IPOs, mutual funds, commodities, ETFs and bonds.
- 5paisa: Demat, Stocks & IPO — 5paisa Capital Ltd. is a SEBI-registered Indian discount broker (INZ000010231) whose app opens a demat account for stocks, direct mutual funds and SIPs, IPOs, ETFs, F&O, commodities and margin trading.
- IIFL : Stocks, Demat & IPOs — IIFL Capital Services is a SEBI-registered Indian stockbroker (INZ000164132) whose demat account covers equities, mutual funds, IPOs, F&O, commodities, currencies and US stocks.
- INDmoney: US Stocks, F&O, IPO — INDmoney is an India-based investing app (INDstocks Private Limited, SEBI-registered broker and NSE/BSE/MCX member) for Indian and US stocks, mutual funds, F&O, IPOs, commodities and ETFs from one account.
Topics
- Kotak Neo API
- Kotak Neo holdings
- Kotak Neo Insta Trade
- spanMargin availableMargin
- Nifty option chain openInterest
- SIP-it sipAmount
- Kotak Neo IPO lotSize
- razorpayOrderId upiId
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use