Mainboard IPO API India - Live BSE & NSE Listings
Returns all Mainboard initial public offerings (BSE & NSE Mainboard). Supports full pagination, optional year filtering, and includes issue price range, dates, and lot sizing.
Endpoint Overview & Architecture
The Mainboard IPO Feed provides programmatic, institutional-grade access to all initial public offerings listed on the primary boards of the National Stock Exchange of India (NSE) and Bombay Stock Exchange (BSE). Every record is synchronized directly with regulatory stock exchange circulars and Draft Red Herring Prospectus (DRHP) filings submitted to SEBI.
Unlike generic market scrapers that produce irregular data dumps, this endpoint delivers standardized payloads containing corporate identifiers, exchange ticker symbols, floor and cap price bands, lot size minimums, total issue sizes in Indian Rupees (INR Crores), and milestone timeline dates (bidding open, bidding close, basis of allotment finalization, refund dispatch, demat credit, and exchange listing).
This endpoint is designed for financial portals, mobile trading applications, algorithmic IPO tracking systems, and wealth management dashboards that require reliable, low-latency market schedules without manual data entry.
Request Authentication Headers
| Header Name | Type | Required | Description |
|---|---|---|---|
| ApiKey | string | Required | Your secret API access key provided upon subscription registration. |
| ApiSecret | string | Required | Your secret API client secret used to sign and authenticate requests. |
Request Parameters
| Parameter | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| pageNumber | query | integer | Optional | 1 | Page index for paginated output. |
| perPageRow | query | integer | Optional | 20 | Number of records per page (min: 10, max: 50). |
| year | query | integer | Optional | 2026 | Filter records by calendar year. |
| yearConsider | query | boolean | Optional | false | Set to true when querying specific years. |
Code Examples
curl -X GET "https://api.ipoapipro.in/api/ipo/mainboard?pageNumber=1&perPageRow=20" \ -H "ApiKey: YOUR_API_KEY" \ -H "ApiSecret: YOUR_API_SECRET"
Sample JSON Response
{
"isSuccess": true,
"message": "Successfully.",
"totalRowCount": 48,
"perPageRows": 20,
"totalPages": 3,
"data": [
{
"ipoId": 257,
"companyName": "Shah Investor's Home Ltd",
"displayName": "Shah Investor's Home",
"urlName": "shah-investors-home-ipo",
"symbol": "SHAHINVEST",
"companyLogo": "https://api.ipoapipro.in/upload/ipodata/logo/shah-investor-s-home-logo.jpg",
"type": "MAINBOARD",
"exchanged": "BSE, NSE",
"issueType": "IPO",
"startDate": "2026-09-28",
"endDate": "2026-09-30",
"allotmentDate": "2026-10-01",
"listingDate": "2026-10-06",
"lotSize": 85,
"minimumPrice": 159,
"maximumPrice": 167,
"minimumInvestment": 14195,
"totalIssuePrice": "₹90.17 Cr",
"scriptCode": "544123",
"listingPriceNSE": 182,
"listingPriceBSE": 181.5,
"listingGainPercentage": 8.98
}
]
}Response Attributes Schema
| Attribute | Type | Description |
|---|---|---|
| isSuccess | boolean | Indicates whether the API request was successful. |
| totalRowCount | integer | Total count of IPOs matching filter criteria. |
| totalPages | integer | Calculated pages based on perPageRows. |
| data[].ipoId | integer | Unique identifier for the IPO. |
| data[].companyName | string | Registered legal company name. |
| data[].symbol | string | Official exchange ticker symbol (NSE/BSE). |
| data[].scriptCode | string | BSE scrip identification code. |
| data[].type | string | Exchange segment (MAINBOARD / SME). |
| data[].lotSize | integer | Minimum shares per application lot. |
| data[].minimumPrice | integer | Floor price band per equity share. |
| data[].maximumPrice | integer | Cap price band per equity share. |
| data[].minimumInvestment | integer | Minimum application value in INR (lotSize * maximumPrice). |
| data[].listingPriceNSE | number | Official listing day opening price on NSE. |
| data[].listingPriceBSE | number | Official listing day opening price on BSE. |
| data[].listingGainPercentage | number | Percentage listing day gain or loss against issue price. |
HTTP Status & Error Codes
| HTTP Code | Title | Condition & Resolution |
|---|---|---|
| 400 | Bad Request | Missing mandatory query parameters, invalid types, or unsupported filter combinations. |
| 401 | Unauthorized | The request lacked valid authentication credentials (ApiKey or ApiSecret). |
| 403 | Forbidden | The subscription plan has expired or this specific endpoint is not included in the plan. |
| 429 | Too Many Requests | Rate limit exceeded. Standard tier permits 60 req/min, Professional tier permits 300 req/min. |
| 500 | Internal Server Error | Downstream exchange connection glitch or upstream registrar network timeout. |
Rate Limits & Edge Caching SLA
Default Rate Limit: 60 requests/minute (Standard) | 300 requests/minute (Pro). Requests are served through Cloudflare edge points of presence across Mumbai, Delhi, Bengaluru, and Chennai with sub-15ms cached latency.
Related IPO API Endpoints
Stream dedicated BSE SME and NSE Emerge offerings with minimum lot quantities and issue sizes.
Consolidated stream of all Indian IPOs spanning both Mainboard and SME markets in one call.
Deep-dive company profiles, multi-year financial tables, schedule milestones, and registrar contacts.
Consolidated real-time table of current GMP rates across all currently active and upcoming IPOs.