DEV Community

DataDaemon
DataDaemon

Posted on

How accurate is IPO GMP? We checked all 294 Indian IPOs listed in 2026

The grey market premium (GMP) is the unofficial price at which an Indian IPO's shares trade before they list. Investors read it as a forecast of the listing gain: a GMP of ₹50 on a ₹500 issue suggests the stock will open around ₹550, a 10% gain.

How good is that forecast? I compared the last GMP before listing with the actual listing price for every IPO that listed on BSE or NSE in 2026 so far: 294 issues (109 mainboard, 185 SME) from 2 January to 28 October. Data as of 28 October 2026, 15:37 IST.

The short answer

  • GMP is a good guide on average. The correlation between the GMP % and the listing gain % is 0.88, and the median miss is zero: about half of the IPOs listed below their GMP and half above.
  • The typical miss is 8.6 percentage points. GMP landed within ±5 points of the listing gain for 51% of IPOs and within ±10 points for 69%.
  • Mainboard GMP is more accurate than SME GMP. Mainboard misses averaged 7.0 points (80% within ±10), SME 9.6 points (63% within ±10). Issues of ₹1,000 crore or more were the most accurate: 6.1 points on average, correlation 0.93.
  • A GMP above 25% never led to a listing below the issue price in 2026 (0 of 55 IPOs). A GMP of zero did in 44% of cases.

Today's big listing is a good example. Jio Platforms had a last GMP of ₹250 on a ₹1,119 issue (22.3%), an estimated listing price of ₹1,369. It listed at ₹1,358, a 21.4% gain.

How the numbers were measured

  • GMP: the last grey market premium reported before listing day, from a public IPO GMP report (investorgain's GMP performance table).
  • Listing gain: listing-day opening price on BSE/NSE versus the issue price.
  • Miss: listing gain % minus GMP % in percentage points. Positive means the IPO listed better than GMP suggested.
Group IPOs Correlation Average miss Within ±5 pts Within ±10 pts GMP > 0 and listed above issue price
All IPOs 294 0.88 8.6 pts 51% 69% 75%
Mainboard 109 0.91 7.0 pts 58% 80% 82%
SME 185 0.87 9.6 pts 47% 63% 69%
Issue size ₹1,000 Cr+ 35 0.93 6.1 pts 60% 80% 82%

What each GMP level meant in 2026

Last GMP before listing IPOs Median GMP Median listing gain Listed below issue price
Negative 16 −3.3% −9.5% 94%
Zero (no premium quoted) 89 0% 0.0% 44%
0–10% 84 2.5% +0.6% 25%
10–25% 50 16.7% +16.7% 6%
25–50% 30 37.3% +36.8% 0%
Above 50% 25 69.7% +77.1% 0%

The middle bands are where GMP earns its reputation: for IPOs with a 10–50% premium, the median listing gain matched the median GMP almost exactly. The bottom bands are where it does not: a small positive GMP (under 5%) still ended below the issue price in 20 of 64 cases, so a thin premium is closer to a coin toss than a signal.

Where GMP gets it wrong

1. SME IPOs at the 90% cap. Since July 2024 NSE caps the listing-day opening price of an SME IPO at 90% above the issue price. In 2026, 14 SME IPOs opened at that ceiling (13 at exactly +90%, one at +89.8%), including half of the SMEs whose GMP was 50% or more. When GMP says 120% and the exchange allows 90%, the miss is mechanical, not a forecasting failure. Without those 14 issues the average miss falls from 8.6 to 7.7 points.

The cap also produced the biggest misses in the other direction: Teja Engineering Industries (GMP 16.4%) and Sollfege Smart Electronics (GMP 18.2%) both opened at the +90% ceiling.

2. Thin premiums on mainboard issues. Seven mainboard IPOs with a positive GMP listed below their issue price. Six of them had a GMP under 4%. The exception was Skyways Air: GMP +23.9%, listing −10.1% on 1 September.

3. Very hot issues. IPOs subscribed 50 times or more had the highest median listing gain (+31.8%, against a median GMP of 32.1%) but also the largest average miss, 12 points. Hy-Tech Engineers (GMP 73.6%, listed +41.5%) and Adroit Industries (GMP 41.0%, listed +75.4%) were both in this group.

Get the IPO GMP data as JSON

There is no official IPO GMP API, because GMP is not an exchange price. I collect it, together with live subscription, the IPO calendar and listing results, with the India IPO Tracker on Apify. It returns JSON, CSV or Excel, needs no login or proxy, and costs $3 per 1,000 rows. The 324 rows behind this article (30 live GMP rows plus 294 GMP-vs-listing rows) cost about $1.

Live GMP for every open and upcoming IPO, one HTTP call:

curl -X POST "https://api.apify.com/v2/acts/data_daemon~india-ipo-tracker/run-sync-get-dataset-items?timeout=120" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reports": ["gmp"]}'
Enter fullscreen mode Exit fullscreen mode

Each row looks like this (trimmed):

{
  "reportType": "gmp",
  "ipoName": "EAAA India Alternatives",
  "slug": "eaaa-india-alternatives-ipo",
  "category": "Mainboard",
  "statusLabel": "Open",
  "gmp": 121,
  "issuePrice": 1665,
  "lotSize": 9,
  "openDate": "2026-10-26",
  "closeDate": "2026-10-28",
  "listingDate": "2026-11-02",
  "subscriptionText": "2.04x"
}
Enter fullscreen mode Exit fullscreen mode

To reproduce the accuracy table, ask for the gmpPerformance report (last GMP, estimated and actual listing price for every IPO of the year) and group it with pandas:

from apify_client import ApifyClient
import pandas as pd

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("data_daemon/india-ipo-tracker").call(
    run_input={"reports": ["gmpPerformance"], "category": "all"}
)
df = pd.DataFrame(client.dataset(run["defaultDatasetId"]).list_items().items)
df["miss"] = df["listingGainPercent"] - df["gmpPercent"]

rows = []
for category, g in df.groupby("category"):
    rows.append({
        "category": category,
        "ipos": len(g),
        "correlation": g["gmpPercent"].corr(g["listingGainPercent"]),
        "avg_miss_pp": g["miss"].abs().mean(),
        "within_10pp": (g["miss"].abs() <= 10).mean(),
    })
print(pd.DataFrame(rows).round(2))
Enter fullscreen mode Exit fullscreen mode
    category  ipos  correlation  avg_miss_pp  within_10pp
0  Mainboard   109         0.91         6.97         0.80
1        SME   185         0.87         9.64         0.63
Enter fullscreen mode Exit fullscreen mode

Other reports in the same Actor: subscription (QIB, NII and retail multiples from BSE/NSE), calendar (open, close, allotment, refund and listing dates), currentIpos, ipoList and listingPerformance. Every row carries the same slug, so the reports join without name matching. Ready-made inputs:

If you would rather keep a running CSV with GitHub Actions and get an alert when a GMP moves, the open-source india-ipo-gmp-tracker template does that on a schedule.

FAQ

Is IPO GMP reliable?
On average, yes: in 2026 the median IPO listed exactly at its GMP and 69% landed within 10 percentage points. Individual IPOs can miss by 30 points or more, and a GMP under 5% says little about direction.

Is IPO GMP official?
No. GMP comes from unofficial, unregulated grey-market dealing; exchanges do not publish it. Treat it as sentiment, not a price.

Does high subscription mean a listing gain?
Mostly. IPOs subscribed 50 times or more had a median listing gain of +31.8% in 2026, against about 0% for issues subscribed under 2 times. The misses are also bigger for the hot issues.

Why do so many SME IPOs list at +90%?
NSE caps the listing-day opening price of SME IPOs at 90% above the issue price (since July 2024). The price can move further during the day.

Is there an IPO GMP API?
There is no official one. The India IPO Tracker returns GMP, subscription, calendar and listing data as JSON through the Apify API; you can also call it from Python, Node.js, n8n, Make, Zapier or an AI agent through the Apify MCP server.

GMP is an unofficial indicator. Nothing here is investment advice. Numbers are as of 28 October 2026 and change as new IPOs list.

Top comments (0)