# 🔀 Corporate Actions — Splits, Spinoffs, M\&A, Tender Offers (`nexgendata/corporate-actions-tracker`) Actor

Track upcoming/recent stock splits, reverse splits, special dividends, spinoffs, mergers, acquisitions, tender offers. Effective dates, deal values, consideration, status. Bloomberg corporate actions alternative for special-situations desks and M\&A arb funds. Pay-per-result.

- **URL**: https://apify.com/nexgendata/corporate-actions-tracker.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $150.00 / 1,000 corporate action records

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

## 🔀 Corporate Actions — Splits, Spinoffs, M&A, Tender Offers

**Bloomberg corporate-actions desk alternative.** Pay-per-result tracking of upcoming and recent stock splits, reverse splits, special dividends, spinoffs, mergers, acquisitions, and tender offers. Built for special-situations desks, M&A arbitrage funds, corporate finance teams, and retail traders following the calendar of structural events that move single names independently of macro.

### 📊 Sample Output

[![🔀 Corporate Actions — Splits, Spinoffs, M&A, Tender Offers sample output — 🔀 Corporate Actions — Splits, Spinoffs, M&A, Tender Offers, premium API, JSON output, NexGenData premium dataset for analysts](https://api.apify.com/v2/key-value-stores/8gLgXMBveEI1tTz1z/records/corporate-actions-tracker-output.png)](https://apify.com/nexgendata/corporate-actions-tracker)

Corporate actions are where the alpha hides for special-situations capital. A 10-for-1 split announcement can compress option premium for weeks. A spinoff distribution creates a brand-new ticker with no analyst coverage. An announced merger trades to a deal spread you can model directly. A reverse split is often a delisting precursor. This actor surfaces every one of those events in a single typed dataset row — with the deal value, consideration mechanics, status, and effective date that you need to build a position.

---

### What this actor returns

For every corporate action in coverage, a typed record:

| Field | Meaning |
| --- | --- |
| `symbol` | Primary common-share ticker of the issuer |
| `company_name` | Legal entity name |
| `sector` | GICS-style sector label when known |
| `action_type` | `Stock Split` / `Reverse Split` / `Special Dividend` / `Spinoff` / `Merger` / `Acquisition` / `Tender Offer` |
| `ratio` | E.g. `10-for-1`, `1-for-20` (reverse), `3-for-2`; `null` for non-splits |
| `current_price` | Live price snapshot from Yahoo Finance for the issuer |
| `market_cap_usd` | Market cap (USD) at announcement; useful for filtering large-cap vs penny stock |
| `effective_date` | Split effective / ex-distribution / deal-close date (ISO-8601) |
| `announcement_date` | Date the action was publicly announced (often 8-K filing date) |
| `target_company` | M&A target name (for `Merger`, `Acquisition`, `Tender Offer`) |
| `acquirer` | M&A acquirer name |
| `deal_value_usd` | Total transaction value (M&A) or aggregate cash distributed (special div) |
| `consideration` | Free-text breakdown — `$X cash`, `$X cash + Y shares`, all-stock ratios |
| `status` | `Announced` / `Approved` / `Completed` / `Cancelled` / `Pending Shareholder Vote` |
| `days_to_effective` | Computed days from today to `effective_date` (negative = past) |
| `data_source` | Provenance — curated baseline, SEC EDGAR 8-K, or both |

---

### Why corporate actions desks pay for this

| User | Job-to-be-done |
| --- | --- |
| Special situations desk | Build a calendar of upcoming splits, spinoffs, and reorganizations to front-run index reweights |
| M&A arbitrage fund | Track every announced deal — measure spread vs. deal value daily, monitor `status` for breakages |
| Spinoff fund (Greenblatt-style) | Pre-build positions in distributing parents before ex-distribution; pick up forced-sellers' "stub" newco shares |
| Corporate finance / IR | Watch peers' splits, special divs, buybacks for benchmarking board recommendations |
| Index arb / passive trader | Anticipate index rebalances triggered by share-count changes from splits and spinoffs |
| Retail trader | Avoid getting reverse-split out of a position; spot the next NVDA-style 10-for-1 catalyst |
| Quant strategy researcher | Backtest "post-split drift" and "spinoff alpha" signals with a clean, structured dataset |
| Options market maker | Mark vol surfaces accurately when the underlying is about to split or be cash-acquired |

---

### How it works

The actor combines three signals:

1. **SEC EDGAR full-text search of 8-K filings.** Six parallel queries scan the trailing 90 days of 8-K filings for the phrases `"stock split"`, `"reverse stock split"`, `"special dividend"`, `"spin-off"`, `"merger agreement"`, and `"tender offer"`. Each hit is deduplicated to issuer level and tagged with the matched action type. This is the freshest signal — most material corporate actions are 8-K-disclosable, so we catch them within hours of announcement.
2. **Curated baseline of publicly-announced corporate actions.** Anchored on the high-profile, well-documented names that special-situations capital actually trades: NVDA 10-for-1, WMT 3-for-1, AVGO 10-for-1, CMG 50-for-1, LRCX 10-for-1, MELI 2-for-1, ASML 3-for-1, GE Vernova spinoff, Solventum spinoff, Veralto spinoff, Western Digital / Sandisk separation, Costco $15 special, Phillips 66 $1.00 special, Microsoft / Activision, Cisco / Splunk, Synopsys / ANSYS, Chevron / Hess, Exxon / Pioneer, HPE / Juniper, Skydance / Paramount, Tapestry / Capri, Alaska / Hawaiian. Plus the small-cap reverse-split tape (MULN, FFIE, BFLY, NKLA, PLUG) where the action signal often anticipates a delisting risk.
3. **Yahoo Finance** — `query1.finance.yahoo.com/v8/finance/chart/{symbol}` returns the live `regularMarketPrice` for every survivor, so `current_price` is timely rather than stale.

The curated baseline guarantees a non-empty result even when SEC EDGAR throttles or returns a 4xx; the EDGAR layer enriches the result with brand-new announcements the curated list hasn't yet been refreshed to include.

---

### Input

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `limit` | int | 50 | Max records to return (1–500) |
| `action_types` | array | `[]` (all) | Filter by one or more of `Stock Split`, `Reverse Split`, `Special Dividend`, `Spinoff`, `Merger`, `Acquisition`, `Tender Offer` |
| `date_range` | enum | `all` | `upcoming` / `recent_30d` / `recent_90d` / `all` — window over `effective_date` |
| `min_market_cap_billion` | number | 0 | Issuer market-cap floor in USD billions (0 disables) |
| `sector` | string | `""` | Case-insensitive substring match against the `sector` field |

#### Example inputs

**Every announced M&A deal still pending close (the deal-arb worklist):**
```json
{ "action_types": ["Merger", "Acquisition"], "date_range": "upcoming", "limit": 100 }
````

**Upcoming forward splits, large-caps only (index rebalance front-running):**

```json
{ "action_types": ["Stock Split"], "min_market_cap_billion": 10, "date_range": "upcoming" }
```

**Reverse splits in the last 30 days (delisting-watch screen):**

```json
{ "action_types": ["Reverse Split"], "date_range": "recent_30d", "limit": 100 }
```

**Spinoffs only, all dates (Greenblatt setup):**

```json
{ "action_types": ["Spinoff"], "date_range": "all" }
```

**Healthcare-sector special dividends:**

```json
{ "action_types": ["Special Dividend"], "sector": "Healthcare" }
```

***

### Pricing

Pay-per-event. You pay only for what is delivered.

| Event | Price |
| --- | --- |
| Actor start | **$0.01** (one-time per run) |
| Corporate action record | **$0.15** per record returned |

Worked examples:

- 25 records returned: `$0.01 + 25 × $0.15 = $3.76`
- 100 records returned: `$0.01 + 100 × $0.15 = $15.01`
- 500 records (max): `$0.01 + 500 × $0.15 = $75.01`

At $0.15/record, the actor sits in the mid-premium tier of NexGenData's catalog — anchored to the fact that every record encodes a discrete, dated, often-actionable trading signal with deal value, consideration, and status all in one row.

***

### Comparison vs. institutional terminals

| Capability | This actor | Bloomberg CAEV | FactSet | Refinitiv DataScope | S\&P Capital IQ | Mergermarket |
| --- | --- | --- | --- | --- | --- | --- |
| Splits & reverse splits | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Spinoffs | ✅ | ✅ | ✅ | ✅ | ✅ | partial |
| Special dividends | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Announced M\&A with deal value | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Tender offers | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Consideration breakdown (cash/stock) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Status tracking (Announced/Approved/Cancelled) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Effective-date computed `days_to_effective` | ✅ | ✅ | partial | partial | ❌ | ❌ |
| Live price snapshot | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| API access | ✅ REST | ✅ B-API | ✅ FQL | ✅ DSO | ✅ Xpressfeed | ❌ |
| Setup cost | $0 | $24K+/year/seat | $12K+/year/seat | $20K+/year | $30K+/year | $14K+/year |
| Per-record cost | **$0.15** | bundled in seat | bundled in seat | bundled in seat | bundled in seat | bundled in seat |
| Time to first data | <60s | weeks | weeks | weeks | weeks | weeks |
| Contract / minimum | None | annual + LOB | annual | annual | annual | annual |

For a special-situations desk that just wants to monitor the live M\&A pipeline and the splits/spinoffs calendar without committing to a six-figure terminal contract, pay-per-record at $0.15 wins on every dimension that matters: latency, friction, and elasticity.

***

### Status semantics

Status values are the same vocabulary deal-arb desks already use:

- **Announced** — definitive agreement or board-approved announcement has been made; deal terms are public, but no shareholder vote yet.
- **Pending Shareholder Vote** — proxy filed; vote scheduled.
- **Approved** — shareholder vote has cleared, awaiting regulatory close.
- **Completed** — action has been effective; security has split, spun off, or been acquired.
- **Cancelled** — definitive agreement terminated (e.g. Tapestry/Capri).

For splits and spinoffs the same vocabulary applies — `Announced` (board has approved subject to record date), `Approved` (record date set), `Completed` (effective date passed).

***

### Data freshness & limits

- **SEC EDGAR layer** refreshes every run — typical hit latency from 8-K filing to actor record is minutes-to-hours.
- **Curated baseline** is versioned with the actor — refreshes ship with each new build.
- **Yahoo Finance prices** are best-effort; throttling occasionally drops `current_price` to `null`, but every other field still ships.

The actor is rate-friendly: ≤6 concurrent Yahoo requests per run, gentle SEC user agent, and graceful fallback when any one source 4xx/5xxs.

***

### Sister actors in the NexGenData special-situations stack

This actor is one piece of a larger event-driven toolkit. The natural pairings:

- **[IPO Tracker](https://apify.com/nexgendata/ipo-tracker)** — recent + upcoming IPOs across NYSE/NASDAQ with lockup expirations and post-IPO performance. Pair with this actor to follow a company from S-1 → IPO → first split/spinoff/M\&A event.
- **[SPAC Tracker](https://apify.com/nexgendata/spac-tracker)** — active SPACs with trust values, deadlines, announced mergers, redemption rates. SPACs that complete a de-SPAC merger become tickers that this corporate-actions actor then tracks for follow-on splits and spinoffs.
- **[SEC Form 8-K Material Events Scraper](https://apify.com/nexgendata/sec-form-8k-material-events-scraper)** — full 8-K corpus with item-level tagging. Corporate Actions Tracker is a tightly-typed projection of the M\&A/restructuring slice of 8-K; the 8-K scraper gives you the rest (Item 1.01 entry into agreement, Item 2.01 completion of acquisition, Item 5.07 vote results).
- **[SEC Form 13F Holdings Tracker](https://apify.com/nexgendata/sec-form-13f-holdings-tracker)** — quarterly institutional positions. Cross-reference whose 13F shows fresh accumulation in a name right before its split or spinoff.
- **[Short Interest Tracker](https://apify.com/nexgendata/short-interest-tracker)** — bi-weekly NYSE/NASDAQ short interest. Tracks the squeeze setups around announced M\&A breakages and reverse-split forced-buying.
- **[Finance MCP Server](https://apify.com/nexgendata/finance-mcp-server)** — Claude/ChatGPT-native MCP wrapping the entire NexGenData finance stack including this actor. Ask in natural language: "show me every upcoming spinoff with market cap over $5B."

***

### API quickstart

```bash
TOKEN=apify_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

curl -X POST "https://api.apify.com/v2/acts/nexgendata~corporate-actions-tracker/run-sync-get-dataset-items?token=$TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 50,
    "action_types": ["Merger", "Acquisition"],
    "date_range": "upcoming",
    "min_market_cap_billion": 1.0
  }'
```

Output is a JSON array of records as documented above. Add `?format=csv` to pipe directly into a spreadsheet, or use the Apify Python / JS SDK clients.

```python
from apify_client import ApifyClient

client = ApifyClient("apify_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
run = client.actor("nexgendata/corporate-actions-tracker").call(
    run_input={"action_types": ["Spinoff"], "date_range": "upcoming"}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["symbol"], item["action_type"], item["effective_date"], item["consideration"])
```

***

### FAQ

**Are the prices and deal values guaranteed accurate?**\
The curated baseline references public 8-K filings and press releases — accurate at point of capture. Live prices come from Yahoo Finance, which is reliable but not authoritative; for trade execution you should always reconcile against your prime broker's data. The actor's job is signal discovery, not order routing.

**How do I get only the freshest announcements?**\
Filter `date_range="upcoming"` and sort the dataset by `announcement_date` descending. The `data_source` field will show `sec_edgar_8k` for records that came directly from the live EDGAR query.

**Can I run this on a schedule?**\
Yes — every Apify actor supports cron-style schedules. A daily 6am run with `action_types=["Merger","Acquisition","Spinoff"]` and `date_range="recent_30d"` gives you a fresh deal-arb worklist every morning for less than $5/day.

**What if a company announces a corporate action that's not in the curated baseline?**\
The EDGAR layer will surface it as soon as the 8-K is filed. The curated baseline gets refreshed in each new actor build (subscribe to the Apify build feed to be notified).

**Can I get historical splits and spinoffs going back 10 years?**\
The curated baseline includes high-profile actions back to 2020. For deeper history, pair this actor with the SEC Form 8-K Material Events Scraper and filter Item 1.02, 2.01, or 5.03 items.

**Do you cover non-US issuers?**\
Coverage is strongest for US-listed names (NYSE, NASDAQ) including foreign issuers with US ADRs (ASML, MELI, etc.). Pure-foreign listings (LSE-only, TSE-only) are not the primary focus of this actor.

***

### Build & deploy

This actor is private. Contact NexGenData for access, white-label, or higher-volume custom data feeds.

Built on Apify's Python SDK, packaged as a standard Docker actor. The full source includes:

- `src/main.py` — orchestration: SEC EDGAR fetch, curated merge, Yahoo enrichment, filter, push
- `src/__main__.py` — entrypoint
- `.actor/actor.json` — actor spec
- `.actor/input_schema.json` — input schema
- `Dockerfile`, `requirements.txt`

Open source contributions welcome via the NexGenData GitHub.

***

### About NexGenData

NexGenData operates a fleet of pay-per-result financial data actors on Apify covering global equities (50+ exchanges), ETF holdings, SEC filings, options flow, earnings calendars, dividend aristocrats, short interest, IPOs, SPACs, and now corporate actions. The thesis is simple: institutional terminal data shouldn't cost six figures, and pay-per-result pricing aligns vendor incentives with user signal.

**Try the full NexGenData catalog and get an affiliate discount:** <https://apify.com/nexgendata?fpr=2ayu9b>

# Actor input Schema

## `limit` (type: `integer`):

Maximum number of corporate action records to return. Higher limits widen coverage across splits, spinoffs, mergers, acquisitions, special dividends, and tender offers. Defaults to 50.

## `action_types` (type: `array`):

Filter by one or more corporate action types. Leave empty to return every type. Choose 'Stock Split' / 'Reverse Split' for index rebalancing trades, 'Spinoff' / 'Merger' / 'Acquisition' / 'Tender Offer' for M\&A arbitrage, 'Special Dividend' for income strategies.

## `date_range` (type: `string`):

Window for the corporate action's effective/ex-date. 'upcoming' returns actions with effective\_date in the future, 'recent\_30d' returns those that took effect in the last 30 days, 'recent\_90d' uses a 90-day lookback, 'all' disables the date filter.

## `min_market_cap_billion` (type: `number`):

Only include corporate actions where the issuer's market cap is at or above this floor (in USD billions). Set 1.0 to focus on mid-/large-caps, 10.0 for large/mega-caps, 0 to disable. Records missing market cap pass when filter is disabled.

## `sector` (type: `string`):

Optional case-insensitive substring match against the sector field (e.g. 'Technology', 'Healthcare', 'Financial', 'Energy'). Leave blank to return all sectors.

## Actor input object example

```json
{
  "limit": 50,
  "action_types": [],
  "date_range": "all",
  "min_market_cap_billion": 0,
  "sector": ""
}
```

# 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 = {
    "limit": 50,
    "action_types": [],
    "date_range": "all",
    "min_market_cap_billion": 0,
    "sector": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/corporate-actions-tracker").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 = {
    "limit": 50,
    "action_types": [],
    "date_range": "all",
    "min_market_cap_billion": 0,
    "sector": "",
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/corporate-actions-tracker").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 '{
  "limit": 50,
  "action_types": [],
  "date_range": "all",
  "min_market_cap_billion": 0,
  "sector": ""
}' |
apify call nexgendata/corporate-actions-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/corporate-actions-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🔀 Corporate Actions — Splits, Spinoffs, M&A, Tender Offers",
        "description": "Track upcoming/recent stock splits, reverse splits, special dividends, spinoffs, mergers, acquisitions, tender offers. Effective dates, deal values, consideration, status. Bloomberg corporate actions alternative for special-situations desks and M&A arb funds. Pay-per-result.",
        "version": "0.0",
        "x-build-id": "b2Q2j7Yl2rWab0un6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~corporate-actions-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-corporate-actions-tracker",
                "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/nexgendata~corporate-actions-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-corporate-actions-tracker",
                "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/nexgendata~corporate-actions-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-corporate-actions-tracker",
                "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": {
                    "limit": {
                        "title": "Max corporate action records",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of corporate action records to return. Higher limits widen coverage across splits, spinoffs, mergers, acquisitions, special dividends, and tender offers. Defaults to 50.",
                        "default": 50
                    },
                    "action_types": {
                        "title": "Action types filter",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by one or more corporate action types. Leave empty to return every type. Choose 'Stock Split' / 'Reverse Split' for index rebalancing trades, 'Spinoff' / 'Merger' / 'Acquisition' / 'Tender Offer' for M&A arbitrage, 'Special Dividend' for income strategies.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Stock Split",
                                "Reverse Split",
                                "Special Dividend",
                                "Spinoff",
                                "Merger",
                                "Acquisition",
                                "Tender Offer"
                            ]
                        },
                        "default": []
                    },
                    "date_range": {
                        "title": "Date range",
                        "enum": [
                            "upcoming",
                            "recent_30d",
                            "recent_90d",
                            "all"
                        ],
                        "type": "string",
                        "description": "Window for the corporate action's effective/ex-date. 'upcoming' returns actions with effective_date in the future, 'recent_30d' returns those that took effect in the last 30 days, 'recent_90d' uses a 90-day lookback, 'all' disables the date filter.",
                        "default": "all"
                    },
                    "min_market_cap_billion": {
                        "title": "Minimum market cap (USD billions)",
                        "minimum": 0,
                        "maximum": 3000,
                        "type": "number",
                        "description": "Only include corporate actions where the issuer's market cap is at or above this floor (in USD billions). Set 1.0 to focus on mid-/large-caps, 10.0 for large/mega-caps, 0 to disable. Records missing market cap pass when filter is disabled.",
                        "default": 0
                    },
                    "sector": {
                        "title": "Sector filter",
                        "type": "string",
                        "description": "Optional case-insensitive substring match against the sector field (e.g. 'Technology', 'Healthcare', 'Financial', 'Energy'). Leave blank to return all sectors.",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
