IPO API
The IPO API provides access to past, current, and upcoming Initial Public Offerings (IPOs) for U.S. companies, sourced directly from SEC EDGAR. Filter by ticker, CIK, date range, status, deal type, exchange, industry, and offer size.
From 6,661 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 290ms | 321ms | 341ms | 692ms | 1052ms |
Didn't find what you were looking for? Suggest an improvement
/v1/ipocalendar GET
https://api.api-ninjas.com/v1/ipocalendar
Returns a list of IPO records matching your filters. With no parameters, returns IPOs with listing dates between today and 30 days from now. Up to 50 records are returned per request by default (configurable via limit, max 1000).
Parameters
All parameters are optional.
tickeroptionalCompany ticker symbol (e.g.,
RDDT). Returns IPO records for that specific company.cikoptionalSEC Central Index Key (e.g.,
0001713445or1713445). Numeric only; padding is handled server-side.dateoptionalSingle date in YYYY-MM-DD format. Cannot be combined with
date_startordate_end.date_startoptionalRange start in YYYY-MM-DD format. Defaults to today. Free-tier users cannot query earlier than 24 months ago.
date_endoptionalRange end in YYYY-MM-DD format. Defaults to today + 30 days.
date_fieldoptionalWhich date the range applies to:
listing_date(default) orfiling_date.statusoptionalComma-separated list of statuses. Values:
filed,amended,priced,listed,completed,withdrawn,postponed.deal_typeoptionalComma-separated list of deal types. Values:
ipo,direct_listing,spac_ipo,de_spac,secondary,follow_on.exchangeoptionalU.S. exchange code:
NASDAQ,NYSE, orAMEX.sic_codeoptionalSEC Standard Industrial Classification code (up to 4 digits). Filters by industry — e.g.,
2834for pharmaceuticals.limitoptionalMaximum results to return. Default
50, max1000.offsetoptionalNumber of results to skip for pagination. Default
0.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of IPO records, each containing the following fields, or an error if the request is unsuccessful. Fields marked premium return an upgrade prompt for free-tier requests.
tickerCompany ticker symbol. Null when not yet assigned (early filed stage).
nameIssuer legal name.
cikSEC Central Index Key (zero-padded to 10 digits).
filing_dateDate the initial S-1 was filed (YYYY-MM-DD).
amended_datepremiumDate of the most recent S-1/A amendment.
priced_dateDate the final offer price was set (424B4 filing date).
listing_dateFirst day of trading.
listing_date_verifiedtrueonce trading has begun (confirmed via 8-A filing);falsewhile the date is estimated.lock_up_expiry_datepremiumInsider lock-up expiration date.
lock_up_dayspremiumLock-up period in days.
lock_up_methodpremiumSource of the lock-up data:
parsed_from_prospectusorcomputed_default_180d.statusIPO lifecycle stage: one of
filed,amended,priced,listed,completed,withdrawn,postponed.deal_typeType of deal:
ipo,direct_listing,spac_ipo,de_spac,secondary, orfollow_on.exchangeNASDAQ,NYSE, orAMEX.micpremiumISO 10383 Market Identifier Code.
state_locationpremiumU.S. state of incorporation or HQ.
sic_codeSEC Standard Industrial Classification code.
industryIndustry name derived from SIC code.
currencyCurrency code (always
USDat launch).greenshoe_sharespremiumOver-allotment option shares granted to underwriters.
last_yr_revenuepremiumMost recent annual revenue from the S-1, in USD.
last_yr_net_incomepremiumMost recent annual net income from the S-1, in USD.
last_yr_fiscal_yearpremiumFiscal year corresponding to the revenue/income figures.
sec_filing_urlLink to the filing index on SEC EDGAR.
prospectus_urlpremiumDirect deep link to the final prospectus (424B4).
form_typeMost recent governing form:
S-1,S-1/A,424B4, etc.lead_underwriterspremiumArray of lead underwriter / bookrunner names.
data_sourceSource of the record:
sec_edgarormanual.last_updatedUnix timestamp (UTC) of the last record refresh.
Sample Request Live Demo!
Try our APIs in the API playground
Sign up for a free API key to get started — no credit card required.
https://api.api-ninjas.com/v1/ipocalendar?ticker=RDDTHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/ipocalendar?ticker=RDDT" \
-H "X-Api-Key: YOUR_API_KEY"If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.
Frequently Asked Questions
Can I use the IPO API for commercial purposes?
Yes, but you must have a premium subscription. Commercial use of the IPO API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.How do I get an API key and start using the IPO API?
Sign up for a free account to instantly get your API key, then pass it in theX-Api-Keyheader on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.What happens if I exceed my quota for the month?
Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.What happens if a request to the IPO API fails?
The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.What data and coverage does the IPO API provide, and where does it come from?
It covers past, current, and upcoming Initial Public Offerings for U.S. companies sourced directly from SEC EDGAR (indicated by adata_sourceofsec_edgar), tracking the full lifecycle through thestatusfield (filed,amended,priced,listed,completed,withdrawn,postponed) along with key dates likefiling_date,priced_date, andlisting_date. To pull the underlying filings yourself, see the SEC API.How do I look up the IPO for a specific company?
Pass either thetickerparameter (e.g.RDDT) or the SECcik(e.g.0001713445or1713445, since padding is handled server-side) to the/v1/ipocalendarendpoint. To pair this with post-listing trading data, see the Stock Price API or resolve identifiers with the Ticker API.How do I query IPOs over a date range, and which date does the range apply to?
Usedate_startanddate_end(both YYYY-MM-DD) to define a window, and setdate_fieldto eitherlisting_date(default) orfiling_dateto choose which date the range filters on; with no parameters the endpoint returns IPOs listing between today and 30 days out. Free-tier requests cannot query adate_startearlier than 24 months ago, so deeper history requires a paid plan, and you can page through large result sets withlimit(default 50, max 1000) andoffset.What does an IPO record include, and which fields require a premium plan?
Each record includes core fields such asname,exchange(NASDAQ,NYSE, orAMEX),deal_type,sic_code,industry,form_type, and asec_filing_url, plus alisting_date_verifiedflag that istrueonce trading begins (confirmed via an 8-A filing). Premium-gated fields likelock_up_expiry_date,lead_underwriters,greenshoe_shares, andlast_yr_revenuereturn an upgrade prompt on the free tier and require a paid plan.