ICICI Direct-Stocks F&O MF IPO icon

ICICI Direct Data API: Holdings and Orders

ICICI Securities Limited · Banking

ICICI Direct-Stocks F&O MF IPO is the Android iDirect Super client of ICICI Securities Limited, the NSE/BSE/MCX brokerage of the ICICI group (CIN L67120MH1995PLC086241). Retail investors and active traders open a 3-in-1 trading-plus-demat account through the in-app flow (PAN, Aadhaar, Digilocker, NSDL e-sign), then watch NSE/BSE scrips from a custom watchlist, place regular, basket, Flash Trade and Cloud Order tickets, track cash-equity holdings and F&O positions, run stock SIPs, Smart SIP and Freedom SIP, browse mutual funds, NFOs, live IPOs and OFS, add or withdraw rupees, and pledge holdings as Share-as-Margin. Easy Options, MultiPie, one-click portfolios, global invest, NPS, REITs/InvITs, SGBs, FDs, insurance and connected apps (Breeze, smallcase, Streak) sit around that order pad. The app is India-only — a SEBI-regulated full-service broker competing with Groww, Zerodha Kite, Angel One, Upstox and Kotak Neo for the same cash-equity and derivatives crowd.

Watchlist rows identify Nifty 50 with stockCode 26000 and exchange N, alongside ltp, changePercent and volume; quote records add open, high, low, close, bidPrice and askPrice. Demat holdings pair quantity and averagePrice with pledged collateralQty, invested value and current value. F&O position records add expiryDate, netQty, product and unrealisedMtm, while the order and trade book distinguishes orderId from exchangeOrderId and records filledQty, pendingQty and orderStatus for CNC, MIS and NRML tickets.

RMS funds separate cashBalance, availableMargin, utilizedMargin and withdrawableAmount. Share-as-Margin records complement those balances with freeQty, pledgedQty, haircutPercent, collateralValue and ddpiEnabled. SIP entries link folioNumber and schemeName to sipAmount, units, status and nextSipDate; IPO issue records supply minPrice, maxPrice, lotSize, openDate, closeDate and upiMandateSupported. A net-worth snapshot groups equity, F&O mark-to-market, mutual funds, ETFs, NPS and cash under netWorth and asOf.

Family-office and PMS reconciliation tools can compare holdings and RMS balances with custodian files; execution desks can match order and exchange identifiers against their own fills. Wealth-management tools can monitor SIP schedules and IPO issue windows, while derivatives dashboards can track pledged collateral alongside available margin. openData Studio turns these holdings, order, investment-schedule and collateral records into callable open data for those integrations.

Screenshots

  • ICICI Direct-Stocks F&O MF IPO screenshot 1
  • ICICI Direct-Stocks F&O MF IPO screenshot 2
  • ICICI Direct-Stocks F&O MF IPO screenshot 3
  • ICICI Direct-Stocks F&O MF IPO screenshot 4
  • ICICI Direct-Stocks F&O MF IPO screenshot 5
  • ICICI Direct-Stocks F&O MF IPO screenshot 6
  • ICICI Direct-Stocks F&O MF IPO screenshot 7
  • ICICI Direct-Stocks F&O MF IPO screenshot 8

API surface

Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.

  • Verify login OTP and PIN

    POST /v1/session/otp-verify openbanking

    Completes the iDirect login (password + OTP + trading PIN) and returns clientCode, sessionToken, allowed exchanges and CNC/MIS/NRML products for the trading day.

    Auth: None. Login id, password, SMS OTP and trading PIN mint the session token attached on later calls.

    • loginId
    • otp
    • tradingPin
    • deviceId
    • appVersion
    • clientCode
    • displayName
    • sessionToken
    • tokenExpiry
    • exchanges
    • products
    • dematAccount
    • pinRegistered
    POST /v1/session/otp-verify HTTP/1.1
    Content-Type: application/json
    
    {
      "loginId": "ICICI1234",
      "password": "********",
      "otp": "482913",
      "tradingPin": "2580",
      "deviceId": "android-a1b2c3",
      "appVersion": "1.3.138"
    }
    {
      "status": "OK",
      "data": {
        "clientCode": "12345678",
        "loginId": "ICICI1234",
        "displayName": "PRIYA SHARMA",
        "sessionToken": "eyJhbGciOiJIUzI1NiJ9...",
        "tokenExpiry": "2026-10-26T15:30:00+05:30",
        "exchanges": ["NSE", "BSE", "NFO", "MCX", "CDS"],
        "products": ["CNC", "MIS", "NRML"],
        "dematAccount": "IN301549-12345678",
        "pinRegistered": true
      }
    }
  • Funds and RMS limits

    GET /v1/funds/statement openbanking

    Reads the Statement of Funds / margin-details card: cash versus collateral, SPAN and exposure used, rupees withdrawable, and Share-as-Margin value.

    Auth: Session token from OTP + PIN verify.

    • clientCode
    • cashBalance
    • collateralValue
    • availableMargin
    • utilizedMargin
    • spanMargin
    • exposureMargin
    • withdrawableAmount
    • adhocMargin
    • shareAsMarginValue
    • ledgerBalance
    GET /v1/funds/statement HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "clientCode": "12345678",
        "cashBalance": 125000.0,
        "collateralValue": 48000.5,
        "availableMargin": 152410.25,
        "utilizedMargin": 24600.5,
        "spanMargin": 18400.0,
        "exposureMargin": 6200.5,
        "withdrawableAmount": 118500.0,
        "adhocMargin": 0.0,
        "shareAsMarginValue": 32000.0,
        "ledgerBalance": 125000.0
      }
    }
  • Demat holdings

    GET /v1/portfolio/holdings openfinance

    Lists cash-equity demat lots on the holdings tab: stockCode, quantity versus pledged collateralQty, averagePrice, LTP and invested versus current value.

    Auth: Session token from OTP + PIN verify.

    • stockCode
    • stockName
    • exchange
    • isin
    • quantity
    • availableQty
    • collateralQty
    • averagePrice
    • ltp
    • investedValue
    • currentValue
    • unrealisedPnl
    • totalInvestedValue
    • totalCurrentValue
    GET /v1/portfolio/holdings?segment=EQ HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "holdings": [
          {
            "stockCode": 2885,
            "stockName": "RELIANCE",
            "exchange": "N",
            "isin": "INE002A01018",
            "quantity": 50,
            "availableQty": 40,
            "collateralQty": 10,
            "averagePrice": 2460.25,
            "ltp": 2512.4,
            "investedValue": 123012.5,
            "currentValue": 125620.0,
            "unrealisedPnl": 2607.5
          }
        ],
        "totalInvestedValue": 123012.5,
        "totalCurrentValue": 125620.0
      }
    }
  • F&O open positions

    GET /v1/portfolio/positions openfinance

    Lists open F&O positions (futures and options) with netQty, averagePrice, MTM and product (MIS/NRML), including convert-to-delivery eligibility for stock futures.

    Auth: Session token from OTP + PIN verify.

    • stockCode
    • stockName
    • exchange
    • instrumentType
    • expiryDate
    • strikePrice
    • optionType
    • buyQty
    • sellQty
    • netQty
    • averagePrice
    • ltp
    • unrealisedMtm
    • product
    • convertToDeliveryEligible
    GET /v1/portfolio/positions?segment=FO HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "positions": [
          {
            "stockCode": 26009,
            "stockName": "Nifty Bank",
            "exchange": "N",
            "instrumentType": "FUTIDX",
            "expiryDate": "2026-10-29",
            "strikePrice": 0,
            "optionType": "",
            "buyQty": 15,
            "sellQty": 0,
            "netQty": 15,
            "averagePrice": 51240.5,
            "ltp": 51410.0,
            "unrealisedMtm": 2542.5,
            "product": "NRML",
            "convertToDeliveryEligible": false
          }
        ]
      }
    }
  • Order and trade book

    GET /v1/orders openfinance

    Pages today's order book and trade book: orderId versus exchangeOrderId, fill versus pending qty, LIMIT/MARKET type and COMPLETE/OPEN/CANCELLED status.

    Auth: Session token from OTP + PIN verify.

    • orderId
    • exchangeOrderId
    • stockCode
    • stockName
    • exchange
    • product
    • orderType
    • transactionType
    • quantity
    • filledQty
    • pendingQty
    • price
    • averagePrice
    • orderStatus
    • orderTime
    GET /v1/orders?book=order&status=ALL HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "orders": [
          {
            "orderId": "240102000123456",
            "exchangeOrderId": "1100000000123456",
            "stockCode": 2885,
            "stockName": "RELIANCE",
            "exchange": "N",
            "product": "CNC",
            "orderType": "LIMIT",
            "transactionType": "BUY",
            "quantity": 10,
            "filledQty": 10,
            "pendingQty": 0,
            "price": 2510.0,
            "averagePrice": 2508.35,
            "orderStatus": "COMPLETE",
            "orderTime": "2026-10-26T09:21:14+05:30"
          }
        ]
      }
    }
  • Place equity or F&O order

    POST /v1/orders openfinance

    Places a regular, Flash Trade, Cloud Order or basket ticket and returns orderId, exchangeOrderId and the RMS margin blocked.

    Auth: Session token from OTP + PIN verify.

    • stockCode
    • exchange
    • transactionType
    • product
    • orderType
    • quantity
    • price
    • disclosedQty
    • validity
    • source
    • orderId
    • exchangeOrderId
    • orderStatus
    • requiredMargin
    POST /v1/orders HTTP/1.1
    Authorization: Bearer <sessionToken>
    Content-Type: application/json
    
    {
      "stockCode": 2885,
      "exchange": "N",
      "transactionType": "BUY",
      "product": "CNC",
      "orderType": "LIMIT",
      "quantity": 10,
      "price": 2510.0,
      "disclosedQty": 0,
      "validity": "DAY",
      "source": "FLASH_TRADE"
    }
    {
      "status": "OK",
      "data": {
        "orderId": "240102000123456",
        "exchangeOrderId": "1100000000123456",
        "orderStatus": "OPEN",
        "message": "Order placed",
        "requiredMargin": 25100.0
      }
    }
  • Watchlist scrips

    GET /v1/watchlists/{watchlistId} opendata

    Returns a named watchlist of scrips keyed by stockCode (Nifty 50 = 26000, Nifty Bank = 26009 on exchange N) with last price, change and volume.

    Auth: Session token from OTP + PIN verify.

    • watchlistId
    • watchlistName
    • scrips
    • stockName
    • exchange
    • stockCode
    • ltp
    • changePercent
    • volume
    GET /v1/watchlists/default HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "watchlistId": "default",
        "watchlistName": "My Watchlist",
        "scrips": [
          {
            "stockName": "Nifty 50",
            "exchange": "N",
            "stockCode": 26000,
            "ltp": 24810.35,
            "changePercent": 0.42,
            "volume": 184320110
          },
          {
            "stockName": "Nifty Bank",
            "exchange": "N",
            "stockCode": 26009,
            "ltp": 51240.1,
            "changePercent": -0.18,
            "volume": 98211045
          }
        ]
      }
    }
  • Quote by stock code

    GET /v1/quotes/{stockCode} opendata

    Reads the Get Quote sheet for a scrip: OHLC, LTP, bid/ask and 52-week range keyed by stockCode.

    Auth: Session token from OTP + PIN verify.

    • stockCode
    • stockName
    • exchange
    • ltp
    • open
    • high
    • low
    • close
    • volume
    • bidPrice
    • askPrice
    • yearHigh
    • yearLow
    GET /v1/quotes/2885?exchange=N HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "stockCode": 2885,
        "stockName": "RELIANCE",
        "exchange": "N",
        "ltp": 2512.4,
        "open": 2498.0,
        "high": 2524.7,
        "low": 2491.15,
        "close": 2501.8,
        "volume": 6845210,
        "bidPrice": 2512.2,
        "askPrice": 2512.45,
        "yearHigh": 2856.0,
        "yearLow": 2191.4
      }
    }
  • Mutual-fund SIP book

    GET /v1/mf/sip-book openfinance

    Lists active, paused and cancelled mutual-fund SIPs (including Smart SIP / Freedom SIP) with folioNumber, sipAmount, units, NAV and next debit date.

    Auth: Session token from OTP + PIN verify.

    • sipId
    • folioNumber
    • schemeName
    • schemeCode
    • sipAmount
    • sipDate
    • frequency
    • units
    • nav
    • currentValue
    • status
    • nextSipDate
    GET /v1/mf/sip-book HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "sips": [
          {
            "sipId": "SIP900112",
            "folioNumber": "1234567890",
            "schemeName": "ICICI Prudential Bluechip Fund - Direct Growth",
            "schemeCode": "INF109K01Y64",
            "sipAmount": 5000.0,
            "sipDate": 5,
            "frequency": "MONTHLY",
            "units": 142.335,
            "nav": 98.12,
            "currentValue": 13965.9,
            "status": "ACTIVE",
            "nextSipDate": "2026-11-05"
          }
        ]
      }
    }
  • Open IPO issues

    GET /v1/ipo/issues openfinance

    Lists live mainboard and SME IPOs (and OFS) with the price band, lot size, open/close dates and whether a UPI mandate bid is accepted.

    Auth: Session token from OTP + PIN verify.

    • issueId
    • issueName
    • symbol
    • minPrice
    • maxPrice
    • lotSize
    • issueSizeCr
    • openDate
    • closeDate
    • category
    • upiMandateSupported
    GET /v1/ipo/issues?status=OPEN HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "issues": [
          {
            "issueId": "IPO20261001",
            "issueName": "Example Industries Ltd",
            "symbol": "EXIND",
            "minPrice": 220.0,
            "maxPrice": 232.0,
            "lotSize": 60,
            "issueSizeCr": 2400.0,
            "openDate": "2026-10-21",
            "closeDate": "2026-10-23",
            "category": "MAINBOARD",
            "upiMandateSupported": true
          }
        ]
      }
    }
  • Share-as-Margin pledge eligibility

    GET /v1/margin/pledge-eligibility openfinance

    Returns which holdings can be pledged as Share-as-Margin: free versus pledged qty, haircut, collateral value and whether DDPI is already enabled.

    Auth: Session token from OTP + PIN verify.

    • stockCode
    • stockName
    • isin
    • freeQty
    • pledgedQty
    • haircutPercent
    • collateralValue
    • eligibleToPledge
    • totalCollateralValue
    • ddpiEnabled
    GET /v1/margin/pledge-eligibility HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "scrips": [
          {
            "stockCode": 2885,
            "stockName": "RELIANCE",
            "isin": "INE002A01018",
            "freeQty": 40,
            "pledgedQty": 10,
            "haircutPercent": 12.5,
            "collateralValue": 21983.5,
            "eligibleToPledge": true
          }
        ],
        "totalCollateralValue": 32000.0,
        "ddpiEnabled": true
      }
    }
  • Net-worth snapshot

    GET /v1/portfolio/networth openfinance

    Rolls equity, F&O MTM, mutual funds, ETFs, NPS and cash into a single My Networth figure for the portfolio home.

    Auth: Session token from OTP + PIN verify.

    • netWorth
    • equityValue
    • fnoMtm
    • mfValue
    • etfValue
    • npsValue
    • cashBalance
    • asOf
    GET /v1/portfolio/networth HTTP/1.1
    Authorization: Bearer <sessionToken>
    {
      "status": "OK",
      "data": {
        "netWorth": 1854320.75,
        "equityValue": 125620.0,
        "fnoMtm": 2542.5,
        "mfValue": 412330.1,
        "etfValue": 22110.0,
        "npsValue": 88000.0,
        "cashBalance": 125000.0,
        "asOf": "2026-10-26T15:30:00+05:30"
      }
    }

Data categories

  • session tokens
  • RMS funds and margin
  • demat holdings
  • F&O positions
  • order and trade book
  • watchlists
  • scrip quotes
  • mutual-fund SIP book
  • IPO issues
  • Share-as-Margin pledge
  • net worth

Where teams use this data

  • Nightly holdings and RMS reconcile

    A family-office or PMS desk pulls demat lots (stockCode, quantity, averagePrice, collateralQty) plus cashBalance / availableMargin and matches them to the custodian file before the next cash session.

  • OMS fill vs iDirect order book

    An execution desk compares its own fills to orderId / exchangeOrderId / filledQty / orderStatus on the iDirect order and trade book so CNC versus MIS tickets do not drift overnight.

  • SIP and IPO mandate monitor

    A wealth OS watches folioNumber / nextSipDate / sipAmount on the SIP book and open IPO lotSize / maxPrice bands so UPI mandates and NFO windows are not missed.

  • Pledge headroom for F&O

    A derivatives overlay reads pledgedQty, haircutPercent and availableMargin before rolling Bank Nifty / Nifty futures so Share-as-Margin collateral is topped up ahead of SPAN.

Frequently asked questions

What ICICI Direct data is covered, and does it require login?

The documented account data includes funds (cashBalance, availableMargin, withdrawableAmount), demat holdings (stockCode, quantity), F&O positions (netQty, unrealisedMtm), and the order and trade book (orderId, filledQty, orderStatus). It also covers watchlists, quotes, SIP schedules, IPO issues, pledge eligibility and net worth. The authentication notes describe login ID, password, SMS OTP and trading PIN, followed by a session token for later calls.

How do stockCode and exchange identify securities?

The watchlist examples use stockCode 26000 for Nifty 50 and 26009 for Nifty Bank, both with exchange N. Holdings, quote and order records also carry stockCode and exchange, so integrations can match security references across those records.

What mutual-fund SIP and IPO details are available?

The SIP book includes folioNumber, schemeName, sipAmount, units, status and nextSipDate for mutual-fund plans, including Smart SIP and Freedom SIP. IPO issue records include minPrice, maxPrice, lotSize, openDate, closeDate and upiMandateSupported for the listed mainboard, SME and OFS offerings. These IPO fields describe issues, not a client's submitted bids or allotments.

How can Share-as-Margin data support collateral checks?

Pledge eligibility records list isin, freeQty, pledgedQty, haircutPercent, collateralValue and eligibleToPledge, together with ddpiEnabled. Integrations can compare these with availableMargin and utilizedMargin in the funds data to monitor pledged collateral and margin headroom.

Apps similar to ICICI Direct-Stocks F&O MF IPO

  • Groww — Groww is an Indian online investment platform (Groww Invest Tech Pvt. Ltd., SEBI INZ000301838) for a paperless demat account plus NSE/BSE stocks, ETFs, IPOs, F&O and direct mutual funds.
  • Zerodha Kite — Zerodha Broking Limited (SEBI INZ000031633) is an Indian discount broker whose Kite platform covers stocks, IPOs, F&O, ETFs and bonds, with Coin for direct mutual funds.
  • Angel One: Stocks, Mutual Fund — Angel One is an Indian brokerage app and web platform for stocks, mutual-fund SIPs, IPOs, derivatives, commodities and US stocks.
  • Upstox Stocks IPO Mutual Funds — Upstox is an Indian online brokerage that opens demat and trading accounts for stocks, mutual funds, IPOs, futures and options, commodities and currencies.
  • Kotak Neo: Stock Trading App — Kotak Neo is Kotak Securities Limited’s retail investing platform in India for stocks, futures and options, mutual funds, IPOs, ETFs and commodities, including individual and NRI demat accounts.
  • 5paisa: Demat, Stocks & IPO — 5paisa is a SEBI-registered Indian discount broker whose app opens a demat account for stocks, IPOs, ETFs, mutual funds, derivatives and commodities.
  • INDmoney: US Stocks, F&O, IPO — INDmoney is an Indian trading and investing app for Indian and US stocks, F&O, IPOs, mutual funds, ETFs and commodities on one platform.

Topics

  • ICICI Direct API
  • iDirect Super holdings
  • ICICI Securities stockCode
  • ICICI Direct order book
  • ICICI Direct SIP book
  • Share-as-Margin pledge
  • ICICI Direct IPO issues
  • availableMargin funds

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

Get a quote