IPO API
The IPO API provides access to past, current, and upcoming Initial Public Offerings (IPOs) for U.S. companies. Filter by ticker, CIK, date range, status, deal type, exchange, and industry.
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
https://api.api-ninjas.com/v1/ipocalendar
Returns a list of IPO records matching your filters. With no parameters, returns the current IPO calendar — companies in registration plus IPOs listed in the last 90 days, most recent first. 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. Free-tier users cannot query earlier than 24 months ago.
date_endoptionalRange end in YYYY-MM-DD format.
date_fieldoptionalWhich date the range applies to:
listing_date(default) orfiling_date.statusoptionalComma-separated list of statuses. Values:
filed,amended,priced,listed,withdrawn.deal_typeoptionalComma-separated list of deal types. Values:
ipo,spac_ipo,direct_listing.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
The /v1/ipocalendar endpoint returns a JSON array of IPO records, each containing the following fields, or an error if the request is unsuccessful. Fields marked Premium only return an upgrade prompt for free-tier requests.
tickerCompany ticker symbol.
nameIssuer legal name.
cikSEC Central Index Key (zero-padded to 10 digits).
filing_dateDate the initial S-1 was filed (YYYY-MM-DD).
amended_datePremium onlyDate of the most recent S-1/A amendment.
priced_dateDate the final offer price was set (424B4 filing date).
listing_dateFirst day of trading.
lock_up_expiry_datePremium onlyInsider lock-up expiration date.
lock_up_daysPremium onlyLock-up period in days.
lock_up_methodPremium onlySource of the lock-up data:
parsed_from_prospectusorcomputed_default_180d.statusIPO lifecycle stage: one of
filed,amended,priced,listed,withdrawn.deal_typeType of deal:
ipo,spac_ipo, ordirect_listing.exchangeNASDAQ,NYSE, orAMEX.micPremium onlyISO 10383 Market Identifier Code.
state_locationPremium onlyU.S. state of incorporation or HQ.
sic_codeSEC Standard Industrial Classification code.
industryIndustry name derived from SIC code.
currencyCurrency code (always
USDat launch).greenshoe_sharesPremium onlyOver-allotment option shares granted to underwriters.
last_yr_revenuePremium onlyMost recent annual revenue from the S-1, in USD.
last_yr_net_incomePremium onlyMost recent annual net income from the S-1, in USD.
last_yr_fiscal_yearPremium onlyFiscal year corresponding to the revenue/income figures.
sec_filing_urlLink to the filing index on SEC EDGAR.
prospectus_urlPremium onlyDirect deep link to the final prospectus (424B4).
form_typeMost recent governing form:
S-1,S-1/A,424B4, etc.lead_underwritersPremium onlyArray of lead underwriter / bookrunner names.
data_sourceHow the record was created:
sec_edgarormanual.last_updatedUnix timestamp (UTC) of the last record refresh.
Live Demo
Get a free API key to get started — no credit card required.
Code Examples
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?
It covers past, current, and upcoming Initial Public Offerings for U.S. companies, tracking the full lifecycle through thestatusfield (filed,amended,priced,listed,withdrawn) along with key dates likefiling_date,priced_date, andlisting_date. For the full text of company filings, 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 the current IPO calendar: companies in registration plus IPOs listed in the last 90 days. 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. 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.
Explore API integration use cases for recommended APIs and workflow examples.