Events · US only
Corporate actions
- Coverage
- US (classification enums unified across markets)
- Billing
- 20 cr / thousand calls
One row = one corporate action filing (event_class = distribution or share_structure): dividends, buybacks, capital reductions, splits and reverse splits, stock dividends and bonus issues, share class changes. This endpoint records "what the company announced" and is not the source of adjustment factors: it does not provide price-adjustment parameters for events such as rights issues or spin-off ex-rights; /prices-historical returns unadjusted prices.
- The only date axis is
event_date;ex_date/record_date/pay_dateare response fields only. subtypeis the flattened primary axis of each type; the full key-value set is in the envelope'saxis.- Historical data is still being expanded: queries for many companies / time windows currently return an empty array, which is a normal result and not an error.
Shared events conventions
Ad hoc corporate disclosure events: financings, deals and agreements, executive changes, corporate actions, changes in major shareholder holdings, and more. Classification is not broken out by each market's regulatory forms; it is defined by "what about the company changed": the source category code is preserved as-is in source_category, and the public contract uses one canonical set of event_class / event_type (9 classes / 42 types; see OpenAPI for the full enums and each type's fields). Onboarding a new market only adds mappings; the endpoints are unchanged.
The data covers only US-listed companies: a non-US ticker returns 404; when ticker is omitted, the endpoint scans all companies on record. The six endpoints share one parameter set and one set of common envelope fields. /events is the unified timeline that carries only the common envelope; each of the five typed endpoints serves one group of event types (the last column of the table) and adds that group's own fields on top of the envelope.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | optional | Up to 10 values, comma-separated; when omitted, the endpoint scans across companies (for example "all CFO departures in the last 90 days"); combine with from / to. The market is carried by the canonical ticker itself, so there is no market parameter. Default Entire market. |
| event_type | string | optional | dividend | buyback | capital_reduction | stock_split | reverse_split | bonus_issue | share_class_change; multiple values allowed, comma-separated. Default All. |
| from | date | optional | Start of the event date (event_date) range, inclusive; for a single day, set from = to. |
| to | date | optional | End of the event date range, inclusive. |
| limit | int | optional | Maximum 500. Default 50. |
| page | int | optional | Starts at 1. Default 1. |
Sorted event_date desc, accession_number desc, then row order within one filing. Paged with limit and page (pages start at 1); fewer rows than limit means the last page.
Response fields
| Field | Type | Description |
|---|---|---|
| event_id | string | Id of a single event; the same value on the typed endpoints and on the timeline |
| ticker | string | canonical ticker |
| market | string | Canonical market code |
| event_class | string | Canonical enum from the table above (9 classes) |
| event_type | string | Canonical enum from the table above (42 types) |
| axis | object | Key-value object holding the secondary axis of that type (for example a profit warning, {"direction":"down"}, or a revolving credit facility, {"instrument":"revolver","action":"new"}); for a type with no axis, the value is {}. See OpenAPI for the full set of keys and value domains. Typed endpoints flatten the common axes into top-level fields (instrument / action / subtype…), with the same values as axis; on the timeline, classification detail such as the direction of a profit warning or a trading halt and resumption action is only in this field |
| source_category | string | The market's native category code, preserved as-is: for US, the 8-K item (8-K:2.03; when several items are triggered, they are joined with commas) or the 13D/G form name (SC 13D / SC 13G) |
| event_date | date | Event date (signing / resolution / closing); the only date axis in this group |
| title | string | One-sentence title |
| stage | string | Lifecycle stage: announced approved amended completed terminated; the multi-stage filings of every market (proposal → shareholder meeting → approval → completion, and so on) all map onto this set |
| event_group_id | string | The successive filings of the same deal / financing / executive change share one id |
| is_current | bool | Whether the row is the latest version within the same event_group_id |
| accession_number | string | Native document number from the official source (US: SEC accession; JP: EDINET docID; CN: cninfo announcement id), or the equivalent filing number |
| form_type | string | One of the four provenance fields: the source filing type |
| filing_url | string | One of the four provenance fields: deep link to the official document |
| filing_date | date | One of the four provenance fields: the filing date |
| subtype | string | The primary axis value of each type, flattened (see OpenAPI for the full vocabulary): dividend → regular / special / interim / in_kind; buyback → announce / execute / cancel_shares; bonus_issue → retained_earnings / capital_reserve; share_class_change → dual_class_setup / full_circulation / par_value_change / rights_amendment |
| ex_date | date | Ex-rights / ex-dividend date |
| record_date | date | Shareholder record date |
| pay_date | date | Payment date |
| amount_per_share | number | Amount per share, denominated in currency |
| currency | string | ISO 4217 |
| ratio | number | Unified basis = total shares after the change / total shares before the change: a 2-for-1 split → 2, a 1-for-10 reverse split → 0.1, a 3-for-10 bonus issue → 1.3; no conversion is needed across types |
| shares_affected | number | Number of shares involved (buybacks / capital reductions / stock dividends and bonus issues) |
| amount_total | number | Total amount involved |
No key yet? Create one under API Keys — it is shown once, so store it where your shell can read it. Connecting an agent over MCP instead? That signs in through the browser and needs no key at all.
Authentication, conventions, rate limits and error shapes are the same for every endpoint — they live on REST API.