# Registration Statement & Prospectus Data API > Access structured data extracted from Form S-1 registration statements and Form 424B4 IPO prospectuses. The JSON-formatted data encompasses public offering amounts, underwriting discounts, underwriters, law firms and auditors involved in the offering,employee counts, and more. Source: https://sec-api.io/docs/form-s1-424b4-data-search-api The Form S-1 and Form 424B4 Data API provides extracted structured data from all registration statements and prospectuses filed with the SEC. The API allows you to search and filter through all security offering filings published on the EDGAR database. The data is provided in JSON format and encompasses offering amounts (total, per share and currency: public offering price, underwriting discounts, proceeds before expenses), security types being offered, such as common stock or warrants, underwriters (lead and co-managers), law firms, auditors, employee counts (total, per division, per region), and management information (name, age, position). All types of S-1, F-1 and S-11 registration statements and 424B4 prospectuses are included. Data sample · Registrations and prospectuses | Filed at | Ticker | Company | Form type | Price per share | Total offering | Underwriting discount | Proceeds before expenses | Securities | Exchange | Underwriters | Law firms | Auditors | Management | Employees | CIK | Accession no. | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 2026-10-06 | FUSE | Fusemachines Inc. | S-1 | – | – | – | – | 7,549,411 Shares of Common Stock; 1,190,476 shares of Common Stock issuable upon conversion of convertible notes; 4,100,000 shares of Common Stock issuable upon exercise of warrants; 2,138,935 shares of Common Stock issued to certain vendors; 120,000 shares of Common Stock issued to Fulcrum New Amsterdam LLC | The Nasdaq Global Market | – | Dentons US LLP | – | Bharat Krish; Tim Gocher; Julia Hirschberg; Salman Alam | 270 | 2033383 | 0001493152-26-045995 | | 2026-10-06 | – | TANG CAPITAL ACQUISITION CORP. | S-1 | $25.00 | $75,000,000 | $1,000,000 | $74,000,000 | 3,000,000 Ordinary Shares | NASDAQ | LifeSci Capital LLC; Raymond James & Associates, Inc. | Walkers (Cayman) LLP; Gibson, Dunn & Crutcher LLP; Loeb & Loeb LLP | CBIZ CPAs P.C. | Kevin Tang; Ryan Cole; Michael Hearne; Stew Kroll; Thomas Wei | – | 2151808 | 0001193125-26-415765 | | 2026-10-06 | ACTU | ACTUATE THERAPEUTICS, INC. | S-1 | – | – | – | – | 50,000,000 Shares of Common Stock | Nasdaq Global Market | Konik Capital Partners, LLC, a division of T.R. Winston & Company, LLC | Greenberg Traurig, LLP; Lucosky Brookman, LLP | Crowe LLP | – | – | 1652935 | 0001683168-26-007661 | | 2026-10-06 | GRDX | GridAI Technologies Corp. | S-1/A | – | – | – | – | 9,908,766 Shares of Common Stock; 270,192 shares of Common Stock; 4,684,191 shares of Common Stock issuable upon exercise of pre-funded warrants; 4,954,383 shares of Common Stock issuable upon exercise of common warrants | Nasdaq Capital Market | – | Sichenzia Ross Ference Carmel, LLP | Macias Gini & O’Connell LLP | Jason D. Sawyer; Anna Skowron; Edward J. Borkowski; Manpreet Uppal; Geordan G. Pursglove; Jack Syage | 16 | 1604191 | 0001104659-26-114071 | | 2026-10-06 | PLUR | Pluri Inc. | S-1 | – | – | – | – | 2,228,940 Common Shares Issuable Upon the Exercise of Warrants | Nasdaq Capital Market | – | Sullivan & Worcester LLP | Kesselman & Kesselman | – | – | 1158780 | 0001213900-26-107182 | | 2026-10-06 | ALLN | Allarity Acquisition Corp. | S-1/A | $10.00 | $80,000,000 | $400,000 | $79,600,000 | 8,000,000 Units Each Consisting of One Class A Ordinary Share and One Redeemable Warrant; 3,833,333 Class B Ordinary Shares; 2,500,000 Private Warrants | Nasdaq | Maxim Group LLC | Venable LLP; Maples and Calder (Cayman) LLP; Ellenoff, Grossman & Schole LLP | Wolf & Company, P.C. | Thomas H. Jensen; Jeffrey S. Ervin; Gerald W. McLaughlin; Jesper Hoiland; Joseph V. Renda | 2 | 2141983 | 0001493152-26-045923 | | 2026-10-06 | NIMU | NON INVASIVE MONITORING SYSTEMS INC /FL/ | S-1/A | $15.50 | $125,000,000 | $8,125,000 | $116,875,000 | 8,064,516 Shares of Common Stock; 1,209,677 shares of Common Stock | Nasdaq Capital Market | Lucid Capital Markets, LLC | Nason Yeager Gerson Harris & Fumero, P.A.; Ellenoff Grossman & Schole LLP | Weinberg & Company, P.A.; EisnerAmper LLP | Jane H. Hsiao, Ph.D., MBA; James Martin, CPA, MBA; Phillip Frost, M.D.; Subbarao V. Uppaluri, Ph.D.; Adam Logal | 24 | 720762 | 0001493152-26-045892 | | 2026-10-06 | – | Winklevoss Zcash ETF | S-1 | – | – | – | – | Indeterminate number of Shares | NASDAQ | Seed Capital Investor | Chapman and Cutler LLP | – | – | – | 2158471 | 0001104659-26-113940 | | 2026-10-06 | PAXG | Pine Tree Acquisition Corp. | 424B4 | $10.00 | $100,000,000 | $500,000 | $99,500,000 | 10,000,000 Units Each Consisting of One Class A ordinary share and One Right; 4,928,571 Class B ordinary shares; 140,000 Units Each Consisting of One Class A ordinary share and One Right | NASDAQ | Maxim Group LLC | Graubard Miller; Nelsons Legal; Loeb & Loeb LLP | Aloba, Awomolo & Partners | Wei Qian; Xiao Wu; Yao Guo; Yan Zhang | – | 2076561 | 0001477932-26-006063 | | 2026-10-05 | NIAA | New Iceland Arctic Acquisition Corp. | S-1/A | $10.00 | $100,000,000 | $5,520,000 | $94,480,000 | 10,000,000 Units Each Consisting of One Class A ordinary share, One redeemable warrant, and One right to receive one-quarter of one Class A ordinary share; 178,000 private placement units Each Consisting of One Class A ordinary share, One redeemable warrant, and One right to receive one-quarter of one Class A ordinary share; 200,000 private placement units Each Consisting of One Class A ordinary share, One redeemable warrant, and One right to receive one-quarter of one Class A ordinary share; 3,593,750 Class B ordinary shares | Nasdaq | Chardan Capital Markets LLC | Holland & Hart LLP; Hodgson Russ LLP; Walkers (Cayman) LLP; Cooley LLP | GuzmanGray | Halldor Thorsteinsson; J. Heath Cardie, CFA; Lu Zhou | – | 2148245 | 0001185185-26-004587 | Examples of S-1, F-1, S-11 registration statements and 424B4 prospectuses include: - IPO registration statements and prospectuses. - Follow-on offerings, such as by seasoned issuers (companies that have already gone public) that are looking to raise additional capital through a secondary offering of shares. - Secondary offerings, for example, when existing shareholders, such as insiders, venture capitalists, or private equity firms, wish to sell their shares to the public. - Debt offerings of convertible securities and other debt instruments, such as fixed-income securities like corporate bonds. - Rights offerings, for example, where existing shareholders are given the right to purchase additional shares at a discount before the shares are offered to the public. - Equity lines of credit, where a company can register and sell shares to an investor over a period of time under specific arrangements. - Prospectuses for shelf offerings where securities are drawn down from a shelf registration statement (e.g. Form S-3). - SPAC offerings such as initial unit offerings including shares and warrants, or de-SPAC transactions where a SPAC merges with a private company to take it public. Dataset size: Over 60,000 registration statements (Form S-1, S-1/A, F-1, F-1/A, S-11, S-11/A) and more than 9,000 prospectuses (Form 424B4), from 2000 to present. Data update frequency: Structured data is extracted, indexed and made available in less than 500 milliseconds after the filing is published on the SEC EDGAR database. Survivorship bias free: Yes. The database includes all registration statements and prospectuses, including those from companies that are no longer active or exist. ## API Endpoint Search and retrieve structured data from registration statements and prospectuses by sending a `POST` HTTP request with search parameters as a JSON-formatted payload to the following API endpoint: https://api.sec-api.io/form-s1-424b4 Supported HTTP methods: `POST` Request and response content type: `JSON` ### Authentication To authenticate your API requests, use the API key available in your [user profile](https://sec-api.io/login). You can utilize your API key in one of two ways. Choose the method that best fits your implementation: - **Authorization Header:** Include your API key as an `Authorization` header in your `POST` requests. For instance, before sending a `POST` request to `https://api.sec-api.io/form-s1-424b4`, ensure the header is set as follows: `Authorization: YOUR_API_KEY`. - **Query Parameter:** Alternatively, append your API key directly to the URL as a query parameter. For example, when making `POST` requests, use the URL `https://api.sec-api.io/form-s1-424b4?token=YOUR_API_KEY` instead of the base endpoint. ## Request Parameters You can retrieve structured data extracted from registration statements and prospectuses by sending a search query to the API. All fields of the extracted data are searchable. For a complete list of searchable fields, refer to the [Response Structure section](#response-format) below. Send a search query as a JSON-formatted payload to the API using the structure explained below. **Request parameters:** - `query` (string) - Your search criteria. Boolean operators (AND, OR, NOT), range queries across date and number fields, wildcards (*) and search expression grouping are fully supported. The query is written in Lucene syntax and allows you to specify individual fields to search in and what values to search for in the fields. More [information on Lucene is available here](https://sec-api.io/resources/lucene-query-syntax-overview). Examples: - `formType:424B4 AND filedAt:[2022-01-01 TO 2022-12-31]` returns the structured data from all Form 424B4 prospectuses published in 2022, including January 1st and December 31st. - `employees.total:>1000` returns all Form S-1 and Form 424B4 filings from companies with more than 1,000 employees reported in the filing. - More examples are [available below.](#request-examples) - `from` (integer) - Use the `from` property to specify the starting position of your results, facilitating pagination. For instance, set `from` to 50 to skip the first 50 results. The default is 0, and the maximum allowed value is 10,000, which is also the cap for the maximum number of results returned per `query`. To retrieve all results in your search universe, increment `from` by the value of the `size` parameter (e.g., 50) until no more results are returned or the 10,000 limit is reached. For example, use 0, 50, 100, and so on. If your `query` locates more than 10,000 results, consider narrowing your search by refining your filter criteria, such as using a date range filter to iterate over months or years. One approach would be to search for registration statement and prospectuses with a `filedAt` date range filter, e.g., `filedAt:[2023-01-01 TO 2023-01-31]` (all filings from January 2023), then paginate through the results by incrementing `from`, and once completed, repeat the process for the next month, and so on. - `size` (integer) - The number of results to be returned per request. Default: 50. Maximum: 50. - `sort` (array) - An array of objects that specify how the returned results are sorted. The default sorting order is descending by the `filedAt` date, most recent filings first. The sorting order can be changed to ascending by setting `order` to `asc`. The default sorting order can be overridden by specifying a different sorting field. For example, to sort results by `publicOfferingPrice.total` in decending order (highest first), set `sort` to `[{ "publicOfferingPrice.total": { "order": "desc" } }]`. ### Request Examples Find all extracted data from Form S-1, S-1/A and Form 424B4 filings disclosed between January 1st and December 31st, 2022, with the result sorted by the filing date, starting with the most recent filings. ```json { "query": "filedAt:[2022-01-01 TO 2022-12-31]", "from": "0", "size": "50", "sort": [{"filedAt":{"order":"desc"}}] } ``` Retrieve all structured data from Alibaba's registration statement (Form S-1 and amended S-1/As) using the `formType` and `ticker` fields, with the default sorting order. ```json { "query": "formType:\"F-1\" AND ticker:BABA", "from": "0", "size": "50" } ``` Filter registration statements and prospectuses by the underwriter's name, in this case, Goldman Sachs. The underwriter can either be the lead or a co-manager, and sort the result by the total public offering price, starting with the highest. ```json { "query": "underwriters.name:\"Goldman Sachs\"", "from": "0", "size": "50", "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` Find all structured data from Form 424B4 prospectuses with a public offering price of $100 million or more, sorted by the public offering price in descending order, starting with the highest. ```json { "query": "formType:424B4 AND publicOfferingPrice.total:>100000000", "from": "0", "size": "50", "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` Filter registration statements and prospectuses (excluding S-1/A filings) by the age of the management team. In this case, retrieve all filings with the management team having at least one member of age between 70 and 100 years. ```json { "query": "management.age:[70 TO 100] AND NOT formType:\"S-1/A\"", "from": "0", "size": "50", "sort": [{"management.age":{"order":"desc"}}] } ``` ## Response Structure **Response type:** JSON The API response represents a JSON object with two fields: `total` (object) and `data` (array). The `total.value` field indicates the total number of results matching your search query. The `data` array holds up to 50 items per request, each item representing the extracted data from a registration statement or prospectus filing with the following structure: - `id` (string) - System-internal unique identifier of the item. - `accessionNo` (string) - Unique accession number of the Form S-1 or Form 424B4 filing, e.g. `0001628280-24-023559`. - `filedAt` (date) - Date and time at which the filing was accepted by SEC EDGAR for processing, e.g. `2024-05-15T16:17:15-04:00`. - `formType` (string) - EDGAR form type. Possible values: `S-1`, `S-1/A`, `424B4`. - `cik` (string) - The Central Index Key (CIK) of the issuer, e.g. `1318605`. Leading zeros are removed. - `ticker` (string) - The trading symbol of the issuer at the time of filing indexation, e.g. `TSLA` for Tesla Inc. - `entityName` (string) - The name of the issuer, e.g. `TESLA MOTORS INC`. - `filingUrl` (string) - The URL to the filing. - `tickers` (array of objects) - List of ticker symbols of the securities, their types and exchanges on which they are traded or being listed on. Each item in the array represents a security offered by the issuer, for example common stock, preferred stock, warrants or debt securities. - `ticker` (string) - The ticker symbol of the security being offered, e.g. `TSLA`. - `type` (string) - The type of the security being offered, e.g. `Common Stock`. - `exchange` (string) - The exchange on which the security is traded or being listed on, e.g. `NASDAQ`. - `securities` (array of objects) - List of securities offered and referred to in the filing. Each item in the array represents a security type and typically includes the number of shares, warrants, or other securities offered. - `name` (string) - A specific type of security being offered or referred to in the filing, e.g. `Up to 3,409,091 Shares of Common Stock`, or `1,358,350 Pre-Funded Warrants to Purchase 1,358,350 Common Shares` - `publicOfferingPrice` (object) - Information about the public offering price. Note, that not all Form S-1 filings include the public offering price whereas all Form 424B4 filings typically do. - `perShare` (number) - The public offering price per share as a floating number, e.g. `10.00`. Typically, the price is in US dollars. In rare cases, the price may be in another currency. To check the currency, evaluate the `perShareText` (string) property, which includes the currency symbol, e.g., `€10.00`. - `perShareText` (string) - The public offering price per share as a string, e.g. `$10.00`. - `total` (number) - The total public offering price as floating number, e.g. `152428000`. - `totalText` (string) - The total public offering price as a string, e.g. `$152,428,000.00`. - `underwritingDiscount` (object) - Information about the underwriting discount. Note, that not all Form S-1 filings include the underwriting discount whereas all Form 424B4 filings do. - `perShare` (number) - The underwriting discount per share as a floating number, e.g. `0.40833`. Typically, the value is in US dollars. In rare cases, it may be in another currency. To check the currency, evaluate the `perShareText` (string) property, which includes the currency symbol, e.g., `$0.40833`. - `perShareText` (string) - The underwriting discount per share as a string, e.g. `$0.40833`. - `total` (number) - The total underwriting discount as floating number, e.g. `2164149`. - `totalText` (string) - The total underwriting discount as a string, e.g. `$2,164,149.00`. - `proceedsBeforeExpenses` (object) - Information about the proceeds before expenses to the company. Note, that not all Form S-1 filings include the proceeds before expenses whereas all Form 424B4 filings do. - `perShare` (number) - The proceeds before expenses per share as a floating number, e.g. `28.35`. Typically, the value is in US dollars. In rare cases, it may be in another currency. To check the currency, evaluate the `perShareText` (string) property, which includes the currency symbol, e.g., `$28.35`. - `perShareText` (string) - The proceeds before expenses per share as a string, e.g. `$28.35`. - `total` (number) - The total proceeds before expenses to the company as floating number, e.g. `150000000`. - `totalText` (string) - The total proceeds as a string, e.g. `$150,000,000.00`. - `underwriters` (array of objects) - Names of the underwriters involved in the offering. Each item in the array represents one underwriter. The first item typically represents the lead underwriter. Not all registration statements (Form S-1) have underwriters listed. In such cases, subsequent filings (Form S-1/A) may include the underwriters as an amendment as they become known. - `name` (string) - The name of the underwriter, e.g. `Goldman Sachs`. - `lawFirms` (array of objects) - Names and locations of the legal council and law firms involved in the offering. - `name` (string) - The name of the law firm, e.g. `Wilson Sonsini Goodrich & Rosati`. - `location` (string) - The location of the law firm, e.g. `California, USA`. - `auditors` (array of objects) - Names of the auditors involved in the offering. - `name` (string) - The name of the auditor, e.g. `Deloitte & Touche LLP`. - `management` (array of objects) - Information about the management team, if disclosed in the filing. Each item in the array represents one member of the management team. - `name` (string) - Name of the person, e.g. `Elon Musk`. - `age` (number) - Age of the person, e.g. `50`. - `position` (string) - Position of the person in the company, e.g. `CEO`. Note, the positions are not standardized and may vary between companies. For example, the CEO may be referred to as President, Chief Executive Officer, or CEO. - `employees` (object) - Information about the number of employees (total, per business unit and per geographical regoin), if disclosed in the filing. - `total` (number) - Total number of employees, e.g. `1010`. - `asOfDate` (date) - The date as of which the total number of employees was reported, e.g. `2022-05-15`. If the date is not available, the property is empty. - `perDivision` (array of objects) - Number of employees per business division, if disclosed in the filing. Each item in the array represents one business division. - `division` (string) - Name of the business division, e.g. `Research and Development`. - `employees` (number) - Number of employees in the business division, e.g. `413`. - `perRegion` (array of objects) - Number of employees per geographical region, if disclosed in the filing. Each item in the array represents one geographical region. - `region` (string) - Name of the geographical region, e.g. `Europe` or `Los Angeles`. - `employees` (number) - Number of employees in the geographical region, e.g. `56`. ### Response Example JSON ```json { "total": { "value": 10000, "relation": "gte" }, "data": [ { "id": "abbd7ae0461b2c6f0c462bd7ac149484", "filedAt": "2024-02-02T16:22:09-05:00", "accessionNo": "0001104659-24-010053", "formType": "424B4", "cik": "1988894", "ticker": "AS", "entityName": "Amer Sports, Inc.", "filingUrl": "https://www.sec.gov/Archives/edgar/data/1988894/000110465924010053/tm2322981-18_424b4.htm", "tickers": [ { "ticker": "AS", "type": "Ordinary Shares", "exchange": "NYSE" } ], "securities": [ { "name": "105,000,000 Ordinary Shares" } ], "publicOfferingPrice": { "perShare": 13, "perShareText": "$13.00", "total": 1365000000, "totalText": "$1,365,000,000" }, "underwritingDiscount": { "perShare": 0.455, "perShareText": "$0.455", "total": 47775000, "totalText": "$47,775,000" }, "proceedsBeforeExpenses": { "perShare": 12.545, "perShareText": "$12.545", "total": 1317225000, "totalText": "$1,317,225,000" }, "underwriters": [ { "name": "Goldman Sachs & Co. LLC" }, { "name": "BofA Securities, Inc" }, // ... more underwriters ], "lawFirms": [ { "name": "Conyers Dill & Pearman", "location": "Cayman Islands" }, { "name": "Davis Polk & Wardwell LLP", "location": "New York, United States" }, // ... more law firms ], "auditors": [ { "name": "KPMG AB" } ], "management": [ { "name": "Jie (James) Zheng", "age": 55, "position": "Chief Executive Officer and Director Nominee" }, { "name": "Andrew E. Page", "age": 54, "position": "Chief Financial Officer" }, // ... more management team members ], "employees": { "total": 10800, "asOfDate": "2023-09-30", "perDivision": [], "perRegion": [ { "region": "EMEA", "employees": 4500 }, { "region": "Americas", "employees": 3700 }, // ... more regions ] } } ] } ``` ## FAQ Common questions about querying the Registration Statement & Prospectus Data API, the response shape, and the bulk archives. ### How do I pull the structured offering details from a specific company's IPO prospectus using its ticker symbol? Search the `/form-s1-424b4` endpoint and filter on the issuer's trading symbol, which is stored at the top level of each item (`ticker`) and also on each offered security (`tickers.ticker`). For example, to retrieve the offering data for a company that went public under the symbol `BABA`, filter where `ticker` equals `BABA`. Each matching item is the extracted structured data from one registration statement or prospectus, including the offering amounts (`publicOfferingPrice`, `underwritingDiscount`, `proceedsBeforeExpenses`), the securities offered (`securities`), and the deal participants (`underwriters`, `lawFirms`, `auditors`). If you only know the company name rather than its symbol, you can also filter on the issuer name (`entityName`). Note that a company may have several filings under one ticker — an original Form S-1, one or more amended S-1/A versions, and a final 424B4 prospectus — so a ticker search typically returns the full set of filings for that offering rather than a single document. ```json { "query": "ticker:BABA", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find all registration statements and prospectuses a company has filed by looking it up with its CIK number? Search the `/form-s1-424b4` endpoint and filter on the issuer's Central Index Key, which appears on every item as `cik`. The CIK is the SEC's permanent identifier for a company and is stored with leading zeros removed, for example `1318605` for Tesla. Filtering where `cik` equals the company's CIK returns every Form S-1, S-1/A, F-1, F-1/A, S-11, S-11/A registration statement and every 424B4 prospectus on file for that issuer. Results default to descending order by filing date (`filedAt`), so the most recent filings appear first. To walk through a company's offering history chronologically, sort ascending by `filedAt` instead. If you have a ticker rather than a CIK, the `/mapping-api` endpoint resolves a trading symbol to its CIK. ```json { "query": "cik:1318605", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I retrieve a single filing when I already have its accession number? Search the `/form-s1-424b4` endpoint and filter on the accession number, which is stored on every item as `accessionNo`. The accession number is the SEC's unique identifier for an individual filing, formatted with dashes such as `0001628280-24-023559`. Filtering where `accessionNo` equals that value returns the single extracted record for that exact filing. Because an accession number identifies one specific document, this search returns at most one item, and the `total.value` field of the response will be `1` when the filing exists in the dataset. ```json { "query": "accessionNo:\"0001628280-24-023559\"", "from": 0, "size": 50 } ``` ### How can I get every securities offering filing made during a particular calendar year? Search the `/form-s1-424b4` endpoint and filter on the filing acceptance date (`filedAt`), which records when SEC EDGAR accepted the filing for processing. To capture an entire calendar year such as 2022, the value of `filedAt` should fall between `2022-01-01` and `2022-12-31`, inclusive of both endpoints. A full year of registration statements and prospectuses can exceed the 10,000-result cap on a single search. If the response shows `total.value` at or above 10,000, narrow the `filedAt` window to one month at a time and iterate across the twelve months to collect every result. ```json { "query": "filedAt:[2022-01-01 TO 2022-12-31]", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I separate first-time IPO registration statements from amended versions and final prospectuses? Search the `/form-s1-424b4` endpoint and filter on the EDGAR form type, stored on every item as `formType`. An original registration statement carries `formType` of `S-1`, an amended registration statement carries `S-1/A` (the `/A` suffix marks an amendment), and the final prospectus that contains confirmed pricing carries `424B4`. Filtering `formType` to a single one of these values isolates that stage of the offering process. A typical IPO produces all three over time: the company files an `S-1`, revises it through one or more `S-1/A` amendments, and concludes with a `424B4` once the deal is priced. To compare stages for one company, combine a `formType` filter with the issuer's `cik`. Foreign issuers use `F-1` and `F-1/A` instead of `S-1` and `S-1/A`, and real estate issuers use `S-11` and `S-11/A`. ```json { "query": "formType:\"S-1\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find only the finalized prospectuses that contain confirmed pricing rather than preliminary registration statements? Search the `/form-s1-424b4` endpoint and filter the form type (`formType`) to `424B4`. A 424B4 is the final prospectus filed after a deal is priced, and unlike preliminary S-1 registration statements it typically includes confirmed pricing in the offering amount objects (`publicOfferingPrice`, `underwritingDiscount`, `proceedsBeforeExpenses`). While most S-1 filings leave the pricing objects empty, 424B4 prospectuses generally populate the per-share and total figures, such as `publicOfferingPrice.perShare` and `publicOfferingPrice.total`. Restricting the search to `formType` of `424B4` is the most direct way to keep only offerings with finalized pricing data. ```json { "query": "formType:\"424B4\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I exclude amended registration statements and keep only the original filings? Search the `/form-s1-424b4` endpoint and use the form type field (`formType`) to exclude the amendment values. Amended registration statements carry the `/A` suffix — `S-1/A`, `F-1/A`, and `S-11/A` — so a search that requires `formType` to not equal `S-1/A` removes the amended S-1 filings and leaves the original `S-1` registration statements. To keep only original registration statements across all categories, exclude `S-1/A`, `F-1/A`, and `S-11/A` together, or, more directly, restrict `formType` to the original values `S-1`, `F-1`, and `S-11`. Excluding amendments is useful when you want one record per offering rather than every successive revision. ```json { "query": "NOT formType:(\"S-1/A\" OR \"F-1/A\" OR \"S-11/A\")", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find the largest IPOs by total money raised and rank them from biggest to smallest? Search the `/form-s1-424b4` endpoint and sort the results by the total public offering price (`publicOfferingPrice.total`) in descending order, which places the biggest deals first. The `publicOfferingPrice.total` field holds the aggregate dollar amount of the offering as a number, for example `1365000000` for a $1.365 billion deal. Because many preliminary S-1 registration statements leave the pricing objects empty, restrict the search to finalized prospectuses by filtering `formType` to `424B4` so that every ranked result has a populated total. Sorting then returns the priced offerings ordered from largest to smallest deal size. ```json { "query": "formType:\"424B4\"", "from": 0, "size": 50, "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` ### How do I search for offerings where the company is raising at least $100 million? Search the `/form-s1-424b4` endpoint and filter on the total public offering price (`publicOfferingPrice.total`), which stores the aggregate deal size as a number. To find offerings of $100 million or more, the value of `publicOfferingPrice.total` should be greater than or equal to `100000000`. Since preliminary S-1 registration statements often leave `publicOfferingPrice` empty, pair the amount filter with a `formType` of `424B4` to limit results to finalized prospectuses that carry confirmed pricing. Sorting by `publicOfferingPrice.total` in descending order then ranks the qualifying deals from largest to smallest. ```json { "query": "formType:\"424B4\" AND publicOfferingPrice.total:>=100000000", "from": 0, "size": 50, "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` ### How can I find deals where a particular investment bank acted as either the lead bookrunner or a co-manager? Search the `/form-s1-424b4` endpoint and filter on the underwriter name, stored in the underwriters array as `underwriters.name`. Each item in `underwriters` is one bank involved in the offering — the first entry is typically the lead underwriter and the rest are co-managers — so a filter where `underwriters.name` matches a firm such as `Goldman Sachs` returns every deal that bank participated in regardless of its role. The array does not distinguish lead from co-manager beyond ordering, so a name filter captures both. To rank the matching deals by size, sort by `publicOfferingPrice.total` in descending order. Note that some S-1 registration statements have no underwriters listed yet; the names may appear later in an S-1/A amendment as they become known. ```json { "query": "underwriters.name:\"Goldman Sachs\"", "from": 0, "size": 50, "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` ### How do I identify which deals a specific law firm worked on as legal counsel? Search the `/form-s1-424b4` endpoint and filter on the law firm name, stored in the law firms array as `lawFirms.name`. Each item in `lawFirms` represents one legal counsel involved in the offering, with the firm's name (`lawFirms.name`) and its location (`lawFirms.location`). Filtering where `lawFirms.name` matches a firm such as `Wilson Sonsini Goodrich & Rosati` returns every offering that firm advised on. A single filing often lists several law firms, since both issuer's counsel and underwriters' counsel are disclosed, so a name match identifies any deal the firm was named on. To rank the matching offerings by deal size, sort by `publicOfferingPrice.total` in descending order. ```json { "query": "lawFirms.name:\"Wilson Sonsini Goodrich & Rosati\"", "from": 0, "size": 50, "sort": [{"publicOfferingPrice.total":{"order":"desc"}}] } ``` ### How can I find offerings audited by a particular accounting firm? Search the `/form-s1-424b4` endpoint and filter on the auditor name, stored in the auditors array as `auditors.name`. Each item in `auditors` is one accounting firm that audited the issuer's financial statements for the offering, for example `Deloitte & Touche LLP` or `Ernst & Young LLP`. Filtering where `auditors.name` matches a firm returns every offering that firm audited. Some filings list more than one auditor, for instance when a recently acquired business was audited separately, so a name match captures any offering where the firm is named. Pair the filter with a `formType` value or a `filedAt` date range to narrow the results to a particular offering stage or time period. ```json { "query": "auditors.name:\"Deloitte & Touche LLP\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I find offerings handled by law firms based in a specific jurisdiction such as the Cayman Islands? Search the `/form-s1-424b4` endpoint and filter on the law firm location, stored in the law firms array as `lawFirms.location`. Each law firm entry carries both a name (`lawFirms.name`) and a location string (`lawFirms.location`), such as `Cayman Islands`, `New York, United States`, or `California, USA`. Filtering where `lawFirms.location` matches the jurisdiction you want returns offerings where at least one named law firm is based there. The location strings are not standardized to a fixed list, so a jurisdiction may appear with slight wording variations; matching on the jurisdiction term such as `Cayman Islands` captures the relevant filings. Cayman Islands counsel commonly appears on offerings by offshore-incorporated issuers, including many SPACs. ```json { "query": "lawFirms.location:\"Cayman Islands\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I screen for companies going public that have more than a certain number of employees? Search the `/form-s1-424b4` endpoint and filter on the total employee count, stored on the employees object as `employees.total`. This field holds the total headcount the issuer disclosed in the filing as a number, for example `10800`. To screen for larger companies, the value of `employees.total` should be greater than the threshold you choose, such as greater than `1000`. The filing may also break headcount down by business unit (`employees.perDivision`) and by geographic region (`employees.perRegion`), and may record the date the count was measured (`employees.asOfDate`). Note that not every filing discloses an employee count, so filings with an empty `employees.total` will not appear in a numeric range search. ```json { "query": "employees.total:>1000", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I find offerings from companies whose management team includes someone in a particular age range? Search the `/form-s1-424b4` endpoint and filter on the age of management team members, stored on each person in the management array as `management.age`. Each item in `management` describes one executive or director with a name (`management.name`), an age (`management.age`), and a position (`management.position`). To find filings where at least one team member falls in a given age band, the value of `management.age` should fall between the lower and upper bounds, for example between `70` and `100`. Because the filter matches if any single member's age is in range, the result set is offerings whose disclosed management includes someone of that age. To bring the oldest team members to the top, sort by `management.age` in descending order. Excluding amended filings by setting `formType` to not equal `S-1/A` avoids counting the same offering's roster multiple times. ```json { "query": "management.age:[70 TO 100] AND NOT formType:\"S-1/A\"", "from": 0, "size": 50, "sort": [{"management.age":{"order":"desc"}}] } ``` ### How can I look up the executives, their ages, and their job titles disclosed in a company's prospectus? Search the `/form-s1-424b4` endpoint for the company by its `cik` or `ticker`, and read the management array on the returned item. Each entry in `management` is one member of the management team, with the person's name (`management.name`), age (`management.age`), and position (`management.position`). The position text is taken directly from the filing and is not standardized — the same role may appear as `CEO`, `Chief Executive Officer`, or `President` depending on the company. Ages are present when the filing discloses them and may be empty otherwise. Reviewing the `management` array of a single filing gives the full disclosed roster of executives and directors for that offering. ```json { "query": "ticker:BABA", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I find IPOs of blank-check shell companies that offer units bundling shares and warrants together? Search the `/form-s1-424b4` endpoint and filter on the security type so that the offered securities include a unit. Each offered security appears in the tickers array with a type (`tickers.type`), and SPAC unit IPOs carry a `tickers.type` of `Units` alongside a separate `Warrants` entry, since the unit bundles a share and a warrant. The securities array also describes these in plain text, for example `tickers.type` of `Units` with a `securities.name` such as `25,000,000 Units Each Consisting of One Class A ordinary share and One-Third of One Redeemable Warrant`. Filtering where `tickers.type` equals `Units` isolates offerings structured as unit IPOs, which are characteristic of blank-check shell companies. To confirm the warrant component, look for a `Warrants` value in `tickers.type` on the same filing, and the bundle description in `securities.name`. ```json { "query": "tickers.type:\"Units\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find debt offerings such as corporate bonds or convertible notes rather than equity offerings? Search the `/form-s1-424b4` endpoint and filter on the security description, stored as `securities.name`. Each entry in the `securities` array names a security being offered, and debt offerings describe notes or bonds in that text, for example `600,000,000 8.75% Senior Notes due 2019` or a convertible notes description. Filtering where `securities.name` contains terms such as `Notes` or `Bonds` surfaces debt offerings rather than common stock offerings. Because `securities.name` is free-text extracted from the filing, debt instruments appear with varied wording — senior notes, subordinated notes, convertible notes, debentures — so matching on the relevant term captures the variations. The dataset includes registration statements for fixed-income and convertible securities alongside equity offerings. ```json { "query": "securities.name:(Notes OR Bonds OR Debentures)", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I identify offerings that include warrants or pre-funded warrants alongside common stock? Search the `/form-s1-424b4` endpoint using both the security type and the security description. The security type on each ticker entry (`tickers.type`) carries a value of `Warrants` when warrants are listed, and the plain-text security descriptions (`securities.name`) name them explicitly, for example `1,358,350 Pre-Funded Warrants to Purchase 1,358,350 Common Shares`. Filtering where `tickers.type` equals `Warrants`, or where `securities.name` contains `Warrants` or `Pre-Funded Warrants`, surfaces these offerings. A filing that bundles warrants with common stock typically shows both a `Common Stock` and a `Warrants` entry in `tickers.type`, and the `securities` array describes each component. Pre-funded warrants in particular are identified through the `securities.name` text since they share the `Warrants` type. ```json { "query": "tickers.type:\"Warrants\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find offerings of preferred stock as opposed to common stock? Search the `/form-s1-424b4` endpoint and filter on the security type and description. The security type on each ticker entry (`tickers.type`) records the class of security, and the plain-text descriptions in the securities array (`securities.name`) spell it out, for example `250,000 Shares of Series 2 Redeemable Preferred Stock`. Filtering where `tickers.type` or `securities.name` contains `Preferred Stock` isolates preferred stock offerings from common stock offerings. Because preferred stock is often issued in named series, the `securities.name` text frequently includes a series designation. Matching on the term `Preferred` in `securities.name` captures these variants regardless of the series label. ```json { "query": "securities.name:\"Preferred Stock\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I see which stock exchange a newly offered security is being listed on? Search the `/form-s1-424b4` endpoint for the offering, then read the exchange field on each offered security in the tickers array (`tickers.exchange`). Each entry in `tickers` describes one security with its symbol (`tickers.ticker`), its type (`tickers.type`), and the exchange it trades on or is being listed on (`tickers.exchange`), for example `NASDAQ`, `NYSE`, or `American Stock Exchange`. If an offering includes several securities — such as units, ordinary shares, and warrants in a SPAC IPO — each appears as its own entry in `tickers` with its own `tickers.exchange` value. You can also filter directly on `tickers.exchange` to find all offerings being listed on a particular exchange. ```json { "query": "tickers.exchange:NASDAQ", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I find foreign company IPOs filed on the equivalent foreign registration form? Search the `/form-s1-424b4` endpoint and filter the form type (`formType`) to the foreign-issuer registration values. Foreign private issuers register their offerings on Form F-1, the foreign equivalent of the domestic Form S-1, with amended versions carrying the `F-1/A` value. Filtering `formType` to `F-1` returns original foreign registration statements, and `F-1/A` returns the amended versions. To capture both the original and amended foreign filings together, include `F-1` and `F-1/A`. The dataset covers F-1 and F-1/A registration statements alongside the domestic S-1, S-11, and 424B4 forms. ```json { "query": "formType:(\"F-1\" OR \"F-1/A\")", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I find real estate company offerings filed on the specialized REIT registration form? Search the `/form-s1-424b4` endpoint and filter the form type (`formType`) to the real estate registration values. Real estate companies and real estate investment trusts register their securities offerings on Form S-11, the specialized registration form for real estate issuers, with amendments carrying the `S-11/A` value. Filtering `formType` to `S-11` returns original real estate registration statements, and `S-11/A` returns the amended versions. To retrieve both original and amended real estate filings together, include `S-11` and `S-11/A`. The dataset covers S-11 and S-11/A registration statements alongside the S-1, F-1, and 424B4 forms. ```json { "query": "formType:(\"S-11\" OR \"S-11/A\")", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I calculate the underwriting fee as a percentage of the total deal size for an offering? Search the `/form-s1-424b4` endpoint and retrieve the two total amounts from the offering: the total underwriting discount (`underwritingDiscount.total`) and the total public offering price (`publicOfferingPrice.total`). The underwriting fee as a percentage of the deal is the underwriting discount total divided by the public offering price total. For an offering with `underwritingDiscount.total` of `13230000` and `publicOfferingPrice.total` of `189000000`, the fee works out to about 7 percent. Both totals are most reliably populated on finalized prospectuses, so restrict the search to a `formType` of `424B4`, where the pricing objects are typically complete. The endpoint returns the figures; the percentage itself is computed from the two `total` values after retrieval. ```json { "query": "formType:\"424B4\" AND underwritingDiscount.total:>0 AND publicOfferingPrice.total:>0", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I figure out how much money actually goes to the company after underwriting fees are taken out? Search the `/form-s1-424b4` endpoint and read the proceeds before expenses object, which records the amount the issuer receives after the underwriting discount is deducted from the public offering price. The total net amount is stored as `proceedsBeforeExpenses.total`, with a formatted string in `proceedsBeforeExpenses.totalText` and the corresponding per-share figure in `proceedsBeforeExpenses.perShare`. This figure is the public offering price minus the underwriting discount — for an offering with a `publicOfferingPrice.total` of `189000000` and an `underwritingDiscount.total` of `13230000`, `proceedsBeforeExpenses.total` is `175770000`. It is labelled "before expenses" because it does not yet account for the offering's other costs such as legal and accounting fees. The proceeds object is generally populated on finalized 424B4 prospectuses and often empty on preliminary S-1 registration statements. ```json { "query": "formType:\"424B4\" AND proceedsBeforeExpenses.total:>0", "from": 0, "size": 50, "sort": [{"proceedsBeforeExpenses.total":{"order":"desc"}}] } ``` ### How can I determine the per-share price an offering was sold at to the public? Search the `/form-s1-424b4` endpoint and read the per-share value on the public offering price object. The numeric per-share price is stored as `publicOfferingPrice.perShare`, for example `18` for an offering priced at $18.00 a share, and the formatted string is in `publicOfferingPrice.perShareText`, for example `$18.00`. The `perShareText` field is worth checking because it carries the currency symbol — most offerings are priced in US dollars, but in rare cases the price is in another currency, which `perShareText` makes explicit (for example `€10.00`). Per-share pricing is generally present on finalized 424B4 prospectuses and often absent on preliminary S-1 filings, so restrict the search to a `formType` of `424B4` when you need a populated price. ```json { "query": "formType:\"424B4\" AND publicOfferingPrice.perShare:>0", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How do I handle the fact that early-stage registration statements often lack pricing while final prospectuses include it? When searching the `/form-s1-424b4` endpoint, treat the pricing objects — `publicOfferingPrice`, `underwritingDiscount`, and `proceedsBeforeExpenses` — as optional on early-stage filings. Original Form S-1 registration statements are frequently filed before a deal is priced, so these objects are commonly empty, while final 424B4 prospectuses typically carry complete per-share and total figures. To work only with offerings that have confirmed pricing, filter the form type (`formType`) to `424B4`, or require a numeric condition on a pricing field such as `publicOfferingPrice.total` being greater than `0`, which excludes filings where the field is absent. If you need the full population including unpriced registration statements, search without a pricing filter and handle empty `publicOfferingPrice` objects in your own processing. ```json { "query": "formType:\"424B4\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I track how the number of underwriters or named law firms changes between an original filing and its amendments? Search the `/form-s1-424b4` endpoint and retrieve all of one company's filings by filtering on its `cik`, then compare the `underwriters` and `lawFirms` arrays across the different `formType` values. The original `S-1` registration statement is often filed before underwriters are confirmed, so its `underwriters` array may be empty or short, while later `S-1/A` amendments add the underwriter names (`underwriters.name`) as they become known. The `lawFirms` array can similarly grow across amendments. Sort the company's filings ascending by `filedAt` to see them in chronological order, then compare the length and contents of `underwriters` and `lawFirms` from the `S-1` through each `S-1/A`. The difference in array entries between successive filings shows which deal participants were added or changed during the amendment process. ```json { "query": "cik:1318605", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"asc"}}] } ``` ### How do I retrieve more than 50 offering filings for a broad search and page through all the results? The `/form-s1-424b4` endpoint returns at most 50 items per search, controlled by the `size` parameter, which defaults to 50 and cannot be set higher. To collect more than 50 results, page through them with the `from` parameter, which sets the starting offset: request the first page with `from` at `0`, then `50`, then `100`, and so on, advancing by the page size each time until no further results come back. The `total.value` field in the response tells you how many filings match the search overall, so you know how many pages to retrieve. The `from` offset can go up to 10,000, which is also the maximum number of results a single search will return. ```json { "query": "formType:\"424B4\"", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ### How can I break a search that returns over 10,000 offerings into smaller pieces so I can collect every result? The `/form-s1-424b4` endpoint returns at most 10,000 results for any one search, so a query whose `total.value` reaches or exceeds 10,000 cannot be fully paged through as a single search. To collect every result, split the search into smaller windows using the filing date (`filedAt`) and process each window separately. A practical approach is to constrain `filedAt` to one month or one year at a time — for example restrict `filedAt` to fall between `2023-01-01` and `2023-01-31`, page through that month by advancing `from` in steps of 50 until exhausted, then repeat for the next month. Choose a window small enough that each slice stays under the 10,000-result cap, and iterate across all windows to cover the full search universe. ```json { "query": "filedAt:[2023-01-01 TO 2023-01-31]", "from": 0, "size": 50, "sort": [{"filedAt":{"order":"desc"}}] } ``` ## References For more information about Form S-1 and Form 424B4 filings visit the SEC websites here: - [Form S-1 General Guidelines](https://www.sec.gov/files/forms-1.pdf) - [Questions and Answers about Regulation S-K](https://www.sec.gov/divisions/corpfin/guidance/regs-kinterp.htm) ### Regulations - [§ 230.405 Definitions of terms.](https://www.ecfr.gov/current/title-17/chapter-II/part-230/subject-group-ECFR3ba3c08ffc29ca2/section-230.405) - [§ 230.415 Delayed or continuous offering and sale of securities.](https://www.ecfr.gov/current/title-17/chapter-II/part-230/subject-group-ECFR3ba3c08ffc29ca2/section-230.415) - [§ 230.424: Filing of Prospectuses, Number of Copies](https://www.ecfr.gov/current/title-17/chapter-II/part-230/subject-group-ECFRb0116042526d15d/section-230.424) - [§ 230.430 Prospectus for use prior to effective date.](https://www.ecfr.gov/current/title-17/chapter-II/part-230/subject-group-ECFRb0116042526d15d/section-230.430) - [§ 230.462 Immediate effectiveness of certain registration statements and post-effective amendments.](https://www.ecfr.gov/current/title-17/chapter-II/part-230/subject-group-ECFRbb835bc991fe974/section-230.462) - [§ 239.11 Form S-1, registration statement under the Securities Act of 1933.](https://www.ecfr.gov/current/title-17/chapter-II/part-239/subpart-A/section-239.11) - [Regulation S-K](https://www.ecfr.gov/current/title-17/chapter-II/part-229) - [Regulation S-X](https://www.ecfr.gov/current/title-17/chapter-II/part-210) - [Securities Act of 1933, Section 5](https://www.law.cornell.edu/wex/section_5) ### Research Papers - [Growth Capital-backed IPOs](https://onlinelibrary.wiley.com/doi/abs/10.1111/fire.12075) - [The Seven Percent Solution](https://site.warrington.ufl.edu/ritter/files/2016/01/The-Seven-Percent-Solution-2000-06.pdf) - [Grandstanding, certification and the underpricing of venture capital backed IPOs](https://www.sciencedirect.com/science/article/abs/pii/S0304405X04000339) - [Why Do Firms Switch Underwriters?](https://www.sciencedirect.com/science/article/abs/pii/S0304405X01000459) - [Incentives to Innovate and the Decision to Go Public or Private](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1568268) - [How much prestige is enough? Assessing the value of multiple types of high-status affiliates for young firms](https://www.sciencedirect.com/science/article/abs/pii/S0883902609000056) - [Equilibrium in the Initial Public Offerings Market](https://www.annualreviews.org/content/journals/10.1146/annurev-financial-102710-144845) - [Strategic IPO Underpricing, Information Momentum, and Lockup Expiration Selling](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=266956) - [Why Has IPO Underpricing Changed over Time?](https://www.jstor.org/stable/3666262) - [The underpricing of initial public offerings and the partial adjustment phenomenon](https://www.sciencedirect.com/science/article/abs/pii/0304405X93900198) - [Initial Public Offerings and Underwriter Reputation](https://www.jstor.org/stable/2328714) - [Investment banking, reputation, and the underpricing of initial public offerings](https://www.sciencedirect.com/science/article/pii/0304405X86900553) - [Post-IPO Employment and Revenue Growth for U.S. IPOs, June 1996-2010](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2063829)