# Dividends Calendar Data (investing.com) (`pintostudio/dividends-calendar-data-investing-com`) Actor

Scrape upcoming and historical dividend dates from Investing.com. Get ex-dividend and payment dates, dividend amount, yield, and dividend type, filterable by country and date range, exported as JSON, CSV, or Excel.

- **URL**: https://apify.com/pintostudio/dividends-calendar-data-investing-com.md
- **Developed by:** [Pinto Studio](https://apify.com/pintostudio) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Dividends Calendar Data (Investing.com)

Scrape the **corporate dividends calendar** straight from [Investing.com](https://www.investing.com/dividends-calendar/) — upcoming and historical dividend declarations for public companies worldwide, complete with ex-dividend date, payment date, dividend amount, dividend yield, and dividend type. No login, no API key, no browser automation to maintain on your side — just clean, structured JSON, CSV, or Excel you can plug straight into a dividend-income tracker, a research pipeline, or a portfolio dashboard.

### What this Actor does

Point it at a country and a date range and it returns one row per company declaring or paying a dividend in that window:

- Company name, full legal name, ticker symbol, and a direct link to its Investing.com profile
- **Ex-dividend date** — the first day the stock trades without the upcoming dividend
- **Payment date** — when the dividend is actually paid out
- **Dividend amount** per share, in the company's local currency
- **Dividend yield**, as a percentage
- **Dividend type** — Annual, Interim, Final, Quarterly, Monthly, Bonus, or Special
- The calendar date of the record

Every run also writes a small **run summary** (total events found, the distinct countries and dividend types seen) to the key-value store, so you can sanity-check a run without paging through the whole dataset.

Because it talks to Investing.com's own calendar-filter endpoint rather than screen-scraping rendered pages, it's fast (a same-day pull typically finishes in a few seconds) and doesn't need a headless browser.

### Why use a dividends calendar API instead of checking the site by hand

- **Dividend-income investing** — build a watchlist of upcoming ex-dividend dates so you buy in time to qualify for a payout.
- **Backtesting & quant research** — build a historical panel of dividend amounts and yields to test dividend-capture or income strategies.
- **Portfolio tracking** — get an alert-ready feed of when your holdings go ex-dividend or pay out.
- **Trading bots & alerting** — schedule daily runs and pipe new rows into Slack, a spreadsheet, or your own database the moment a dividend is declared.
- **Financial content & newsletters** — auto-generate "dividends this week" roundups by country or sector.

### Input

All fields are optional — call it with an empty input to get the current week's dividends calendar for every country.

| Field | Type | Description | Default |
| --- | --- | --- | --- |
| `country` | `string` (select) | A single country to filter by, e.g. `united states`, `united kingdom`, `germany`, `japan`... Leave empty for all countries. | *(all countries)* |
| `fromDate` | `string` (`YYYY-MM-DD`) | Start of the date range. | current day/week |
| `toDate` | `string` (`YYYY-MM-DD`) | End of the date range. | current day/week |

Example input:

```json
{
  "country": "united states",
  "fromDate": "2026-09-08",
  "toDate": "2026-09-12"
}
```

### Output example

One dataset item per dividend event:

```json
{
  "date": "11/09/2026",
  "country": "United States",
  "name": "Garmin",
  "full_name": "Garmin Ltd",
  "symbol": "GRMN",
  "ex_dividend_date": "11/09/2026",
  "dividend": "1.05",
  "type": "Quarterly",
  "payment_date": "25/09/2026",
  "yield": "1.54%",
  "link": "https://www.investing.com/equities/garmin-ltd-dividends",
  "retrieved_at": "2026-09-11T14:10:31.376821",
  "data_type": "dividends_calendar_event"
}
```

Fields Investing.com doesn't provide for a given company come back as `null` rather than being omitted, so every row has a consistent shape.

This Actor also ships a full **Output schema** (Output tab in the Apify Console), a **Dataset schema** describing every field above, a **Key-value store schema** for the run-summary record, and an **OpenAPI schema** documenting how to call it and retrieve results over the Apify API — see the corresponding tabs on this Actor's page.

### How to run it

- **Apify Console** — open the Input tab, set a country and/or date range (or leave everything blank for "this week, everywhere"), click **Start**.
- **Apify API / SDK** — call `run-sync-get-dataset-items` for a synchronous call that returns the rows directly, or `runs` to start an async run and poll for the dataset.
- **Schedule it** — add a daily/weekly Apify Schedule so this week's ex-dividend dates land in your dataset automatically, or save a few common filters as **Tasks** (see the Tasks tab) so you don't have to retype input every time.
- **Integrations** — pipe results to Google Sheets, Slack, Zapier/Make, webhooks, or your own endpoint straight from the Integrations tab.

### Cost & limits

Pricing follows this Actor's Apify pricing model shown on its Pricing tab (usage-based compute). A single day/single-country pull is typically a handful of rows and finishes in a few seconds; wide date ranges or "all countries" runs take proportionally longer since more calendar rows are parsed.

### FAQ

**Does this need an Investing.com account or API key?**
No. It scrapes Investing.com's public dividends-calendar endpoint directly — no login or token required.

**Can I get dividend data for more than one country in a single run?**
The `country` field is a single selection per run today. Run it once per country (or leave it empty to get every country at once) and merge the datasets, or fan out multiple Actor runs/Tasks in parallel.

**How far back or forward can `fromDate`/`toDate` go?**
As far as Investing.com's own dividends calendar exposes — typically several weeks in the past and future. Very old historical data may not be available on the source site.

**What's the difference between `ex_dividend_date` and `payment_date`?**
`ex_dividend_date` is the cutoff — you must own the stock before this date to receive the dividend. `payment_date` is when the dividend actually lands in shareholders' accounts, usually a few weeks later.

**What does the `type` field mean?**
The dividend's frequency or nature: Annual, Interim, Final, Quarterly, Monthly, Bonus, or Special.

### Related Actors from Pinto Studio

- [Earnings Calendar Data (Investing.com)](https://apify.com/pintostudio/earnings-calendar-data-investing-com) — corporate earnings releases, EPS and revenue forecasts vs. actuals, from the same calendar family.
- [Economic Calendar Data (Investing.com)](https://apify.com/pintostudio/economic-calendar-data-investing-com) — macro events (rates, GDP, inflation, employment).
- [YouTube Transcript Scraper](https://apify.com/pintostudio/youtube-transcript-scraper) — pull transcripts from any YouTube video for research or content pipelines.

### Support

Found a bug or have a feature request? Open an issue via the Actor's **Issues** tab in Apify Console, or reach out through the developer's Apify profile.

# Actor input Schema

## `country` (type: `string`):

The country where the stock is listed

## `fromDate` (type: `string`):

Start date for retrieving the economic calendar in 'YYYY-MM-DD' format. If not provided, only the current day's economic calendar will be retrieved.

## `toDate` (type: `string`):

End date for retrieving the economic calendar in 'YYYY-MM-DD' format. If not provided, only the current day's economic calendar will be retrieved.

## Actor input object example

```json
{}
```

# Actor output Schema

## `dividendsCalendarEvents` (type: `string`):

One row per company dividend event (or a single error row if none matched the filters). See the Dataset schema for field details.

## `runSummary` (type: `string`):

Aggregated counts, countries and dividend types for this run. See the Key-value store schema for field details.

# 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 = {
    "country": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("pintostudio/dividends-calendar-data-investing-com").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 = { "country": "" }

# Run the Actor and wait for it to finish
run = client.actor("pintostudio/dividends-calendar-data-investing-com").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "country": ""
}' |
apify call pintostudio/dividends-calendar-data-investing-com --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pintostudio/dividends-calendar-data-investing-com"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jOQdrwcVH2G9dhfh1/builds/4cy79yE9C5WDqH4G8/openapi.json
