API reference
Income and corporate actions
Dividends with franking and DRP prices, AMIT tax components, corporate actions and official tax FX rates.
Corporate actions
/v1/corporate-actions Splits, consolidations, demergers, mergers, returns of capital, symbol and name changes and delistings. Each action has the detail object its type names. The from and to parameters bound the effective date.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
typesarray of stringsComma-separated action types, every type when empty
Response
dataarray of objectsShowHide 4 fields
actionsarray of objectsOldest effective date first
ShowHide 11 fields
announcedDatedate or nulldelistingobjectOnly on delisting
ShowHide 1 field
reasonstring or nullAs the exchange gave it
demergerobjectOnly on demerger
ShowHide 4 fields
auobjectOnly for Australian demergers
ShowHide 1 field
costBaseApportionmentPctnumber or nullShare of the original cost base that moves to the demerged company, as the ATO sets it
childstring or nullThe demerged company's symbol, null until it's known
childNamestring or nullThe demerged company
rationumber or nullDemerged shares for every share held
effectiveDatedateThe ex-date of splits and demergers, the first day under a new symbol or name, the last trading day before a delisting
mergerobjectOnly on merger
ShowHide 4 fields
acquirerstring or nullSymbol of the company whose shares are paid
cashnumber or nullCash for every share held
currencystring or nullrationumber or nullAcquirer shares for every share held
nameChangeobjectOnly on name_change
ShowHide 2 fields
newstring or nulloldstring or null
returnOfCapitalobjectOnly on return_of_capital
ShowHide 2 fields
amountnumber or nullPer share
currencystring or null
splitobjectOnly on split and consolidation
ShowHide 2 fields
newnumber or nullShares held after, for every old number of shares
oldnumber or nullShares held before
statusstringOne of
announcedconfirmedcompletedcancelledsymbolChangeobjectOnly on symbol_change
ShowHide 2 fields
newstring or nulloldstring or null
typestringOne of
splitconsolidationdemergermergerreturn_of_capitalsymbol_changename_changedelisting
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Dividends and distributions
/v1/dividends Every dividend with its dates, the amount as declared and adjusted for later splits, reinvestment plan details and Australian franking. The from and to parameters bound the ex-date. Status firms up from announced to confirmed to paid.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
dividendsarray of objectsOldest ex-date first
ShowHide 11 fields
adjustedAmountnumberPer share today, after every split and consolidation since the ex-date
amountnumberPer share as declared
auobjectAustralian franking, only on Australian dividends
ShowHide 4 fields
conduitForeignIncomenumber or nullPer share, in the dividend's currency
frankedPctnumber or nullShare of the dividend that is franked, 0 to 100
frankingCreditnumber or nullPer share, in the dividend's currency
taxRatePctnumber or nullCompany tax rate the credit was worked out at
currencystringdeclaredDatedate or nulldrpobjectDividend reinvestment plan, only when there is one
ShowHide 2 fields
discountPctnumber or nullDiscount to market the plan gives, 0 to 100
pricenumber or nullReinvestment price per share, in the dividend's currency
exDatedatepayDatedate or nullrecordDatedate or nullstatusstringOne of
announcedconfirmedpaidcancelledtypestringOne of
regularinterimfinalspecialreturn_of_capitalcapital_gains
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Australian trust tax components
/v1/tax/au/components AMIT attribution components of every distribution in an Australian financial year, per unit. The basis field is estimate until the issuer publishes its final annual (AMMA) figures. Components the issuer didn't report are null.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
financialYearintegerNamed by the year it ends in, so 2026 runs 1 July 2025 to 30 June 2026. Defaults to the current one
From 2000 to 2100
Response
dataarray of objectsShowHide 5 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
distributionsarray of objectsShowHide 24 fields
amitCostBaseDecreasenumber or nullamitCostBaseIncreasenumber or nullbasisstringOne of
estimatefinalcashDistributionnumber or nullcgtConcessionnumber or nullcurrencystringdiscountedCapitalGainsNtapnumber or nullOn other than taxable Australian property
discountedCapitalGainsTapnumber or nullOn taxable Australian property
exDatedate or nullforeignIncomenumber or nullAssessable foreign income grossed up for the foreign tax paid on it
foreignIncomeTaxOffsetnumber or nullfrankedDividendsnumber or nullfrankingCreditsnumber or nullindexedCapitalGainsnumber or nullinterestnumber or nullnetExemptIncomenumber or nullnonAssessableNonExemptnumber or nullotherCapitalGainsNtapnumber or nullotherCapitalGainsTapnumber or nullotherIncomenumber or nullotherNonAttributablenumber or nullpayDatedateunfrankedCfiDividendsnumber or nullUnfranked dividends that are conduit foreign income
unfrankedDividendsnumber or null
financialYearintegerinstrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Read an Australian AMMA tax statement
/v1/tax/au/statements Reads a holder's AMIT member annual (AMMA) statement from any Australian registry and returns its tax return labels and components in dollars. Send the units held at each of the year's distributions too, and the statement helps work out the fund's components per unit: once enough statements with different holdings are in, each distribution is solved exactly and goes final. Only the amounts are kept, never the file or who the holder is.
Form fields
filefile RequiredThe statement as the registry sent it
Sent as application/pdf
holdingsarray of objectsUnits held at each of the year's distributions, leaving out those not held
Up to 366 items
ShowHide 2 fields
datedate RequiredThe distribution's ex date or payment date
unitsnumber RequiredAt least 0
symbolstringThe fund, needed when the statement doesn't print its ASX code
Response
dataobjectShowHide 5 fields
amountsobjectIn dollars, the holder's total for the year
ShowHide 20 fields
amitCostBaseDecreasenumber or nullamitCostBaseIncreasenumber or nullcashDistributionnumber or nullcgtConcessionnumber or nulldiscountedCapitalGainsNtapnumber or nullOn other than taxable Australian property
discountedCapitalGainsTapnumber or nullOn taxable Australian property
foreignIncomenumber or nullAssessable foreign income grossed up for the foreign tax paid on it
foreignIncomeTaxOffsetnumber or nullfrankedDividendsnumber or nullfrankingCreditsnumber or nullindexedCapitalGainsnumber or nullinterestnumber or nullnetExemptIncomenumber or nullnonAssessableNonExemptnumber or nullotherCapitalGainsNtapnumber or nullotherCapitalGainsTapnumber or nullotherIncomenumber or nullotherNonAttributablenumber or nullunfrankedCfiDividendsnumber or nullUnfranked dividends that are conduit foreign income
unfrankedDividendsnumber or null
contributionstring or nullNull without holdings. Conflicting statements can't be fitted with the fund's others and are set aside
One of
usedconflictingfinancialYearintegersymbolstringtaxReturnobjectTax return (supplementary section) labels, like 13U
metaobjectShowHide 3 fields
asOftimestamp or nullThe point in time this data describes, like when a filing was published. Null where that doesn't apply, as with account data
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden404 Not Found422 Unprocessable Entity429 Too Many Requests500 Internal Server Error502 Bad Gateway503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Official FX rates for tax
/v1/tax/fx Rates a tax authority publishes for converting foreign amounts, as distinct from market FX, which lives in prices.daily under FX: symbols. Each rate is dated on the last day of its period. Pairs go in the direction the authority publishes, like AUDUSD for the RBA and USDCAD for the BoC.
Query parameters
authoritystring RequiredOne of
RBAATOECBHMRCIRSBOCpairsarray of strings RequiredComma-separated currency pairs, up to 100
Up to 100 items
periodstringWhat each rate stands for, where year_end is the rate on the last day of the tax year
One of
dailymonthlyyearlyyear_endDefaults to daily
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 5 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
basestringpairstringquotestringratesarray of objectsShowHide 2 fields
datedateratenumberUnits of quote per unit of base
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolnot_supporteddata_unavailabledata_pendingdata_failedmessagestringpairstringThe pair upper cased, or as sent when it isn't a pair
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.