# Financial Calendar Scraper (`sheshinmcfly/financial-calendar-scraper`) Actor

Scrape the US stock market calendar from Nasdaq: upcoming earnings with EPS forecasts and market cap, dividends with ex-dates and payment dates, stock splits, and IPOs (priced, upcoming, filed). Filter by date range or ticker. No login or API key needed.

- **URL**: https://apify.com/sheshinmcfly/financial-calendar-scraper.md
- **Developed by:** [Sheshinmcfly](https://apify.com/sheshinmcfly) (community)
- **Categories:** News, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Financial Calendar Scraper

Track the entire US stock market calendar in one Actor. It pulls **upcoming earnings**, **dividends**, **stock splits** and **IPOs** straight from the Nasdaq calendar API as clean, structured JSON — no login, no API key, no paid data provider. Pick a date range, choose which calendars you want, optionally filter by ticker, and get a tidy table you can push into a spreadsheet, database, dashboard or trading bot.

### What data you get

For every calendar day in your range (and every month for IPOs), the Actor returns one row per company with fields such as:

- **Earnings** — symbol, company name, reporting time, consensus EPS forecast, number of estimates, market cap, fiscal quarter ending, last year's EPS and report date.
- **Dividends** — symbol, company, dividend rate, indicated annual dividend, ex-dividend date, payment date, record date, announcement date.
- **Splits** — symbol, company, split ratio (e.g. `4:1`), execution date.
- **IPOs** — proposed ticker, company, exchange, share price, shares offered, dollar value of the offer, and status (priced, upcoming, filed, withdrawn).

Numeric fields like market cap and deal value are parsed to real numbers, while the original formatted text is kept too where useful.

### How to use it

1. Open the Actor and set **Calendars to extract** (earnings, dividends, splits, IPOs — any combination).
2. Set **Date from** and **Date to** (`YYYY-MM-DD`). Leave them empty to default to today.
3. (Optional) Add a **Ticker filter** to keep only the symbols you care about.
4. Click **Start**. Results appear in the dataset and can be exported to JSON, CSV, Excel, or pulled via the API.

### Use cases

- **Traders & investors** — never miss an earnings date, ex-dividend date or split for the tickers you follow.
- **Dividend income tracking** — build a payment-date and ex-date schedule across your watchlist.
- **IPO monitoring** — track newly priced, upcoming and filed IPOs for deal-flow research.
- **Fintech apps & dashboards** — feed a clean calendar feed into your own product without scraping the site yourself.
- **Quant & backtesting** — collect historical earnings/dividend dates to align events with price data.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `calendars` | array | Which calendars to scrape: `earnings`, `dividends`, `splits`, `ipos`. Default `["earnings"]`. |
| `dateFrom` | string | Start date `YYYY-MM-DD` (inclusive). Defaults to today (UTC). |
| `dateTo` | string | End date `YYYY-MM-DD` (inclusive). Defaults to `dateFrom`. Span capped at 92 days. |
| `symbols` | array | Optional ticker filter, e.g. `["AAPL","MSFT"]`. Empty = all companies. |
| `proxyConfiguration` | object | Apify proxy settings. Datacenter works; switch to Residential only if rate-limited. |

### Output

Each dataset item is one calendar entry. Example (earnings):

```json
{
  "calendarType": "earnings",
  "date": "2026-06-16",
  "symbol": "CCEP",
  "companyName": "Coca-Cola Europacific Partners plc",
  "earningsTime": null,
  "epsForecast": null,
  "marketCap": 44494108343,
  "marketCapText": "$44,494,108,343",
  "fiscalQuarterEnding": "Mar/2026",
  "numberOfEstimates": 2,
  "scrapedAt": "2026-06-16T12:00:00.000Z"
}
````

Dividends, splits and IPO rows share the same `calendarType`/`symbol`/`companyName` shape with their own fields (ex-date, ratio, IPO status, etc.).

### Performance & cost

The Actor calls a lightweight JSON API — no headless browser — so runs are fast and cheap. A single day of all four calendars is a handful of requests and finishes in seconds. Cost scales with the number of results, billed per dataset item (see pricing). Wide date ranges simply mean more days fetched.

### Pricing

This Actor uses **pay per result**: you are charged only for the calendar entries it returns.

| What you pay for | Price |
|------------------|-------|
| Per result (one calendar entry) | $0.005 |

No monthly rental and no platform fees beyond your Apify plan. Use the optional ticker filter or a tight date range to control how many results you get.

### Related actors

Part of a financial-data toolkit — combine this calendar with prices, fundamentals and on-chain data:

- **[SEC EDGAR Scraper](https://apify.com/sheshinmcfly/sec-edgar-scraper)** — company filings, Form 4 insider trades, XBRL financials and 13F fund holdings.
- **[Dividend & ETF Scraper](https://apify.com/sheshinmcfly/dividend-etf-scraper)** — full dividend history and ETF holdings, expense ratio and yield by ticker.
- **[Yahoo Finance Scraper](https://apify.com/sheshinmcfly/yahoo-finance-scraper)** — real-time quotes, fundamentals and historical OHLCV by ticker.
- **[FinViz Stock Screener](https://apify.com/sheshinmcfly/finviz-stock-screener)** — top gainers, losers, valuation, technicals and ~50 fields per stock.
- **[Etherscan Top Holders](https://apify.com/sheshinmcfly/etherscan-top-holders)** — top token holders and balances on Ethereum.
- **[Numbeo Cost of Living Scraper](https://apify.com/sheshinmcfly/numbeo-cost-of-living-scraper)** — cost-of-living and economic indicators by city and country.

### Keywords

earnings calendar, dividend calendar, stock splits, IPO calendar, Nasdaq scraper, US stock market, EPS forecast, ex-dividend date, earnings dates API, financial calendar, dividend tracker, IPO tracker, stock market data, NYSE earnings.

### Disclaimer

This Actor collects publicly available financial calendar data for informational purposes only. It does not require a login and accesses no private or personal data. The output is **not** financial advice — always verify dates and figures with official sources before making investment decisions. Respect the data source's terms and use the collected data responsibly and in compliance with applicable laws.

# Actor input Schema

## `calendars` (type: `array`):

Which financial calendars to scrape. Earnings, dividends and splits are per-day; the IPO calendar is per-month.

## `dateFrom` (type: `string`):

Start date in YYYY-MM-DD format. Defaults to today (UTC). For the IPO calendar only the month is used.

## `dateTo` (type: `string`):

End date in YYYY-MM-DD format. Defaults to the start date. The span is capped at 92 days per run.

## `symbols` (type: `array`):

If set, only rows for these ticker symbols are kept (e.g. AAPL, MSFT). Leave empty to return every company on each calendar day.

## `proxyConfiguration` (type: `object`):

Apify datacenter proxies work for the Nasdaq calendar API. Switch to Residential only if you hit rate limits.

## Actor input object example

```json
{
  "calendars": [
    "earnings"
  ],
  "dateFrom": "2026-06-16",
  "dateTo": "2026-06-20",
  "symbols": [
    "AAPL",
    "MSFT",
    "NVDA"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

All extracted calendar entries stored in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "dateFrom": "2026-06-16",
    "dateTo": "2026-06-20",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("sheshinmcfly/financial-calendar-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "dateFrom": "2026-06-16",
    "dateTo": "2026-06-20",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("sheshinmcfly/financial-calendar-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "dateFrom": "2026-06-16",
  "dateTo": "2026-06-20",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call sheshinmcfly/financial-calendar-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sheshinmcfly/financial-calendar-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Financial Calendar Scraper",
        "description": "Scrape the US stock market calendar from Nasdaq: upcoming earnings with EPS forecasts and market cap, dividends with ex-dates and payment dates, stock splits, and IPOs (priced, upcoming, filed). Filter by date range or ticker. No login or API key needed.",
        "version": "0.1",
        "x-build-id": "6t8Yklxv504MPbUjJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sheshinmcfly~financial-calendar-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sheshinmcfly-financial-calendar-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sheshinmcfly~financial-calendar-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sheshinmcfly-financial-calendar-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sheshinmcfly~financial-calendar-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sheshinmcfly-financial-calendar-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "calendars": {
                        "title": "Calendars to extract",
                        "type": "array",
                        "description": "Which financial calendars to scrape. Earnings, dividends and splits are per-day; the IPO calendar is per-month.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "earnings",
                                "dividends",
                                "splits",
                                "ipos"
                            ],
                            "enumTitles": [
                                "Earnings calendar (upcoming earnings, EPS forecast, market cap)",
                                "Dividends calendar (ex-date, payment date, rate, yield)",
                                "Stock splits calendar (ratio, execution date)",
                                "IPO calendar (priced, upcoming, filed, withdrawn)"
                            ]
                        },
                        "default": [
                            "earnings"
                        ]
                    },
                    "dateFrom": {
                        "title": "Date from (inclusive)",
                        "type": "string",
                        "description": "Start date in YYYY-MM-DD format. Defaults to today (UTC). For the IPO calendar only the month is used."
                    },
                    "dateTo": {
                        "title": "Date to (inclusive)",
                        "type": "string",
                        "description": "End date in YYYY-MM-DD format. Defaults to the start date. The span is capped at 92 days per run."
                    },
                    "symbols": {
                        "title": "Ticker filter (optional)",
                        "type": "array",
                        "description": "If set, only rows for these ticker symbols are kept (e.g. AAPL, MSFT). Leave empty to return every company on each calendar day.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify datacenter proxies work for the Nasdaq calendar API. Switch to Residential only if you hit rate limits.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
