Registrations calendar API reference
S-1, F-1 and 424B filings by filing day, with the offering terms
Overview
The registrations calendar lists the registration statements and final prospectuses that companies sent to the SEC, by filing day: S-1 and F-1 statements, their amendments, and the 424B4 and 424B1 prospectuses that fix the offering terms. Every request needs a Bearer key, and REST and MCP draw on one credit balance.
Each row is one filing, and most filings are not a company's first sale of shares. class says which kind each one is: ipo, spac, shell, resale or other. The S-1, its amendments and its final prospectus share one file_, so count offerings by file_.
Leave end out for today in UTC, and start out for 30 days before end. One request touches at most 12 calendar months, and a longer window is 400 range_. History starts in November 2025.
The default is the US. country=jpn answers with Japan's securities registration statements and covers part of them: about 79% of Japan's filings have a readable body file, and the rest are missing. country=kor is a free 404 not_.
Base URL: https:/. Each route below is an MCP tool of its own, with the same parameters.
Dividends, splits and earnings are on the company calendars page.
Company ids are the ones the Filings API returns from company search.
What every account gets
| What | Every account |
|---|---|
| Registrations calendar | Included |
See pricing for what a call costs. A request is charged at the price of its API unless a route says otherwise.
- Billed at the Companies price, even though the route sits under calendars. Each successful answer is one call, whatever the number of rows, and an empty page is charged too. Errors are not charged.
- Money is in
currencyand as printed on the filing. A US filing leavescurrencyout, which means US dollars. ticker, the offering terms,underwriters,law_andfirms managementare read from the text of the filing and left out when the filing does not state them. The lists are not guaranteed complete, and an underwriter list can carry a table heading such as Joint Book-Runners as a name.managementis read only foripo,spacandshellfilings.financialscomes from the financial tags inside the prospectus. Many companies that are not yet public do not tag their statements, so it is often left out.cikis sent for US filings only. For another country, filter withticker.
Endpoints
Every route is a GET and needs your key in the Authorization: Bearer header. The examples show the shape of an answer, not live data.
List registrations
GET /v1/calendars/registrations
Registration statements (S-1, F-1 and their amendments) and final prospectuses (424B4, 424B1) filed in a window of up to 12 months, oldest first. Each row is one filing, and most filings are not IPOs: class says which kind each one is.
class is ipo for a company's first public offering, whether the company, its holders or both sell. spac is a blank check company, and shell is a start-up with no operations. resale is existing holders selling shares of a company that is already public. other is a follow-on offering or anything we cannot tell apart.
price_ and price_ are the expected range on an S-1 or F-1. On a 424B4 or 424B1 they are the final price, so both are the same.
MCP: tool calendars_.
Parameters
| Parameter | Where | Required | Type | Meaning |
|---|---|---|---|---|
start | query | No | date | First filing day (YYYY-MM-DD), inclusive. Left out means 30 days before end. |
end | query | No | date | Last filing day, inclusive. Left out means today (UTC). start to end touches at most 12 calendar months (400 range_too_large). |
country | query | No | string | Three-letter country code of the registry. Left out means USA. A country the route does not cover is 404 not_covered. |
cik | query | No | string | Only filings of this SEC Central Index Key (leading zeros are optional). US only: with another country use ticker. |
ticker | query | No | string | Only filings that name this symbol on the cover (the proposed symbol of a company going public), or whose filer the catalogue knows under this ticker. |
class | query | No | one of ipo, spac, shell, resale, other | Only filings of this class: ipo, spac, shell, resale or other. |
form | query | No | one of S-1, S-1/A, F-1, F-1/A, 424B4, 424B1, TODOKE, TODOKE/A | Only filings of this form, for example S-1 or 424B4. |
cursor | query | No | string | next_ of the previous page, with the same other parameters. |
limit | query | No | integer | Rows per page. Default 100, at most 500. |
Response fields
| Field | Type | Sent | Meaning |
|---|---|---|---|
start | date | Always | First filing day of the window, after the defaults are applied. |
end | date | Always | Last filing day of the window, after the defaults are applied. |
registrations | list of object | Always | The filings in the window, oldest first. |
registrations[].filing_ | string | Always | Id of the filing, for the Filings API. |
registrations[].cik | string | Optional | SEC Central Index Key of the filer. US filings only. |
registrations[].company_ | string | Optional | Company id in our catalogue, when the filer is in it. |
registrations[].name | string | Optional | Name of the filer. |
registrations[].form | one of S-1, S-1/A, F-1, F-1/A, 424B4, 424B1, TODOKE, TODOKE/A | Always | The form: S-1, S-1/, F-1, F-1/, 424B4 or 424B1, and Japan's TODOKE and TODOKE/. |
registrations[].filed | date | Always | Day the filing was made. |
registrations[].class | one of ipo, spac, shell, resale, other | Always | Kind of filing: ipo, spac, shell, resale or other. |
registrations[].currency | string | Optional | Currency of the money fields. Left out means US dollars. |
registrations[].price_ | string | Optional | Low end of the expected price per share, or the final price on a prospectus. |
registrations[].price_ | string | Optional | High end of the expected price per share, or the final price on a prospectus. |
registrations[].exchange | string | Optional | The market the filer names on its cover. |
registrations[].file_ | string | Optional | Registration number printed on the filing, for example 333-284180. One offering has one. |
registrations[].ticker | string | Optional | The symbol the cover gives for the shares. |
registrations[].shares_ | string | Optional | Shares, units or ADSs on the cover headline, before any over-allotment. |
registrations[].offered_ | one of shares, units, ads | Optional | What is offered: shares, units or ads. |
registrations[].offering_ | string | Optional | Total offering amount from the cover price table. |
registrations[].underwriting_ | string | Optional | Total underwriting discount from the cover price table. |
registrations[].proceeds_ | string | Optional | Total proceeds before expenses from the cover price table. |
registrations[].price_ | string | Optional | Offering price per share, unit or ADS, as offered_ says. |
registrations[].underwriting_ | string | Optional | Underwriting discount per share, unit or ADS. |
registrations[].proceeds_ | string | Optional | Proceeds per share, unit or ADS. |
registrations[].underwriters | list of string | Optional | The firms named on the cover as underwriters. |
registrations[].law_ | list of string | Optional | Law firms from the Copies to block and, for ipo, spac and shell filings, from Legal Matters. |
registrations[].management | list of object | Optional | Directors and executive officers from the filing's management table. |
registrations[].management[].name | string | Always | Name of the director or officer. |
registrations[].management[].title | string | Always | Title as the filing gives it. |
registrations[].management[].age | integer | Optional | Age as the filing gives it. |
registrations[].financials | object | Optional | The company's latest annual figures, read from the financial tags in the prospectus. Left out when the statements are not tagged. |
registrations[].financials.fiscal_ | date | Always | End of the latest full fiscal year with tagged figures. |
registrations[].financials.currency | string | Optional | Currency of the statements. |
registrations[].financials.revenue | string | Optional | Revenue for that year, in whole units. |
registrations[].financials.net_ | string | Optional | Net income for that year, in whole units. |
registrations[].financials.total_ | string | Optional | Total assets at that date, in whole units. |
registrations[].financials.total_ | string | Optional | Total liabilities at that date, in whole units. |
registrations[].financials.total_ | string | Optional | Total equity at that date, in whole units. |
registrations[].financials.cash | string | Optional | Cash at that date, in whole units. |
next_ | string | Always | Pass as cursor to read the next page. Always sent; null on the last page. |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/calendars/registrations?ticker=ACCV&form=424B4&start=2026-10-01&end=2026-11-12"{
"start": "2026-10-01",
"end": "2026-11-12",
"registrations": [
{
"filing_id": "usa:0002141406:0001628280-26-064097",
"cik": "0002141406",
"company_id": "usa:0002141406",
"name": "Accelevation Holdings Corp.",
"form": "424B4",
"filed": "2026-10-01",
"class": "ipo",
"price_low": "18.00",
"price_high": "18.00",
"exchange": "Nasdaq",
"file_number": "333-298715",
"ticker": "ACCV",
"shares_offered": "30000000",
"offered_as": "shares",
"offering_amount": "540000000",
"underwriting_discount": "28350000",
"proceeds_before_expenses": "170550000",
"price_per_share": "18.00",
"underwriting_discount_per_share": "0.945",
"proceeds_per_share": "17.055",
"underwriters": [
"Morgan Stanley",
"J.P. Morgan",
"Goldman Sachs & Co. LLC",
"Barclays"
],
"law_firms": [
"Kirkland & Ellis LLP",
"Simpson Thacher & Bartlett LLP"
],
"management": [
{
"name": "Michael Rubiera",
"title": "Chief Executive Officer and Director",
"age": 52
},
{
"name": "Kenneth Krause",
"title": "Chief Financial Officer",
"age": 51
}
]
}
],
"next_cursor": null
}Errors
Errors use the shared problem shape with a request_. See Errors and credits for the shape and the credit headers. Failed requests are not charged.
| Code | Status | Meaning |
|---|---|---|
invalid_ | 400 | A parameter is missing, unknown, repeated or outside its range. |
range_ | 400 | The window is longer than the route allows. |
invalid_ | 400 | The cursor is not one this request returned, or it comes from a different request. |
not_ | 404 | The market, country or company is not covered yet. |
insufficient_ | 402 | Your credit balance is less than the request costs. |
company_ | 503 | The filings behind this route cannot be read right now. Try again shortly. |
Was this page helpful?