SEC S-1 IPO Filing Data API: Registration to Effective Date
The SEC S-1 IPO filing data API: registration statement, price-range amendments, and the EFFECT filing that actually marks IPO day, as JSON.

Every IPO API can tell you a company filed an S-1. Almost none of them can tell you the one date that actually matters: when the SEC declared that registration statement effective and the stock was cleared to trade. That date does not live in the S-1. It does not live in the price-range amendment either. It lives in a separate, single-purpose filing called EFFECT, and if your data pipeline is not reading it directly, your IPO date is a guess dressed up as a fact.
This is a field guide to the full S-1 lifecycle as StockFit reads it from SEC EDGAR: the initial registration statement, the S-1/A price-range amendments, and the EFFECT filing that closes the loop, all through the /api/filings/offering and /api/filings endpoints. We will walk it end to end on a real, recent IPO, then build a small IPO calendar from the live feed.
What an S-1 discloses, and what 424B4 adds
Form S-1 is the registration statement a company files with the SEC before it can sell shares to the public for the first time. It is long, usually 150 to 300 pages, and it covers the business description, risk factors, use of proceeds, capitalization table, and audited financial statements, run through the same XBRL pipeline StockFit uses for 10-Ks. What it usually does not contain, on the initial filing, is a price. Underwriters and the company have not agreed on one yet.
Form 424B4 is the final prospectus, filed after pricing, once shares are actually being sold. Foreign private issuers file F-1 instead of S-1; REITs and real-estate programs file S-11. StockFit's /api/filings/offering endpoint tracks the S-1 family end to end, returning every registration statement and amendment for a company, each row carrying its own accession number so a reported price range is always traceable to the exact filing that disclosed it.
Why S-1/A amendments matter for pricing
A company almost never prices at the number in its first S-1, because the first S-1 usually has no number at all. The price range shows up, and then moves, in the amendments (S-1/A) filed in the days before the IPO. Figma's July 2025 IPO is a clean, three-filing example of exactly how much that range can move in three weeks:
Three things worth noticing. First, the range moved up twice in three weeks, from no range, to $25–$28, to $30–$32, and the stock ultimately priced at $33, above every range that had been on file. Second, the share count and overallotment held steady across amendments while only the price moved, which is common: the deal size in shares is usually locked earlier than the price. Third, none of this is visible from the S-1 alone. Reading only the first filing would tell you Figma planned an IPO with no clue what it would actually cost.
Pulling the full amendment sequence is one call:
curl "https://api.stockfit.io/v1/api/filings/offering?symbol=FIG" \
-H "Authorization: Bearer YOUR_API_KEY"{
"totalResults": 3,
"data": [
{ "filedDate": "2025-07-01", "accessionNumber": "0001628280-25-033742" },
{
"filedDate": "2025-07-21",
"accessionNumber": "0001628280-25-035381",
"sharesOffered": 12472657,
"priceRangeLow": 25,
"priceRangeHigh": 28,
"overallotmentShares": 5540561
},
{
"filedDate": "2025-07-28",
"accessionNumber": "0001628280-25-036090",
"sharesOffered": 12472657,
"priceRangeLow": 30,
"priceRangeHigh": 32,
"overallotmentShares": 5540561
}
]
}The EFFECT filing: what actually marks IPO day
None of the three filings above says “trading starts here.” That signal is a separate, tiny filing type: EFFECT, submitted by the SEC itself to notify EDGAR that a registration statement (or a post-effective amendment to one) is now effective. Figma's EFFECT filing carries a dateFiled of July 30, 2025 and a periodEndDate of July 31, exactly the day Figma opened for trading on the NYSE. That is not a coincidence: the effectiveness order and the pricing announcement happen the evening before the stock opens.
curl "https://api.stockfit.io/v1/api/filings?symbol=FIG&type=EFFECT" \
-H "Authorization: Bearer YOUR_API_KEY"{
"data": [
{
"type": "EFFECT",
"accessionNumber": "9999999995-25-002410",
"dateFiled": "2025-07-30",
"periodEndDate": "2025-07-31",
"amendment": false
}
]
}One gotcha worth designing around: a company can rack up more than one EFFECT filing over its life, and only the first is the IPO. Circle Internet Group (CRCL) filed its IPO EFFECT on June 4, 2025 (trading opened June 5), then a second, unrelated EFFECT on August 14, 2025 for a later registration statement becoming effective, most likely an employee equity plan or a resale shelf, not a second IPO. Sort by dateFiled and take the first EFFECT per CIK; treating every EFFECT filing as an IPO event will silently generate phantom listings for companies that have been public for months.
Recent S-1 offerings API: live JSON, todays filings
/api/filings/recent-offerings is the feed side of this: every S-1 and S-1/A filed recently, across the whole market, newest first. Most days this is not another Figma-sized tech IPO; it is a long tail of small-cap and micro-cap S-1 filings, which is the honest shape of daily IPO activity on EDGAR. Here is a live slice, unedited:
{
"totalResults": 291,
"data": [
{ "cik": 2068385, "filedDate": "2026-08-12", "isPriced": false, "symbol": "SHAZ", "name": "SharonAI Holdings Inc." },
{
"cik": 1131903, "filedDate": "2026-08-12", "isPriced": true, "symbol": "FCCN",
"name": "SPECTRAL CAPITAL Corp", "sharesOffered": 100000, "priceRangeLow": 1.6, "priceRangeHigh": 1.6
},
{
"cik": 2134856, "filedDate": "2026-08-11", "isPriced": true, "symbol": "XTER",
"name": "Karman Line Acquisition Corp.", "priceRangeLow": 11.5, "priceRangeHigh": 11.5
},
{ "cik": 1828161, "filedDate": "2026-08-11", "isPriced": false, "symbol": "FTCI", "name": "FTC Solar, Inc." },
{
"cik": 1903784, "filedDate": "2026-08-10", "isPriced": true, "symbol": "VOGX",
"name": "Vogenx, Inc.", "sharesOffered": 1000000, "priceRangeLow": 11, "priceRangeHigh": 13
}
]
}The isPriced flag is the field to branch on: false means the filing on record is still an unpriced S-1 or early S-1/A, true means a price range has landed. Filter to isPriced: true and you have a live, narrowing shortlist of companies close enough to their EFFECT date to be worth polling individually.
Building an IPO calendar from filing data
An IPO calendar is just the offering feed and the EFFECT feed joined on CIK: pull the recently-priced offerings, then check each one for a first EFFECT filing. Once EFFECT shows up, you have a real date, not an analyst estimate.
// 1. Get recently priced S-1 offerings.
const offerings = await fetch(
'https://api.stockfit.io/v1/api/filings/recent-offerings?pageSize=50',
{ headers: { Authorization: `Bearer ${token}` } }
).then(r => r.json());
const priced = offerings.data.filter(o => o.isPriced);
// 2. For each priced offering, check for a first EFFECT filing.
const calendar = [];
for (const o of priced) {
const effect = await fetch(
`https://api.stockfit.io/v1/api/filings?cik=${o.cik}&type=EFFECT`,
{ headers: { Authorization: `Bearer ${token}` } }
).then(r => r.json());
// Sort ascending, first EFFECT per CIK is the IPO, not a later registration.
const ipoEffect = effect.data.sort((a, b) => a.dateFiled.localeCompare(b.dateFiled))[0];
calendar.push({
symbol: o.symbol,
name: o.name,
priceRange: [o.priceRangeLow, o.priceRangeHigh],
status: ipoEffect ? 'trading' : 'priced, awaiting effectiveness',
tradingDate: ipoEffect?.periodEndDate ?? null,
});
}Companies with no EFFECT filing yet are still in registration, priced or not. The moment one appears, periodEndDate on that first EFFECT record is your trading-day field, sourced from the SEC's own effectiveness notice rather than inferred from a press release or a price-range filing date.
For a single company's full filing footprint, not just its offering, /api/filings/stats rolls up counts by form type. Figma's shows the shape you would expect from a recent IPO: three S-1 filings, one EFFECT, and a 1% amendment rate across everything the company has filed since going public.
{
"totalFilings": 309,
"byType": {
"S-1": { "count": 3, "latest": "2025-07-28" },
"EFFECT": { "count": 1, "latest": "2025-07-30" },
"4": { "count": 161, "latest": "2026-08-12" },
"10-Q": { "count": 4, "latest": "2026-08-05" },
"10-K": { "count": 1, "latest": "2026-02-18" }
},
"amendments": { "count": 3, "rate": 0.01 }
}For the full form-by-form map of what powers every StockFit endpoint, including where the S-1 and EFFECT filings sit next to the rest of the SEC's form taxonomy, see the SEC forms field guide. And for other filing-derived signals institutional desks use beyond IPO timing, transaction codes, activist stakes, segment margins, see SEC EDGAR alternative data signals.
Get a free API key and pull today's S-1 feed yourself; /api/filings/recent-offerings and /api/filings (with type=EFFECT) are both on the Stock and Pro plans, and /api/filings without the offering-specific fields is free.
FAQ
Q.What is the difference between Form S-1 and Form 424B4?
Q.What does the SEC EFFECT filing mean and why does it matter for IPO date?
periodEndDate on the first EFFECT filing per CIK is StockFit's best single field for the day a company actually starts trading.Q.How do S-1/A amendments change during the IPO process?
Q.Can a company file more than one EFFECT filing?
Q.How fresh is the recent S-1 offerings endpoint?
Q.Can I build an IPO calendar with the StockFit API?
type=EFFECT for a trading-clearance date. Companies with a priced S-1/A but no EFFECT filing yet are still pending; once EFFECT appears, the calendar entry is confirmed rather than estimated.Q.What is the difference between Form S-1, Form S-11, and Form F-1?
Q.Is the price range in an S-1/A the final IPO price?
Q.Can I get S-1 IPO data on the StockFit free tier?
type=EFFECT lookups by symbol or CIK) is on the free tier. The offering-specific endpoints, /api/filings/offering, /api/filings/recent-offerings, and /api/filings/stats, require the Stock plan ($39/mo) or the Professional plan ($69/mo).Ready to build?
Free API key, no credit card. Every endpoint mentioned in this post is available on the free tier.