Available languages: [Python](https://databento.com/docs/api-reference-data/corporate-actions.python.md) · [Rust](https://databento.com/docs/api-reference-data/corporate-actions.rust.md) · [HTTP](https://databento.com/docs/api-reference-data/corporate-actions.http.md)

Source: https://databento.com/docs/api-reference-data/corporate-actions


## Corporate actions


### Reference.corporate_actions.get_range

Make a streaming request for corporate actions time series data from Databento.

Each record represents a unique corporate actions event at the [listing](https://databento.com/docs/faqs/instruments-and-products.md#listings) level.

The specified `index` will be used to filter the time range and order the records.
It will also be set as the index of the resulting data frame.

> **See also**
>
> [Corporate actions](https://databento.com/docs/schemas/corporate-actions.md) dataset guide for further details.

#### API method

```python
Reference.corporate_actions.get_range(
    start: pd.Timestamp | datetime | date | str | int,
    end: pd.Timestamp | datetime | date | str | int | None = None,
    index: str = "event_date",
    symbols: Iterable[str] | str | None = None,
    stype_in: SType | str = "raw_symbol",
    events: Iterable[str] | str | None = None,
    countries: list[str] | str | None = None,
    exchanges: list[str] | str | None = None,
    security_types: list[str] | str | None = None,
    flatten: bool = True,
    pit: bool = False,
    allocate_isins: bool = True,
) -> pd.DataFrame
```

#### Parameters

| Parameter | Type | Required | Description |
| `start` | pd.Timestamp, datetime, date, str, or int | required | The inclusive start of the request range based on `index`. Takes [pd.Timestamp](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html), [Python datetime](https://docs.python.org/3/library/datetime.html#datetime-objects), [Python date](https://docs.python.org/3/library/datetime.html#date-objects), [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) string, or [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) in nanoseconds. Assumes UTC as timezone unless otherwise specified. |
| `end` | pd.Timestamp, datetime, date, str, or int | optional | The exclusive end of the request range based on `index`. Takes [pd.Timestamp](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html), [Python datetime](https://docs.python.org/3/library/datetime.html#datetime-objects), [Python date](https://docs.python.org/3/library/datetime.html#date-objects), [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) string, or [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) in nanoseconds. Assumes UTC as timezone unless otherwise specified. If `None`, then will return **all** data available after `start`. |
| `index` | str, default 'event_date' | optional | The index column to use for filtering the `start` and `end` time range and for record ordering. Use any of 'event_date', 'ex_date' or 'ts_record'. Records with a `NULL` value in the specified `index` column will be excluded. |
| `symbols` | list or str | optional | The symbols to filter for. Takes up to 2,000 symbols per request. If more than 1 symbol is specified, the data is merged and sorted by time. If `'ALL_SYMBOLS'` or `None` then will select **all** symbols by default. |
| `stype_in` | SType or str, default 'raw_symbol' | optional | The [symbology type](https://databento.com/docs/api-reference-data/basics/symbology.md) of input `symbols`. Use any of 'raw_symbol', 'nasdaq_symbol', 'isin', 'us_code', 'bbg_comp_id', 'bbg_comp_ticker', 'figi', 'figi_ticker', 'listing_id', 'issuer_id', 'security_id'. |
| `events` | list or str | optional | The event types to filter for. Takes any number of [event](https://databento.com/docs/conventions/corporate-actions-events.md)s per request. If not specified then will select **all** event types by default. See [EVENT](https://databento.com/docs/conventions/reference-data-enums.md#event) enum. |
| `countries` | list or str | optional | The listing countries to filter for. Takes any number of country codes per request as two letter ISO 3166-1 alpha-2 strings. If not specified then will select **all** countries by default. See [CNTRY](https://databento.com/docs/conventions/reference-data-enums.md#cntry) enum. |
| `exchanges` | list or str | optional | The (listing) exchanges to filter for. Takes any number of exchanges per request. If not specified then will select **all** exchanges by default. See [EXCHANGE](https://databento.com/docs/conventions/reference-data-enums.md#exchange) enum. |
| `security_types` | list or str | optional | The security types to filter for. If not specified then will select **all** security types by default. See [SECTYPE](https://databento.com/docs/conventions/reference-data-enums.md#sectype) enum. |
| `flatten` | bool, default True | optional | If nested JSON objects within the `date_info`, `rate_info`, and `event_info` fields should be flattened into separate columns in the resulting data frame. |
| `pit` | bool, default False | optional | Determines whether to retain all historical records or only the latest records. If True, all historical records for each `event_unique_id` will be retained, preserving the complete point-in-time history. If False (default), the data frame will include only the most recent record for each `event_unique_id` based on the `ts_record` timestamp. |
| `allocate_isins` | bool, default True | optional | Whether the request should allocate any new ISINs for plans that are ISIN-limited. The request will drop any rows that would create new allocations. |

#### Returns

`pd.Dataframe`

The data converted into a DataFrame.

> **See also**
>
> Corporate actions [field descriptions](https://databento.com/docs/schemas/corporate-actions.md#fields) for further details.

#### Example usage

```python
import databento as db

client = db.Reference("$YOUR_API_KEY")

df_raw = client.corporate_actions.get_range(
    symbols=["AAPL"],
    stype_in="raw_symbol",
    start="2024-01",
    events=["SHOCH"],
    countries=["US"],
)

print(df_raw.head())
```
#### Example response

```plaintext
                 event_unique_id                 ts_record         event_id listing_id listing_group_id security_id issuer_id event_action  event  event_subtype event_date_label event_created_date effective_date ex_date record_date  record_date_id related_event  related_event_id global_status listing_status listing_source listing_date delisting_date issuer_name security_type security_description primary_exchange exchange operating_mic symbol nasdaq_symbol local_code          isin   us_code   bbg_comp_id bbg_comp_ticker          figi figi_ticker listing_country register_country trading_currency  multi_currency segment_mic_name segment_mic mand_volu_flag  rd_priority  lot_size  par_value par_value_currency payment_date duebills_redemption_date from_date to_date registration_date start_date end_date open_date close_date start_subscription_date end_subscription_date option_election_date  withdrawal_rights_from_date withdrawal_rights_to_date notification_date financial_year_end_date exp_completion_date  payment_type  option_id  serial_id  default_option_flag  rate_currency  ratio_old  ratio_new  fraction  outturn_style  outturn_security_type  outturn_security_id  outturn_isin  outturn_us_code  outturn_local_code  outturn_bbg_comp_id  outturn_bbg_comp_ticker  outturn_figi  outturn_figi_ticker  min_offer_qty  max_offer_qty  min_qualify_qty  max_qualify_qty  min_accept_qty  max_accept_qty  tender_strike_price  tender_price_step option_expiry_time  option_expiry_tz  withdrawal_rights_flag withdrawal_rights_expiry_time  withdrawal_rights_expiry_tz expiry_time  expiry_tz                       ts_created old_outstanding_date new_outstanding_date old_shares_outstanding new_shares_outstanding
event_date
2024-01-02  U-40685533904-135825 2024-01-12 13:12:12+00:00  E-5533904-SHOCH   L-135825         LG-35825     S-33449   I-30017            I  SHOCH            NaN   effective_date         2024-01-12     2024-01-02    None        None             NaN         SHOCH               NaN             A              L              M   1980-12-12           None   Apple Inc           EQS      Ordinary Shares           USNASD   USNASD          XNAS   AAPL          AAPL       AAPL  US0378331005  37833100  BBG000B9XRY4         AAPL US  BBG000B9Y5X2     AAPL UW              US               US              USD           False    Global Select        XNGS              M          NaN       100    0.00001                USD         None                     None      None    None              None       None     None      None       None                    None                  None                 None                          NaN                      None              None                    None                None           NaN        NaN        NaN                False            NaN        NaN        NaN       NaN            NaN                    NaN                  NaN           NaN              NaN                 NaN                  NaN                      NaN           NaN                  NaN            NaN            NaN              NaN              NaN             NaN             NaN                  NaN                NaN                NaT               NaN                     NaN                           NaT                          NaN         NaT        NaN 2024-07-24 06:32:10.375440+00:00  2023-10-20T00:00:00  2024-01-02T00:00:00            15552752000            15461896000
2024-01-19  U-40685575281-135825 2024-02-05 03:37:49+00:00  E-5575281-SHOCH   L-135825         LG-35825     S-33449   I-30017            I  SHOCH            NaN   effective_date         2024-02-03     2024-01-19    None        None             NaN         SHOCH               NaN             A              L              M   1980-12-12           None   Apple Inc           EQS      Ordinary Shares           USNASD   USNASD          XNAS   AAPL          AAPL       AAPL  US0378331005  37833100  BBG000B9XRY4         AAPL US  BBG000B9Y5X2     AAPL UW              US               US              USD           False    Global Select        XNGS              M          NaN       100    0.00001                USD         None                     None      None    None              None       None     None      None       None                    None                  None                 None                          NaN                      None              None                    None                None           NaN        NaN        NaN                False            NaN        NaN        NaN       NaN            NaN                    NaN                  NaN           NaN              NaN                 NaN                  NaN                      NaN           NaN                  NaN            NaN            NaN              NaN              NaN             NaN             NaN                  NaN                NaN                NaT               NaN                     NaN                           NaT                          NaN         NaT        NaN 2024-07-24 22:44:12.284177+00:00  2024-01-02T00:00:00  2024-01-19T00:00:00            15461896000            15441881000
2024-04-19  U-40685752069-135825 2024-05-06 13:21:00+00:00  E-5752069-SHOCH   L-135825         LG-35825     S-33449   I-30017            I  SHOCH            NaN   effective_date         2024-05-06     2024-04-19    None        None             NaN         SHOCH               NaN             A              L              M   1980-12-12           None   Apple Inc           EQS      Ordinary Shares           USNASD   USNASD          XNAS   AAPL          AAPL       AAPL  US0378331005  37833100  BBG000B9XRY4         AAPL US  BBG000B9Y5X2     AAPL UW              US               US              USD           False    Global Select        XNGS              M          NaN       100    0.00001                USD         None                     None      None    None              None       None     None      None       None                    None                  None                 None                          NaN                      None              None                    None                None           NaN        NaN        NaN                False            NaN        NaN        NaN       NaN            NaN                    NaN                  NaN           NaN              NaN                 NaN                  NaN                      NaN           NaN                  NaN            NaN            NaN              NaN              NaN             NaN             NaN                  NaN                NaN                NaT               NaN                     NaN                           NaT                          NaN         NaT        NaN 2024-07-25 01:52:32.148864+00:00  2024-01-19T00:00:00  2024-04-19T00:00:00            15441881000            15334082000
2024-07-19  U-40685933868-135825 2024-08-05 03:41:52+00:00  E-5933868-SHOCH   L-135825         LG-35825     S-33449   I-30017            I  SHOCH            NaN   effective_date         2024-08-03     2024-07-19    None        None             NaN         SHOCH               NaN             A              L              M   1980-12-12           None   Apple Inc           EQS      Ordinary Shares           USNASD   USNASD          XNAS   AAPL          AAPL       AAPL  US0378331005  37833100  BBG000B9XRY4         AAPL US  BBG000B9Y5X2     AAPL UW              US               US              USD           False    Global Select        XNGS              M          NaN       100    0.00001                USD         None                     None      None    None              None       None     None      None       None                    None                  None                 None                          NaN                      None              None                    None                None           NaN        NaN        NaN                False            NaN        NaN        NaN       NaN            NaN                    NaN                  NaN           NaN              NaN                 NaN                  NaN                      NaN           NaN                  NaN            NaN            NaN              NaN              NaN             NaN             NaN                  NaN                NaN                NaT               NaN                     NaN                           NaT                          NaN         NaT        NaN 2024-08-05 06:00:56.552900+00:00  2024-04-19T00:00:00  2024-07-19T00:00:00            15334082000            15204137000
```


### Reference.corporate_actions.list_events

Requests documentation for all supported corporate action event types, including their fields, subtypes, and applicable calendar dates.

#### API method

```python
Reference.corporate_actions.list_events() -> dict[str, dict]
```

#### Returns

`dict[str, dict]`

The raw JSON response as a dict keyed by event code (e.g. `AGM`), where each value is:

| Field | Type | Description |
| `calendar_dates` | list[dict] or None | The calendar dates relevant to the event. |
| `category` | str or None | The category of the event (`distribution`, `distribution_debit`, `legal_action`, `proposal`, `reorganisation`, `static_reference`, `tax_related`, `other`). |
| `code` | str or None | The code for the event (e.g. `AGM`). |
| `description` | str or None | Description of the event. |
| `fields` | list[dict] or None | The fields relevant to the event. |
| `level` | str | The level the event applies to (`country`, `issuer`, `listing`, `security`). |
| `name` | str | Name of the event. |
| `participation` | str or None | Whether the event is mandatory, voluntary, or a mix of the two (`mandatory`, `voluntary`, `mandatory_voluntary`). |
| `subtypes` | list[dict] or None | The subtypes relevant to the event. |

> **See also**
>
> [Corporate actions events](https://databento.com/docs/datasets/corporate-actions.md#events) guide for information in text form.

#### Example usage

```python
import databento as db

client = db.Reference("$YOUR_API_KEY")

event_docs = client.corporate_actions.list_events()

print(event_docs["AGM"])
```
#### Example response

```json
{
    "code": "AGM",
    "name": "Company Meeting",
    "level": "issuer",
    "category": "proposals",
    "participation": "voluntary",
    "description": "Annual General meeting of shareholders is held once a year, usually after the end of the financial year. Also includes other meeting types such as Extraordinary General Meeting, Special General Meeting, Court Ordered Meeting, and Postal Ballot.",
    "subtypes": [
        {
            "code": "AGM",
            "description": "Annual General Meeting"
        },
        {
            "code": "BHM",
            "description": "Bond Holder Meeting"
        },
        {
            "code": "CGM",
            "description": "Court Ordered General Meeting"
        },
        {
            "code": "EGM",
            "description": "Extraordinary General Meeting"
        },
        {
            "code": "GM",
            "description": "General Meeting"
        },
        {
            "code": "SGM",
            "description": "Special General Meeting"
        }
    ],
    "calendar_dates": [
        {
            "name": "event_date",
            "alias": "meeting_date"
        },
        {
            "name": "effective_date",
            "alias": "meeting_date"
        }
    ],
    "fields": [
        {
            "group": "event_info",
            "name": "meeting_number",
            "description": "Company Meeting Number"
        },
        {
            "group": "event_info",
            "name": "meeting_time",
            "description": "Local time for Start of Meeting"
        },
        {
            "group": "event_info",
            "name": "address_line1",
            "description": "Address line 1"
        },
        {
            "group": "event_info",
            "name": "address_line2",
            "description": "Address line 2"
        },
        {
            "group": "event_info",
            "name": "address_line3",
            "description": "Address line 3"
        },
        {
            "group": "event_info",
            "name": "address_line4",
            "description": "Address line 4"
        },
        {
            "group": "event_info",
            "name": "address_line5",
            "description": "Address line 5"
        },
        {
            "group": "event_info",
            "name": "address_line6",
            "description": "Address line 6"
        },
        {
            "group": "event_info",
            "name": "city",
            "description": "City"
        },
        {
            "group": "event_info",
            "name": "country",
            "description": "Country Code - ISO 3166-1"
        }
    ]
}
```


### Reference.corporate_actions.list_enums

Requests documentation for the full set of enumerations used across corporate actions data, like event actions and statuses.

#### API method

```python
Reference.corporate_actions.list_enums() -> dict[str, list[dict]]
```

#### Returns

`dict[str, list[dict]]`

The raw JSON response as a dict keyed by enum group name (e.g. `ACTION`). Each value is a list of variants:

| Field | Type | Description |
| `code` | str or None | Code for the enum variant. |
| `description` | str | Description of the enum variant. |

> **See also**
>
> [Reference data enums](https://databento.com/docs/conventions/reference-data-enums.md) for a lookup table of possible enumeration field values.

#### Example usage

```python
import databento as db

client = db.Reference("$YOUR_API_KEY")

enum_docs = client.corporate_actions.list_enums()

print(enum_docs["ACTION"])
```
#### Example response

```json
[
    {
        "code": "C",
        "description": "Cancelled"
    },
    {
        "code": "D",
        "description": "Deleted"
    },
    {
        "code": "I",
        "description": "Inserted"
    },
    {
        "code": "P",
        "description": "Payment details Cancelled by Issuer"
    },
    {
        "code": "Q",
        "description": "Payment details Deleted by Data Supplier"
    },
    {
        "code": "U",
        "description": "Updated"
    }
]
```
