Home / Tutorials / Offerings
Offerings

Track IPO pricing from 424B4 prospectuses

Get final IPO terms from 424B4 prospectuses: shares offered, price, ticker, exchange, proceeds and underwriters, as JSON.

An IPO starts with an S-1 (or F-1 for foreign issuers) registration statement and ends with a 424B4 final prospectus, filed after pricing. The 424B4 holds the final terms. /v1/ipo extracts them.

Final prospectuses since September 1

import os
import requests

BASE = "https://secfeedapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}

r = requests.get(f"{BASE}/v1/ipo", params={"formType": "424B4", "startDate": "2026-09-01"}, headers=HEADERS, timeout=120)
r.raise_for_status()
data = r.json()
seen, filings = set(), []
for f in data["filings"]:  # some issuers file the same final prospectus twice
    t = f.get("terms") or {}
    key = (f["cik"], t.get("sharesOffered"), t.get("pricePerShare"))
    if key not in seen:
        seen.add(key)
        filings.append(f)
print(len(filings), "424B4 final prospectuses since 2026-09-01")
for f in filings[:10]:
    t = f.get("terms") or {}
    proceeds = t.get("proceedsBeforeExpenses")
    print(f"{f['filedAt']}  {(t.get('ticker') or '-'):6} {f['companyName'][:30]:30} {t.get('sharesOffered') or 0:>12,.0f} sh @ ${t.get('pricePerShare') or 0:<6} "
          f"{('$' + format(proceeds, ',.0f')) if proceeds else '':>16}  {', '.join((t.get('underwriters') or [])[:2])}")

Output:

29 424B4 final prospectuses since 2026-09-01
2026-10-09  TRXB   TRex Bio, Inc.                    8,333,334 sh @ $14.0       $108,500,009  J.P. Morgan, Evercore ISI
2026-10-09  DKI    DarkIris Inc.                       898,965 sh @ $1.44                     
2026-10-09  RTSN   Retension Pharmaceuticals, Inc    3,750,000 sh @ $12.0        $41,850,000  Leerink Partners, Guggenheim Securities
2026-10-09  SBFM   Sunshine Biopharma Inc.          15,219,383 sh @ $0.55                     Aegis Capital Corp.
2026-10-08  BMGL   Basel Medical Group Ltd           6,000,000 sh @ $1.33                     
2026-10-06  PAXG   Pine Tree Acquisition Corp.       1,500,000 sh @ $10.0        $99,500,000  Maxim Group LLC
2026-10-02  -      Southport Acquisition Corp. II    3,000,000 sh @ $10.0                     
2026-10-01  ACCV   Accelevation Holdings Corp.      10,000,000 sh @ $18.0       $341,100,000  Morgan Stanley, J.P. Morgan
2026-09-30  NIVF   NewGenIvf Group Ltd                 125,000 sh @ $0.07         $1,150,000  
2026-09-28  RZAI   ROZE AI INC.                              0 sh @ $8.0

Terms extracted

FieldMeaning
sharesOfferedShares in the offering
pricePerShareOffering price
ticker, exchangeWhere the stock lists
proceedsBeforeExpensesProceeds to the company before expenses, when stated
underwritersUnderwriting syndicate
offeringDateDate on the cover
documentURL of the prospectus document

Terms are read from the prospectus cover and underwriting section. Small offerings and SPACs format their covers in many ways, so some fields can be empty; the document link is always there for a manual check.

Follow a deal from S-1 to pricing

  1. Watch S-1 and F-1 filings with a filing search or the real-time stream.
  2. Amendments (S-1/A) usually add the price range and share count.
  3. The 424B4 confirms the final price and size.

Join the steps on cik.

Ideas

  • Weekly IPO calendar with final terms
  • Underwriter league tables by number of deals
  • SPAC issuance tracking (most SPACs price at $10.00)

Next steps

More offerings tutorials

Run this tutorial with your own key

500 free API calls a month. Every example on this page works on the free plan.

Get free API key →