The EODHD ASX Corporate Actions API provides structured corporate action data for the Australian Securities Exchange (ASX): dividends, stock splits, bonus issues, rights issues, buybacks, capital returns, and share purchase plans. Data is sourced from the official ASX ReferencePoint feed (E34) and refreshed daily.

Coverage is limited to ASX-listed securities. All tickers use the .AU suffix. You will need an EODHD API subscription that includes access to the Corporate Actions endpoint — available on Fundamentals and All-in-One plans.

API Endpoint

https://eodhd.com/api/asx-corporate-actions

Method: GET. Auth: api_token query parameter. Cost: 1 API call per request. Pagination: offset/limit based, default 100 per page (max 1000).

Query Parameters

ParameterRequiredDescription
api_tokenYesYour EODHD API token
typeNoCorporate action type (see table below). Omit to return all types
symbolNoTicker with .AU suffix (e.g. PMV.AU). Filter results to a single security
date_fromNoStart date in YYYY-MM-DD format (inclusive, applied to event date)
date_toNoEnd date in YYYY-MM-DD format (inclusive, applied to event date)
page[offset]NoPagination offset, zero-based (default 0)
page[limit]NoPage size, 1 to 1000 (default 100)
fmtNoResponse format. Currently only json is supported

Action Types

The type parameter accepts one of the following values. Each value groups one or more ASX ReferencePoint codes:

ValueASX CodesDescription
dividendsDVCash dividends (including franked amounts and DRP details)
splitsRCStock splits and reconstructions
bonus-issuesBNBonus share issues
rights-issuesRR, NR, PR, XRRights issues, including non-renounceable variants
buybacksBBShare buyback programmes
capital-returnsCRReturn of capital to shareholders
sppSPShare Purchase Plans
otherAO, CC, CG, CL, CN, IN, OPOther action types not covered by the categories above

Request Example

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/asx-corporate-actions?api_token=YOUR_TOKEN&type=dividends&symbol=PMV.AU&fmt=json
curl --location "https://eodhd.com/api/asx-corporate-actions?api_token=YOUR_TOKEN&type=dividends&symbol=PMV.AU&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/asx-corporate-actions?api_token=YOUR_TOKEN&type=dividends&symbol=PMV.AU&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/asx-corporate-actions?api_token=YOUR_TOKEN&type=dividends&symbol=PMV.AU&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/asx-corporate-actions?api_token=YOUR_TOKEN&type=dividends&symbol=PMV.AU&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Response Format

All responses share the same envelope. The data array contains records whose structure depends on the requested type:

{
  "data": [ /* type-specific records */ ],
  "meta": {
    "total": 566,
    "page": { "offset": 0, "limit": 100 }
  },
  "links": {
    "next": "https://eodhd.com/api/asx-corporate-actions?page%5Boffset%5D=100&page%5Blimit%5D=100"
  }
}

Dividends

{
  "code": "PMV.AU",
  "date": "2026-08-03",
  "value": 0.45,
  "unadjustedValue": 0.45,
  "period": "Interim",
  "currency": "AUD",
  "exchange": "AU",
  "recordDate": "2026-08-04",
  "paymentDate": "2026-08-20",
  "declarationDate": null,
  "_asx_extra": {
    "isin": "AU000000PMV2",
    "asx_ticker": "PMV",
    "corporate_action_id": "000478776",
    "transaction_type": "A",
    "franked_amount_aud": 0.45,
    "franked_percent": 100,
    "drp_indicator": 4,
    "drp_discount_rate": 0,
    "special_indicator": "N",
    "withholding_tax_rate": 0,
    "comment": "AUD 0.45 FRANKED, 30% CTR, DRP SUSP"
  }
}

The _asx_extra object carries ASX-specific fields such as franking credits, DRP (Dividend Reinvestment Plan) details, BSP (Bonus Share Plan) flags, withholding tax, and tax-advantaged amounts. See the AU-specific fields section below for the full field list.

Splits

{
  "code": "NTM.AU",
  "date": "2026-06-03",
  "split": "2000:3",
  "exchange": "AU",
  "_asx_extra": {
    "asx_ticker": "NTM",
    "record_date": "2026-06-04",
    "effective_date": "2026-06-05",
    "new_security_code": "NTM",
    "calculation_method": "M",
    "corporate_action_id": "000478901"
  }
}

Bonus Issues

{
  "code": "RDM.AU",
  "date": "2026-05-13",
  "ratio": "4:21",
  "exchange": "AU",
  "pariPassu": false,
  "recordDate": "2026-05-14",
  "despatchDate": "2026-05-21"
}

Rights Issues

{
  "code": "CRR.AU",
  "date": "2026-05-07",
  "type": "non-renounceable",
  "ratio": "1:10",
  "currency": "AUD",
  "exchange": "AU",
  "pariPassu": false,
  "recordDate": "2026-05-08",
  "despatchDate": "2026-05-29",
  "applicationPrice": 0.001,
  "applicationCloseDate": "2026-05-22"
}

Capital Returns

{
  "code": "FAR.AU",
  "date": "2026-06-02",
  "value": 0.0035,
  "currency": "AUD",
  "exchange": "AU",
  "recordDate": "2026-06-03",
  "paymentDate": "2026-06-11"
}

Share Purchase Plan (SPP)

{
  "code": "WBT.AU",
  "price": 405,
  "currency": "AUD",
  "exchange": "AU",
  "maxAmount": 30000,
  "minAmount": 2500,
  "recordDate": "2026-03-25",
  "despatchDate": "2026-05-06",
  "offerCloseDate": "2026-04-29"
}

AU-specific Fields (Dividends)

Australian dividends carry additional attributes that reflect the local tax and reinvestment framework. These are exposed under _asx_extra:

FieldTypeDescription
franked_amount_audnumberPortion of the dividend that is franked, in AUD
franked_percentnumberFranking percentage (0–100)
drp_indicatorintegerDividend Reinvestment Plan status flag (ASX E34 code)
drp_price_audnumber or nullDRP issue price in AUD when applicable
drp_discount_ratenumberPercentage discount offered under the DRP
bsp_indicatorintegerBonus Share Plan status flag
special_indicatorstringY/N flag indicating a special dividend
withholding_tax_ratenumberNon-resident withholding tax rate in percent
tax_deferred_amount_audnumberTax-deferred portion of the distribution, in AUD
tax_advantaged_amount_audnumberConduit foreign income / tax-advantaged portion, in AUD
foreign_source_dividend_audnumberForeign source portion, in AUD
special_dividend_amount_audnumberSpecial dividend portion, in AUD
commentstringFree-text annotation from the ASX feed

Response Codes

CodeMeaning
200Success. Response includes data, meta, and links.
401Missing or invalid api_token.
403Plan does not include access to this endpoint.
422Validation error — invalid type, date format, or pagination range.
429Rate limit exceeded.

Known Limitations

  • ASX only. Only Australian Securities Exchange tickers are covered. Use the Splits and Dividends API for other exchanges.
  • Daily refresh. Data is imported once per day from the ASX ReferencePoint feed. Same-day changes may appear with up to a 24-hour delay.
  • Sparse categories. Buybacks and other action types currently have low record counts — ASX publishes these less frequently than dividends or rights issues.
  • Plan access. The endpoint is available on Fundamentals and All-in-One plans. It is not included in the standalone Fundamental plan.

Sign up & Get Data