Get Stock Splits Calendar
Returns a cross-ticker feed of upcoming and historical forward and reverse stock splits across all tickers listed on NASDAQ, NYSE, AMEX, and major international exchanges. Each record includes the split date, structured split ratio, split factor, pre/post-split shares and prices, currency, and a flag indicating reverse splits. Results are sorted by split date in descending order by default.
Use the date_start and date_end parameters to focus on a specific window. Set order=ASC to walk the calendar chronologically, or raise the limit (up to 10,000) to pull large historical batches in a single request. Add format=excel for tab-separated values compatible with Google Sheets IMPORTDATA() and Excel.
Note: Future-dated splits are returned, but
pre_split_shares,post_split_shares,pre_split_price, andpost_split_pricearenulluntil the split takes effect. Onlysplit_ratioandsplit_factorare populated ahead of the effective date.
https://api.roic.ai/v2/stock-splitsParameters
Query Parameters
apikeystringrequiredYour API key for authentication.
limitnumberoptionalMaximum number of split records to return.
100Max: 10000date_startstringoptionalFilter results starting from this date (YYYY-MM-DD format).
2020-01-01date_endstringoptionalFilter results ending at this date (YYYY-MM-DD format).
2024-12-31orderstringoptionalSort order for time-series data.
DESCValues: ASC, DESCformatstringoptionalResponse format. Use `json` for JSON (default) or `excel` for tab-separated values compatible with Google Sheets and Excel.
jsonValues: json, excelCode Examples
curl "https://api.roic.ai/v2/stock-splits?apikey=YOUR_API_KEY"Response
[
{
"id": "split_fjv9pLfwcFfNTPXzGSuqw",
"symbol": "CLA.L",
"split_date": "2026-07-23",
"split_ratio": {
"to": 1,
"from": 20
},
"split_factor": 0.05,
"is_reverse_split": true,
"pre_split_shares": 500000000,
"post_split_shares": 25000000,
"pre_split_price": null,
"post_split_price": null,
"currency": "gbp"
},
{
"id": "split_JcuYgGaeU64UjZwSOTAGy",
"symbol": "AHN.AX",
"split_date": "2026-07-15",
"split_ratio": {
"to": 1,
"from": 20
},
"split_factor": 0.05,
"is_reverse_split": true,
"pre_split_shares": 800000000,
"post_split_shares": 40000000,
"pre_split_price": null,
"post_split_price": null,
"currency": "aud"
}
]Field Dictionary
| Field | Description |
|---|---|
id | Unique identifier for the split record |
symbol | Ticker symbol |
split_date | Effective split date (YYYY-MM-DD) |
split_ratio | Structured split ratio as { from: number, to: number } |
split_factor | Net multiplier applied to share counts (e.g., 4 for a 4-for-1 split) |
is_reverse_split | true when the split reduced total shares outstanding |
pre_split_shares | Shares outstanding before the split |
post_split_shares | Shares outstanding after the split |
pre_split_price | Reference price before the split |
post_split_price | Reference price after the split |
currency | Lowercase ISO currency code of the price fields |
Use Cases
- Event studies. Pull a date window of splits across all tickers to study average price behavior around the effective date.
- Backtest preparation. Build a master list of every split in a historical period and pre-adjust raw OHLCV data before running strategies.
- Brokerage and PMS reconciliation. Detect splits between portfolio snapshots to keep share counts and cost basis in sync.
- Reverse stock split monitoring. Filter
is_reverse_splitto surface distressed or low-priced stocks that consolidated shares to maintain NASDAQ or NYSE listing requirements. - Quantitative screens. Use recent forward splits as a signal for momentum, shareholder-friendly capital actions, or expected retail-investor interest.
- Research dashboards. Display a recent-splits widget on a financial dashboard, fintech app, or news site.
- AI-powered corporate actions analysis. Feed structured split events into language models for automated weekly briefings.
- Spreadsheet imports. Use
format=excelwith Google SheetsIMPORTDATA()to pull the calendar into a live model.
Frequently Asked Questions
Are future-dated splits included? Yes. Future splits are returned with split_ratio and split_factor populated, but pre_split_shares, post_split_shares, pre_split_price, and post_split_price are null until the split takes effect.
How do I filter to reverse stock splits only? The API returns all splits; filter client-side where is_reverse_split is true or split_factor is below 1. Server-side reverse-only filtering is on the roadmap.
Can I export the calendar to Google Sheets or Excel? Yes. Add format=excel to get tab-separated values that work with Google Sheets IMPORTDATA() and Excel's data import.
What is the maximum number of splits I can return per request? Up to 10,000 records via the limit parameter. Default is 100.
Related Endpoints
- By Ticker. Get the full split history for a single ticker instead of a cross-ticker feed.
- Historical Stock Prices. Pair calendar splits with daily OHLCV data to back-adjust prices.
- Company Profile. Get company details for any ticker that appears in the calendar.
- Company News. Pull articles around the split announcement and effective date.
- List Tickers. Browse available tickers before filtering the splits calendar.