API reference

Income and corporate actions

Dividends with franking and DRP prices, AMIT tax components, corporate actions and official tax FX rates.

Corporate actions

GET /v1/corporate-actions

1 credit per instrument 2 credits with fresh=true Operation ID income.corporateActions

Splits, consolidations, demergers, mergers, returns of capital, symbol and name changes and delistings. type says which detail object is filled in, the others have null fields. from and to bound the effective date.

Query parameters

  • symbols array of strings Required

    Comma separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...

    Up to 100 items

  • from date

    First day, YYYY-MM-DD

  • to date

    Last day, YYYY-MM-DD

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

  • types array of strings

    Comma separated action types, every type when empty

Response

  • data array of objects
    Show 4 fields
    • actions array of objects

      Oldest effective date first

      Show 11 fields
      • announcedDate date or null
      • delisting object
        Show 1 field
        • reason string or null

          As the exchange gave it

      • demerger object
        Show 4 fields
        • au object
          Show 1 field
          • costBaseApportionmentPct number or null

            Share of the original cost base that moves to the demerged company, as the ATO sets it

        • child string or null

          The demerged company's symbol, null until it's known

        • childName string or null

          The demerged company

        • ratio number or null

          Demerged shares for every share held

      • effectiveDate date

        The ex date of splits and demergers, the first day under a new symbol or name, the last trading day before a delisting

      • merger object
        Show 4 fields
        • acquirer string or null

          Symbol of the company whose shares are paid

        • cash number or null

          Cash for every share held

        • currency string or null
        • ratio number or null

          Acquirer shares for every share held

      • nameChange object
        Show 2 fields
        • new string or null
        • old string or null
      • returnOfCapital object
        Show 2 fields
        • amount number or null

          Per share

        • currency string or null
      • split object

        Filled in for split and consolidation

        Show 2 fields
        • new number or null

          Shares held after, for every old number of shares

        • old number or null

          Shares held before

      • status string

        One of announcedconfirmedcompletedcancelled

      • symbolChange object
        Show 2 fields
        • new string or null
        • old string or null
      • type string

        One of splitconsolidationdemergermergerreturn_of_capitalsymbol_changename_changedelisting

    • asOf timestamp

      The 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 checked it with a source

    • instrument object

      What the symbol resolved to

      Show 7 fields
      • country string or null
      • currency string or null
      • id string
      • mic string or null
      • name string
      • symbol string
      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybond

    • symbol string

      The symbol as sent

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • symbol string
  • meta object
    Show 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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

GET /v1/dividends

1 credit per instrument 2 credits with fresh=true Operation ID income.dividends

Every dividend with its dates, the amount as declared and adjusted for later splits, reinvestment plan details and Australian franking. from and to bound the ex date. Status firms up from announced to confirmed to paid.

Query parameters

  • symbols array of strings Required

    Comma separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...

    Up to 100 items

  • from date

    First day, YYYY-MM-DD

  • to date

    Last day, YYYY-MM-DD

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 4 fields
    • asOf timestamp

      The 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 checked it with a source

    • dividends array of objects

      Oldest ex date first

      Show 11 fields
      • adjustedAmount number

        Per share today, after every split and consolidation since the ex date

      • amount number

        Per share as declared

      • au object

        Australian franking, null fields elsewhere

        Show 4 fields
        • conduitForeignIncome number or null

          Per share, in the dividend's currency

        • frankedPct number or null

          Share of the dividend that is franked, 0 to 100

        • frankingCredit number or null

          Per share, in the dividend's currency

        • taxRatePct number or null

          Company tax rate the credit was worked out at

      • currency string
      • declaredDate date or null
      • drp object

        Dividend reinvestment plan, null fields when there is none

        Show 2 fields
        • discountPct number or null

          Discount to market the plan gives, 0 to 100

        • price number or null

          Reinvestment price per share, in the dividend's currency

      • exDate date
      • payDate date or null
      • recordDate date or null
      • status string

        One of announcedconfirmedpaidcancelled

      • type string

        One of regularinterimfinalspecialreturn_of_capitalcapital_gains

    • instrument object

      What the symbol resolved to

      Show 7 fields
      • country string or null
      • currency string or null
      • id string
      • mic string or null
      • name string
      • symbol string
      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybond

    • symbol string

      The symbol as sent

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • symbol string
  • meta object
    Show 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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

GET /v1/tax/au/components

5 credits per instrument Growth and up 10 credits with fresh=true Operation ID tax.auComponents

AMIT attribution components of every distribution in an Australian financial year, per unit. basis is estimate until the issuer publishes its final annual (AMMA) figures. Components the issuer didn't report are null.

Query parameters

  • symbols array of strings Required

    Comma separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...

    Up to 100 items

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

  • financialYear integer

    Named 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

  • data array of objects
    Show 5 fields
    • asOf timestamp

      The 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 checked it with a source

    • distributions array of objects
      Show 24 fields
      • amitCostBaseDecrease number or null
      • amitCostBaseIncrease number or null
      • basis string

        One of estimatefinal

      • cashDistribution number or null
      • cgtConcession number or null
      • currency string
      • discountedCapitalGainsNtap number or null

        On other than taxable Australian property

      • discountedCapitalGainsTap number or null

        On taxable Australian property

      • exDate date or null
      • foreignIncome number or null

        Assessable foreign income grossed up for the foreign tax paid on it

      • foreignIncomeTaxOffset number or null
      • frankedDividends number or null
      • frankingCredits number or null
      • indexedCapitalGains number or null
      • interest number or null
      • netExemptIncome number or null
      • nonAssessableNonExempt number or null
      • otherCapitalGainsNtap number or null
      • otherCapitalGainsTap number or null
      • otherIncome number or null
      • otherNonAttributable number or null
      • payDate date
      • unfrankedCfiDividends number or null

        Unfranked dividends that are conduit foreign income

      • unfrankedDividends number or null
    • financialYear integer
    • instrument object

      What the symbol resolved to

      Show 7 fields
      • country string or null
      • currency string or null
      • id string
      • mic string or null
      • name string
      • symbol string
      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybond

    • symbol string

      The symbol as sent

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • symbol string
  • meta object
    Show 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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.

Official FX rates for tax

GET /v1/tax/fx

1 credit per pair 2 credits with fresh=true Operation ID 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

  • authority string Required

    One of RBAATOECBHMRCIRSBOC

  • pairs array of strings Required

    Comma separated currency pairs, up to 100

    Up to 100 items

  • period string

    What each rate stands for. year_end is the rate on the last day of the tax year

    One of dailymonthlyyearlyyear_end

    Defaults to daily

  • from date

    First day, YYYY-MM-DD

  • to date

    Last day, YYYY-MM-DD

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 5 fields
    • asOf timestamp

      The 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 checked it with a source

    • base string
    • pair string
    • quote string
    • rates array of objects
      Show 2 fields
      • date date
      • rate number

        Units of quote per unit of base

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • pair string

      The pair upper cased, or as sent when it isn't a pair

  • meta object
    Show 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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.