IPO Guru
Free API · No Credit Card Required

IPO GMP & Details API
for Developers

Real-time Indian IPO data — live GMP, subscription status, issue price, lot size, listing dates and more. JSON API. Works with any language.

Free
API access
300
Requests/day
15
Requests/min
JSON
REST format

Get Your Free API Key

API access is by request to prevent abuse and ensure quality of service.

Email your request to: ipoguru.in [at] gmail.com
Or use the Contact Form

Include your Name, App/Company, and Intended Use


API Documentation

v1.0

Base URL

https://www.ipoguru.in/api/v1

Authentication

Every request must include your API key — either as an HTTP header (recommended) or a query parameter.

Method 1: Header (Recommended)

Best for server-side / backend apps.

X-API-KEY: your_api_key_here

Method 2: Query Parameter

Easier for quick browser testing.

?api_key=your_api_key_here

Rate Limits

Every API key has two independent limits enforced at the same time.

15
Requests / Minute
Per key, rolling window

Burst protection. Response includes retry_after seconds when exceeded.

300
Requests / Day
Resets at midnight IST

Daily quota. Response includes resets_at timestamp when reached.

429 Error Responses

Per-minute limit exceeded
HTTP 429 Too Many Requests

{
  "message": "Rate limit exceeded. Maximum 15 requests per minute.",
  "retry_after": "42 seconds"
}
Daily quota reached
HTTP 429 Too Many Requests

{
  "message": "Daily limit of 300 requests reached.",
  "resets_at": "25 Apr 2026, 12:00 AM IST"
}

Endpoints

GET /ipos

Returns all active IPOs (Open, Upcoming, or recently listed). Filter with query parameters.

Query Parameters

Parameter Type Required Description
type string Optional mainboard or sme
status string Optional open, upcoming, or closed

Sample Response

JSON object with success, count, and a data array of IPO objects.

{
  "success": true,
  "count": 1,
  "data": [
    {
      "name": "Adisoft Technologies",
      "type": "SME",
      "sub_type": "NSE SME",
      "open_date": "2026-04-23",
      "close_date": "2026-04-27",
      "allotment_date": "2026-04-28",
      "listing_date": "2026-04-30",
      "listing_price": null,
      "price_band": "163-172",
      "issue_price": "172",
      "face_value": "10",
      "lot_size": "800",
      "issue_size": "₹74 Cr",
      "sale_type": "Fresh capital only",
      "listing_on": "NSE",
      "registrar": "Kfin Technologies Ltd.",
      "status": "Open",
      "subscription": {
        "qib": "3.65",
        "nii": "1.80",
        "retail": "1.13",
        "total": "1.99",
        "updated_at": "23 Apr 2026, 05:10 PM IST"
      },
      "gmp": {
        "price": "10",
        "percentage": "6",
        "updated_at": "23 Apr 2026, 04:53 PM IST"
      }
    }
  ]
}

Response Fields

IPO Details
name string

Full IPO name

type string

Mainboard or SME

sub_type string

NSE SME, BSE SME, Equity, Trust

status string

Open, Upcoming, or Closed — real time

open_date date

Subscription open date (YYYY-MM-DD)

close_date date

Subscription close date (YYYY-MM-DD)

allotment_date date | null

Expected allotment date

listing_date date | null

Expected or actual listing date

listing_price string | null

Actual listing price (post-listing)

price_band string | null

e.g. 163-172

issue_price string

Final issue price in ₹

face_value string | null

Face value per share in ₹

lot_size string | null

Min shares per application

issue_size string | null

Total issue size e.g. ₹74 Cr

sale_type string | null

Fresh capital only / OFS only / Mixed

listing_on string | null

Exchange(s) e.g. BSE, NSE

registrar string | null

Registrar name

Subscription Object
subscription.qib string | null

QIB subscription (times)

subscription.nii string | null

NII / HNI subscription (times)

subscription.retail string | null

Retail subscription (times)

subscription.total string | null

Overall subscription (times)

subscription.updated_at string | null

Last update in IST

GMP Object
gmp.price string

Grey Market Premium in ₹

gmp.percentage string | number

GMP as % over issue price

gmp.updated_at string | null

Last GMP update in IST

Code Examples

curl -X GET "https://www.ipoguru.in/api/v1/ipos?type=mainboard&status=open" \
     -H "X-API-KEY: your_api_key_here"
import requests

url = "https://www.ipoguru.in/api/v1/ipos"
headers = { "X-API-KEY": "your_api_key_here" }
params  = { "type": "mainboard", "status": "open" }

response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL            => "https://www.ipoguru.in/api/v1/ipos?type=mainboard&status=open",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER     => ["X-API-KEY: your_api_key_here"],
]);

$data = json_decode(curl_exec($curl), true);
curl_close($curl);
print_r($data);
fetch("https://www.ipoguru.in/api/v1/ipos?type=mainboard&status=open", {
    headers: { "X-API-KEY": "your_api_key_here" }
})
    .then(res => res.json())
    .then(data => console.log(data))
    .catch(err => console.error(err));
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET",
        "https://www.ipoguru.in/api/v1/ipos?type=mainboard&status=open", nil)
    req.Header.Add("X-API-KEY", "your_api_key_here")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)
    fmt.Println(string(body))
}

Frequently Asked Questions

Is the IPO Guru API completely free?

Yes. The IPO Guru API is free for developers, students, and startups. Each key gets 300 requests per day and 15 requests per minute at no cost. No credit card required.

What data does the IPO Guru API provide?

The API provides real-time Indian IPO data including IPO name, type (Mainboard/SME), open and close dates, allotment date, listing date, listing price, price band, issue price, face value, lot size, issue size, sale type, exchange listing, registrar name, subscription data (QIB, NII, Retail, Total), and live Grey Market Premium (GMP) with percentage and last updated timestamp in IST.

How do I get an API key for IPO GMP data?

Email [email protected] with your name, app or company name, and intended use case. You can also use the contact form on this page. API keys are issued manually and are free.

How often is the GMP and subscription data updated?

GMP values are updated multiple times a day based on market activity. Subscription figures are updated as per exchange releases. Every IPO object includes gmp.updated_at and subscription.updated_at timestamps in IST so you always know how fresh the data is.

What are the API rate limits?

Each API key is limited to 15 requests per minute and 300 requests per day. The daily quota resets automatically at midnight IST. When a limit is hit, the API returns HTTP 429 with a retry_after (per-minute) or resets_at (daily) field.

Can I use the API for commercial projects?

Yes, commercial use is permitted. We ask that you attribute IPO data to IPO Guru in your application where appropriate.