Stock Corporate Events Calendar Scraper
Pricing
from $11.34 / 1,000 corporate events
Stock Corporate Events Calendar Scraper
Scrape upcoming earnings, dividends, IPOs and stock splits in one unified calendar. Filter by date range, symbol and event type. Optional live price snapshot and AI event preview. Export to JSON, CSV or Excel.
Pricing
from $11.34 / 1,000 corporate events
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Stock Corporate Events Calendar Scraper
Here is one real result, with every field the actor returns (an upcoming earnings event with the optional price snapshot and AI preview switched on):
{"eventType": "earnings","symbol": "PDD","companyName": "PDD Holdings Inc.","eventDate": "2026-08-24","reportTime": "Pre-Market","epsForecast": 2.69,"numberOfEstimates": 1,"lastYearEps": 2.9,"lastYearReportDate": "2025-08-25","fiscalQuarterEnding": "Jun/2026","marketCap": 128390360872,"epsSurprisePct": null,"exDividendDate": null,"paymentDate": null,"recordDate": null,"dividendRate": null,"annualDividend": null,"dividendYieldPct": null,"announcementDate": null,"exchange": null,"priceRange": null,"price": null,"sharesOffered": null,"offerAmount": null,"expectedDate": null,"dealStatus": null,"ratio": null,"effectiveDate": null,"snapshotPrice": 90.1,"snapshotNetChange": 0.58,"snapshotPercentChange": 0.65,"snapshotVolume": 49574.915408,"snapshotWeek52High": 139.41,"snapshotWeek52Low": 71.94,"snapshotMarketStatus": "Pre-Market","aiContext": "PDD Holdings Inc. is set to report its earnings on August 24, 2026.","aiYoyEpsGrowthPct": -7.24,"aiSetupNote": "Investors should monitor the earnings report closely for any guidance on future performance.","aiRiskFlags": ["Declining EPS compared to last year","Market volatility","High market cap may lead to slower growth","Pre-market report timing"],"aiSummary": "The upcoming earnings report may reveal challenges as EPS is forecasted to decline year-over-year.","source": "nasdaq.com","observedAt": "2026-08-21T12:29:00.768Z","error": null}
The most complete forward-looking corporate events calendar scraper available. It covers all four event types (upcoming earnings, dividends, IPOs and stock splits) in one unified schema, supports a multi-day date range and a symbol filter, and adds an optional live price snapshot and AI event preview, so you get a single calendar instead of four separate tools.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- Use cases
- FAQ and troubleshooting
What it does
The actor pulls the upcoming corporate events calendar for US listed companies and returns one normalized record per event. Pick any combination of four event types:
- Earnings (per day): the reporting company, report time (pre-market, after-hours or TBD), consensus EPS forecast, number of estimates, last year's EPS and report date, fiscal quarter ending and market cap.
- Dividends (per day): ex-dividend date, payment date, record date, cash dividend per share, indicated annual dividend and announcement date.
- IPOs (per month): priced, upcoming and filed deals with proposed ticker, exchange, price or price range, shares offered, offer amount, expected or priced date and deal status.
- Stock splits (per day): the split ratio, effective date and announcement date.
You choose a date range (the actor loops each day for earnings, dividends and splits, and each month for IPOs), an optional list of ticker symbols to keep, and whether to add a live price snapshot or an AI preview per event. Dates are normalized to YYYY-MM-DD, money and counts are parsed to plain numbers, and missing values are returned as null. Every event type shares one flat schema so you can export a mixed calendar straight to CSV or Excel.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 upcoming earnings events over a three-day window.
{"eventTypes": ["earnings"],"dateFrom": "2026-08-24","dateTo": "2026-08-26","maxResults": 10}
Leave dateFrom and dateTo empty to use the day the run starts. Add more event types to build a combined calendar:
{"eventTypes": ["earnings", "dividends", "ipos", "splits"],"dateFrom": "2026-08-24","dateTo": "2026-08-28","symbols": ["AAPL", "MSFT", "NVDA"],"maxResults": 50}
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypes | array | no | ["earnings"] | Which event types to collect. Any subset of earnings, dividends, ipos, splits. |
dateFrom | string | no | run day | Start date YYYY-MM-DD. Defaults to the day the run starts. |
dateTo | string | no | dateFrom | End date YYYY-MM-DD, inclusive. The daily calendars are capped at 31 days per run; for IPOs the actor covers each month spanned. |
symbols | array | no | (all) | Optional ticker symbols to keep, for example AAPL, MSFT. Case-insensitive, applied client-side. Empty returns every event. |
includePriceSnapshot | boolean | no | false | Paid add-on. Attach a live quote (last price, net change, percent change, volume, 52-week range) per event and compute dividend yield for dividend rows. Charged only when a real quote is returned. Disabled on free plans. |
aiEventPreview | boolean | no | false | Paid add-on. Add an AI context line, year-over-year EPS growth, setup note, risk flags and one-line summary per event. Charged only when a usable preview is returned. Disabled on free plans. |
maxResults | integer | no | 10 | Maximum events to collect across the whole run. Free Apify plans are capped at 10. |
Output reference
One dataset item per corporate event. Every record uses the same flat schema; fields that do not apply to an event type are null.
| Field | Type | Description |
|---|---|---|
eventType | string | earnings, dividend, ipo or split. |
symbol | string | Ticker symbol (proposed ticker for IPOs). |
companyName | string | Company name. |
eventDate | string | Key date of the event: report date (earnings), ex-dividend date (dividend), priced or expected date (ipo), effective date (split). |
reportTime | string | Earnings report time: Pre-Market, After-Hours or TBD. |
epsForecast | number | Consensus EPS forecast for the reporting quarter. |
numberOfEstimates | number | Number of analyst estimates behind the forecast. |
lastYearEps | number | Reported EPS for the same quarter last year. |
lastYearReportDate | string | Report date for the same quarter last year. |
fiscalQuarterEnding | string | Fiscal quarter being reported, for example Jul/2026. |
marketCap | number | Market capitalization in USD (earnings). |
epsSurprisePct | number | EPS surprise percent when available. |
exDividendDate | string | Ex-dividend date (dividend). |
paymentDate | string | Dividend payment date. |
recordDate | string | Dividend record date. |
dividendRate | number | Cash dividend per share for this event. |
annualDividend | number | Indicated annual dividend per share. |
dividendYieldPct | number | Annual dividend yield percent, computed when a price snapshot is available. |
announcementDate | string | Announcement date (dividend and split). |
exchange | string | Proposed listing exchange (ipo). |
priceRange | string | Proposed share price or range as reported (ipo). |
price | number | Proposed or priced share price in USD (ipo). |
sharesOffered | number | Number of shares offered (ipo). |
offerAmount | number | Dollar value of shares offered in USD (ipo). |
expectedDate | string | Expected or actual pricing date (ipo). |
dealStatus | string | IPO stage: priced, upcoming or filed. |
ratio | string | Split ratio, for example 4 : 1 (split). |
effectiveDate | string | Split effective or ex date (split). |
snapshotPrice | number | Last traded price (price snapshot add-on). |
snapshotNetChange | number | Net price change on the day (price snapshot add-on). |
snapshotPercentChange | number | Percent price change on the day (price snapshot add-on). |
snapshotVolume | number | Trading volume (price snapshot add-on). |
snapshotWeek52High | number | 52-week high price (price snapshot add-on). |
snapshotWeek52Low | number | 52-week low price (price snapshot add-on). |
snapshotMarketStatus | string | Market status at snapshot time (price snapshot add-on). |
aiContext | string | AI plain-English description of the event (AI add-on). |
aiYoyEpsGrowthPct | number | AI year-over-year EPS growth percent for earnings (AI add-on). |
aiSetupNote | string | AI note on what to watch (AI add-on). |
aiRiskFlags | string[] | AI risk flags for the event (AI add-on). |
aiSummary | string | AI one-line summary (AI add-on). |
source | string | Data source. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run a single item with a populated error field is written instead. |
Example output record
A real dividend record from a live run (input {"eventTypes":["dividends"],"dateFrom":"2026-08-24","dateTo":"2026-08-28"}):
{"eventType": "dividend","symbol": "ADEA","companyName": "Adeia Inc. Common Stock","eventDate": "2026-08-24","exDividendDate": "2026-08-24","paymentDate": "2026-09-14","recordDate": "2026-08-24","dividendRate": 0.05,"annualDividend": 0.2,"announcementDate": "2026-07-23","source": "nasdaq.com","observedAt": "2026-08-21T12:28:09.348Z"}
A real priced IPO record (input {"eventTypes":["ipos"],"dateFrom":"2026-08-01","dateTo":"2026-08-31"}):
{"eventType": "ipo","symbol": "LYNX","companyName": "Lyntris Inc.","eventDate": "2026-08-19","exchange": "NYSE","priceRange": "17.50","price": 17.5,"sharesOffered": 17000000,"offerAmount": 297500000,"expectedDate": "2026-08-19","dealStatus": "priced","source": "nasdaq.com","observedAt": "2026-08-21T12:29:41.434Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stock-corporate-events-calendar-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"eventTypes":["earnings"],"dateFrom":"2026-08-24","dateTo":"2026-08-26","maxResults":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stock-corporate-events-calendar-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"eventTypes":["dividends","splits"],"dateFrom":"2026-08-24","dateTo":"2026-08-31"}'
Apify CLI:
apify call scrapers_lat/stock-corporate-events-calendar-scraper \--input '{"eventTypes":["ipos"],"dateFrom":"2026-08-01","dateTo":"2026-08-31"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
This actor is billed pay per result on Apify, with a tiered discount that grows with your Apify plan.
result(primary): charged once per corporate event returned (one earnings, dividend, IPO or split record).price_snapshot(add-on, off by default, paying plans only): charged once per event when a live quote is fetched for the symbol and attached. Symbols with no live quote (for example an IPO that is not trading yet) are skipped and never charged.ai_event_preview(add-on, off by default, paying plans only): charged once per event only when the AI returns a usable preview. A missing key or an empty model response is never charged.apify-actor-start: a small one-time run initialization charge.
More on limits:
- No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty calendar days cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further results. - Free Apify plans are capped at 10 results per run, and the paid add-ons are disabled on free plans.
Use cases
- Earnings-season trading. Build a watchlist of upcoming reports with consensus EPS forecasts, report timing and year-over-year context to plan entries and exits around earnings.
- Earnings calendar monitoring. Track which of your holdings or a whole sector report on a given day, pre-market or after-hours, and export the schedule to a spreadsheet.
- Dividend capture and income investing. Pull ex-dividend, record and payment dates with the cash dividend and annual dividend, and compute dividend yield from a live price snapshot.
- IPO tracking. Follow priced, upcoming and filed deals with proposed price, shares offered and offer amount to spot new listings early.
- Stock-split alerts. Watch effective dates and split ratios so downstream models and dashboards adjust for splits on time.
- Fintech app data. Feed a unified events feed into a brokerage app, newsletter or alerting product without stitching four different calendars together.
- Quant event studies. Assemble clean, dated corporate-event panels for backtesting earnings drift, dividend capture and split effects.
FAQ and troubleshooting
A run returned 0 records. Why?
The calendar for that date range and event type was empty, or your symbols filter matched nothing. Widen the date range, add more event types, or remove the symbol filter. Zero-result runs are not charged.
How far ahead can I look? As far as the source publishes the calendar. Earnings, dividends and splits are queried day by day (capped at 31 days per run); IPOs are queried by month. For a longer horizon, run several date ranges.
Which date is eventDate?
The most relevant date for that event: report date for earnings, ex-dividend date for dividends, priced or expected date for IPOs, and effective date for splits. Type-specific dates are also returned in their own fields.
Why is dividendYieldPct null?
Yield is computed only when the live price snapshot add-on is enabled and a real quote is available. Without a price the actor does not guess a yield.
Can I get all four event types in one run?
Yes. Pass eventTypes: ["earnings","dividends","ipos","splits"]. Every event shares one flat schema, so the mixed output exports cleanly to CSV or Excel.
Is this an official exchange tool? No. This actor is independent and has no affiliation with Nasdaq or any exchange. It reads only publicly available calendar data. Use it in accordance with the source terms of service.
Related scrapers
- Finviz Stocks Scraper: stock fundamentals, screener, insider trades and news.
- Yahoo Finance Stock & Crypto Prices Scraper: live quotes for stocks and crypto.
- SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper: SEC filings by ticker or CIK.
- SEC EDGAR Financials Revenue & Assets Scraper: structured company financials.
- Coingecko Crypto Prices & Market Cap Scraper: crypto prices and market data.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Nasdaq or any stock exchange. Accesses only publicly available corporate calendar data. Use in accordance with the source terms of service.
