Skip to content

IPO Order

IPO (Initial Public Offering) refers to the process through which a private company offers its shares to the public for the first time. The IPO data API provides detailed information about upcoming, ongoing, and closed IPOs.

Type API Endpoint Description
GET iporest/nse/order/openOrders Fetch all open IPO orders
POST iporest/nse/order/placeOrders Place a new IPO order
GET /iporest/nse/order/getOrderBook Retrieve the full IPO order book
GET iporest/nse/order/cancelOrders Cancel an open IPO order

Fetch IPO Detail

Retrieves detailed information about IPOs (Initial Public Offerings) available on the stock exchange. This includes current, upcoming, and closed IPOs along with key attributes such as company name, issue size, price band, lot size, subscription dates, and listing details. It helps users stay updated on IPO opportunities for investment decisions.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "lotSize": 1600,
            "faceValue": 10.0,
            "minPrice": 68.0,
            "maxPrice": 72.0,
            "tickSize": 1.0,
            "cutOffPrice": 72.0,
            "registrar": "BIGSHARE",
            "subType": "SME",
            "categoryDetails": [
                {
                    "code": "QIB",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                },
                {
                    "code": "NIB",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                },
                {
                    "code": "RETAIL",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                }
            ],
            "subCategorySettings": [
                {
                    "caCode": "NIB",
                    "subCatCode": "IND",
                    "minValue": 200001.0,
                    "maxValue": 1.283328E8,
                    "allowCutOff": false,
                    "allowUpi": true,
                    "discountType": "",
                    "discountPrice": null,
                    "maxUpiLimit": 500000.0,
                    "maxQuantity": null
                }
            ],
            "symbol": "AAKAAR",
            "name": "Aakaar Medical Technologies Limited",
            "isin": "INE1GYP01013",
            "issueType": "EQUITY",
            "issueSize": 2683200,
            "minBidQuantity": 1600,
            "biddingStartDate": "20-06-2025",
            "biddingEndDate": "24-06-2025"
        },
        {
            "lotSize": 67,
            "faceValue": 2.0,
            "minPrice": 210.0,
            "maxPrice": 222.0,
            "tickSize": 1.0,
            "cutOffPrice": 222.0,
            "registrar": "LINK",
            "subType": "EQ",
            "categoryDetails": [
                {
                    "code": "QIB",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                },
                {
                    "code": "NIB",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                },
                {
                    "code": "RETAIL",
                    "startTime": "10:00:00",
                    "endTime": "17:00:00"
                }
            ],
            "subCategorySettings": [
                {
                    "caCode": "NIB",
                    "subCatCode": "IND",
                    "minValue": 200001.0,
                    "maxValue": 1.248984654E9,
                    "allowCutOff": false,
                    "allowUpi": true,
                    "discountType": "",
                    "discountPrice": null,
                    "maxUpiLimit": 500000.0,
                    "maxQuantity": null
                }
            ],
            "symbol": "ARISINFRA",
            "name": "Arisinfra Solutions Limited",
            "isin": "INE0H9P01028",
            "issueType": "EQUITY",
            "issueSize": 13084656,
            "minBidQuantity": 67,
            "biddingStartDate": "18-06-2025",
            "biddingEndDate": "20-06-2025"
        }
    ]
}

Response Parameters

Field Type Description
status String Response status, typically "Ok" if successful.
message String Response message, typically "Success".
result Array List of IPO detail objects.
lotSize Integer Number of shares in a single lot.
faceValue Float Face value of one share.
minPrice Float Minimum price in the price band.
maxPrice Float Maximum price in the price band.
tickSize Float Minimum price increment allowed during bidding.
cutOffPrice Float Price set for cut-off bids.
registrar String Registrar of the IPO (e.g., BIGSHARE, LINK).
subType String IPO category: "SME" (small/medium enterprises) or "EQ" (mainboard).
symbol String Trading symbol of the IPO.
name String Full name of the issuing company.
isin String ISIN code of the security.
issueType String Type of issue, e.g., "EQUITY".
issueSize Integer Total number of shares issued.
minBidQuantity Integer Minimum number of shares that can be bid for.
biddingStartDate String Start date for bidding in format DD-MM-YYYY.
biddingEndDate String End date for bidding in format DD-MM-YYYY.
code String Category code: QIB, NIB, RETAIL.
startTime String Bidding start time in HH:MM:SS.
endTime String Bidding end time in HH:MM:SS.
caCode String Main category code (e.g., NIB).
subCatCode String Sub-category code (e.g., IND = Individual).
minValue Float Minimum investment amount.
maxValue Float Maximum investment amount.
allowCutOff Boolean If cutoff price bidding is allowed.
allowUpi Boolean If UPI is allowed as payment method.
discountType String Discount type (if any). Usually an empty string if not applicable.
discountPrice Float Discount price if applicable (nullable).
maxUpiLimit Float Maximum amount allowed via UPI (typically ₹5,00,000).
maxQuantity Integer Maximum quantity allowed per sub-category (nullable if unlimited).

Place IPO Order

The "Place IPO Order" API is used to submit a new IPO application for a client. It allows investors to apply for shares in an ongoing IPO by specifying bid details such as quantity, price, category, and UPI payment information.

Request Structure

{
    "symbol": "PRANIK",
    "category": "IND",
    "clientName": "RAJENDRAN GOWRI SANKAR",
    "depository": "CDSL",
    "dpId": "33445566",
    "clientBenId": "1209280000054648",
    "nonASBA": false,
    "pan": "BZAPG5040A",
    "referenceNumber": "",
    "allotmentMode": "demat",
    "upiFlag": "Y",
    "upi": "9791411886@ybl",
    "timestamp": "01-12-2015 13:40:55",
    "bids": [
        {
            "activityType": "new",
            "quantity": 1600, // minBidQuantity
            "atCutOff": false,
            "price": 73.0, // minPrice
            "amount": 77.0, // cutOffPrice
            "remark": "1"
        }
    ]
} 

Input Parameter

Field Name Type Description
symbol string IPO symbol you want to apply for (e.g., PRANIK).
category string Investor category (e.g., IND for Individual, QIB, NIB).
clientName string Full name of the applicant as per demat account.
depository string Depository type: either CDSL or NSDL.
dpId string Depository Participant ID (required for NSDL, can be blank for CDSL).
clientBenId string Beneficiary account number (Demat ID).
nonASBA boolean false for ASBA applications (payment through UPI).
pan string PAN number of the applicant.
referenceNumber string Optional field for tracking references.
allotmentMode string Allotment mode – always demat.
upiFlag string Set "Y" if using UPI for payment.
upi string UPI ID for fund blocking (e.g., yourname@bank).
timestamp string Date and time of order submission (dd-MM-yyyy HH:MM:SS).
bids array List of bid objects (can contain multiple bids).
activityType string "new" for placing a new bid.
quantity integer Number of shares (should be multiple of lot size).
atCutOff boolean true for Cut-off price application, else specify price.
price float The bid price per share (ignored if atCutOff = true).
amount float The total price used to calculate funds blocked (usually Cut-off Price).
remark string Optional remarks (e.g., 1 for tracking purposes).

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "symbol": "PRANIK",
            "reason": "Issue is not open",
            "applicationNumber": "800021330",
            "clientName": "GOPIKA KANDASAMY",
            "chequeNumber": "",
            "referenceNumber": "",
            "dpVerStatusFlag": "P",
            "subBrokerCode": "",
            "depository": "CDSL",
            "reasonCode": 5,
            "pan": "LDPPK6641E",
            "ifsc": "IT",
            "timestamp": "20-06-2025 15:52:53",
            "bankAccount": "",
            "bankCode": "",
            "dpVerReason": "",
            "dpId": "",
            "upi": "9791411886@ybl",
            "bids": [
                {
                    "activityType": "new",
                    "bidReferenceNumber": 2025062000314217,
                    "quantity": 1600,
                    "series": "",
                    "atCutOff": false,
                    "price": 73.0,
                    "amount": 116800.0,
                    "remark": "1",
                    "status": "success"
                }
            ],
            "allotmentMode": "demat",
            "dpVerFailCode": "",
            "nonASBA": false,
            "upiFlag": "Y",
            "category": "IND",
            "locationCode": "",
            "clientBenId": "1209280000126047",
            "status": "failed"
        }
    ]
}

Response Parameters

Field Name Type Description
status string Overall API response status (Ok, Error, etc.).
message string General message indicating success or reason for failure.
result array Array of IPO order status objects.
symbol string IPO symbol applied for.
reason string Reason for application failure, if any (e.g., "Issue is not open").
applicationNumber string IPO application reference number.
clientName string Name of the investor.
chequeNumber string Not used in UPI-based IPOs; generally empty.
referenceNumber string UPI or application reference (may be blank).
dpVerStatusFlag string DP verification status: P = Pending, Y = Verified, N = Failed.
subBrokerCode string Optional field for sub-broker ID.
depository string Depository type (CDSL or NSDL).
reasonCode integer Error code (if any), useful for backend or debugging.
pan string PAN number of the applicant.
ifsc string IFSC code of applicant’s bank (if available).
timestamp string Order request timestamp in dd-MM-yyyy HH:MM:SS format.
bankAccount string Bank account number (if submitted).
bankCode string Bank identifier code (if any).
dpVerReason string Reason for DP verification failure (if any).
dpId string Depository Participant ID.
upi string UPI ID used for payment.
allotmentMode string Allotment type (demat is standard).
dpVerFailCode string DP failure code (if verification fails).
nonASBA boolean Indicates whether ASBA is not used (false if UPI is used).
upiFlag string "Y" if UPI is used for fund blocking.
category string Investor category (IND, QIB, NIB, etc.).
locationCode string Optional field for regional tracking.
clientBenId string Beneficiary Demat account number.
status string Final order status: success, failed, etc.
activityType string "new" for a new IPO bid.
bidReferenceNumber number Unique identifier for the bid request.
quantity integer Number of shares applied for (in multiples of lot size).
series string Typically empty for equity IPOs.
atCutOff boolean true if bid is at cut-off price.
price float Bid price (ignored if atCutOff = true).
amount float Total application value (price * quantity).
remark string Optional notes or client-side identifiers.
status string Status of individual bid (success, failed, etc.).

Fetch IPO Orders

The "Fetch IPO Order" API is used to retrieve all active IPO orders that have been placed but are not yet fully processed or allotted.

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "symbol": "PRANIK",
            "clientName": "GOPIKA KANDASAMY",
            "chequeNo": "",
            "dpVerStatusFlag": "P",
            "subBrokerCode": "",
            "timestamp": "20-06-2025 15:52:53",
            "bankAccount": "",
            "bankCode": "",
            "dpVerReason": "",
            "allotmentMode": "demat",
            "dpVerFailCode": "",
            "nonASBA": "false",
            "upiFlag": "Y",
            "locationCode": "",
            "userId": "AB0608",
            "orderId": 673,
            "applicationNo": "800021330",
            "referenceNo": "",
            "depository": "CDSL",
            "panNo": "LDPPK6641E",
            "dpId": "",
            "accountNumberUpiId": "9791411886@ybl",
            "category": "IND",
            "clientBenfId": "1209280000126047",
            "statusMessage": "failed",
            "exchType": "NSE",
            "bids": [
                {
                    "orderId": 673,
                    "actionCode": "new",
                    "bidId": "2025062000314217",
                    "qty": "1600",
                    "rate": "73.0",
                    "errorCode": "1",
                    "message": "success",
                    "amount": "116800.0",
                    "series": "",
                    "cutOff": "false"
                }
            ],
            "id": 674,
            "createdOn": "2025-06-20T10:22:53.000+00:00",
            "updatedOn": "2025-06-20T10:22:54.000+00:00",
            "createdBy": null,
            "updatedBy": null,
            "activeStatus": 1
        }
    ]
}

Response Parameters

Field Name Type Description
status string Status of the API call (e.g. "Ok").
message string Message regarding API response (e.g. "Success").
result array List of IPO order details.
symbol string IPO symbol (e.g., "PRANIK").
clientName string Investor name.
chequeNo string Cheque number (if applicable, usually empty for UPI).
dpVerStatusFlag string DP verification status (P = Pending, Y = Verified, N = Failed).
subBrokerCode string Code of sub-broker, if applicable.
timestamp string IPO order placement time (dd-MM-yyyy HH:MM:SS).
bankAccount string Bank account used, if provided.
bankCode string Code of bank, if applicable.
dpVerReason string Reason for DP verification failure (if any).
allotmentMode string demat indicates allotment in dematerialized format.
dpVerFailCode string DP failure error code (blank if successful).
nonASBA string "false" if UPI is used (non-ASBA not applied).
upiFlag string "Y" indicates UPI was used for payment.
locationCode string Optional location code (generally unused).
userId string ID of user who placed the order.
orderId integer Internal order ID.
applicationNo string IPO application number.
referenceNo string UPI or bank reference number (if available).
depository string Depository used (CDSL or NSDL).
panNo string PAN number of applicant.
dpId string Depository Participant ID (may be blank).
accountNumberUpiId string UPI ID used for IPO.
category string Application category (IND, QIB, NIB).
clientBenfId string Beneficiary demat account number.
statusMessage string Order result (e.g. "failed" or "success").
exchType string Exchange type (e.g., "NSE").
id integer Unique row ID for this order in database.
createdOn string Timestamp when the order was created (ISO format).
updatedOn string Timestamp when the order was last updated (ISO format).
createdBy string Creator identifier (if tracked).
updatedBy string Updater identifier (if tracked).
activeStatus integer Status flag (typically 1 for active).
orderId integer Internal order ID reference.
actionCode string "new" indicates this is a new bid.
bidId string Unique identifier for the bid request.
qty string Quantity of shares applied for.
rate string Price per share.
errorCode string "1" may indicate a warning or issue (interpret based on docs).
message string Result message (e.g., "success").
amount string Total bid amount (qty × rate).
series string Series code (empty for equity).
cutOff string "true" if bid is at cutoff price, otherwise "false".

Cancel IPO Orders

The "Cancel IPO Order" API is used to cancel a previously placed IPO order before the IPO bidding window closes.

Request Structure

 {
    "symbol": "ARISINFRA",
    "applicationNumber": "800046540",
    "category": "IND",
    "clientName": "RAJENDRAN GOWRI SANKAR",
    "depository": "CDSL",
    "dpId": "33445566",
    "clientBenId": "1209280000054648",
    "nonASBA": false,
    "pan": "BZAPG5040A",
    "referenceNumber": "",
    "allotmentMode": "demat",
    "upiFlag": "Y",
    "upi": "XXXXXXX@yesb",
    "timestamp": "21-06-2025 13:40:55",
    "bids": [
        {
            "activityType": "cancel",
            "bidReferenceNumber": 2024101104303953,
            "quantity": 1600,
            "atCutOff": false,
            "price": 73.0,
            "amount": 77.0,
            "remark": "2"
        }
    ]
}

Input Parameter

Field Name Type Description
symbol string IPO symbol (e.g., "ARISINFRA").
applicationNumber string IPO application number assigned by the system.
category string Investor category (IND – Individual, QIB, NIB).
clientName string Name of the IPO applicant.
depository string Name of the depository (CDSL or NSDL).
dpId string Depository Participant ID.
clientBenId string Beneficiary account number (demat account).
nonASBA boolean false indicates UPI-based application (not non-ASBA).
pan string PAN number of the applicant.
referenceNumber string UPI or other payment reference (usually empty for cancellation).
allotmentMode string Allotment type, typically "demat".
upiFlag string "Y" if UPI is used for payment.
upi string UPI ID used in the IPO application.
timestamp string Timestamp of the action (dd-MM-yyyy HH:MM:SS format).
activityType string "cancel" indicates this is a cancellation request.
bidReferenceNumber number Unique bid reference number to be canceled.
quantity number Quantity of shares originally applied for in the bid.
atCutOff boolean true if the original bid was at cut-off price.
price number Price per share of the original bid.
amount number Total amount of the bid (may be ignored in cancellation).
remark string User-defined remark or code (e.g., "2" to indicate cancellation reason).

Response Structure

{
    "status": "Ok",
    "message": "Success",
    "result": [
        {
            "symbol": "ARISINFRA",
            "applicationNumber": "800046540",
            "clientName": "GOPIKA KANDASAMY",
            "chequeNumber": "",
            "referenceNumber": "",
            "dpVerStatusFlag": "S",
            "subBrokerCode": "",
            "depository": "CDSL",
            "pan": "LDPPK6641E",
            "ifsc": "IT",
            "timestamp": "20-06-2025 16:49:43",
            "bankAccount": "",
            "bankCode": "",
            "dpVerReason": "",
            "dpId": "",
            "upi": "9361456299@yesb",
            "bids": [],
            "allotmentMode": "demat",
            "dpVerFailCode": "",
            "nonASBA": false,
            "upiFlag": "Y",
            "category": "IND",
            "locationCode": "",
            "clientBenId": "1209280000126047",
            "status": "success"
        }
    ]
}

Response Parameters

Field Name Type Description
status string API call status ("Ok" means the call succeeded).
message string Descriptive message (e.g., "Success").
result array List of IPO cancellation results (usually contains one item per request).
symbol string IPO symbol (ARISINFRA).
applicationNumber string Unique IPO application number.
clientName string Name of the applicant.
chequeNumber string (Unused in UPI flow; blank here).
referenceNumber string Payment or system reference (blank if not applicable).
dpVerStatusFlag string DP (Depository Participant) verification flag: "S" = Success, "P" = Pending, "F" = Failed
subBrokerCode string Sub-broker identifier (if applicable; empty if not used).
depository string Depository name (CDSL or NSDL).
pan string PAN of the applicant.
ifsc string IFSC code (part of bank details; placeholder here).
timestamp string Time of the request (format: dd-MM-yyyy HH🇲🇲ss).
bankAccount string Bank account number (blank in UPI flow).
bankCode string Internal bank identifier (blank here).
dpVerReason string Reason for DP verification status (if failed; blank for success).
dpId string Depository Participant ID (blank if unavailable).
upi string UPI ID used for the IPO.
bids array List of bid cancellation objects (empty if fully canceled or invalidated).
allotmentMode string "demat" – shares will be allotted in demat form.
dpVerFailCode string DP verification failure code (blank for success).
nonASBA boolean false = UPI route used (not ASBA).
upiFlag string "Y" if UPI is used for the order.
category string Investor category (IND, QIB, NIB).
locationCode string Internal location code (blank here).
clientBenId string Beneficiary demat account number.
status string Final status of the cancellation request ("success" / "failed").