ETF history

API Enterprise

One fund's daily net asset value, shares outstanding, net assets and flow over a date window, sourced from the issuer or the listing exchange. The timeseries counterpart of the daily endpoint: a row here equals the daily row for the same fund and date.

Built for analysts and charting: name the fund by exchange and ticker, or by ISIN, state the window, and get every day in it. The response is uncharged (no credits) and the envelope's instrument block says exactly which fund was resolved, with its ortexFundId and the ORTEX exchange symbol and MIC its listing venue maps to.

Available Data Points:

  • Date: The date the figures are for, as the issuer dates them (YYYY-MM-DD).
  • NAV: Net asset value per share, in the row's currency.
  • Shares Outstanding: Shares (or units) in issue at the close.
  • Net Assets: Total net assets of the share class, in the row's currency.
  • Flow: NAV times the change in shares outstanding since the previous observation. Null when the previous observation is missing or unusable - distinct from zero.
  • Currency: ISO 4217 code the figures are stated in.
  • Data Source: The issuer or exchange adapter that produced the row.
  • NAV Origin / Shares Origin / Assets Origin: reported (by the issuer), derived_assets (net assets divided by NAV), derived_basket (from the creation basket) or vendor (a vendor backfill).
  • Updated At: When the row was last written (ISO 8601, UTC).

Identifying the fund

The path is the same as on every other single-instrument endpoint: the venue, then the ticker (US/SPY, XETR/SPY5, ARCA/SPY). The venue is an ORTEX exchange symbol, an operating MIC or an ISO-2 country code, compared against the exchange the fund's listing maps to - the exchangeSymbol and mic the funds endpoint reports for the fund, so a row from the catalog pastes straight into this path. A fund whose venue cannot be mapped (exchangeSymbol null on the funds endpoint) is reached by its country code or by ISIN. Alternatively name the fund by identifier: isin/IE00B4L5Y983 resolves on the fund's own ISIN - a share class listed on several venues resolves to one listing (one in the ISIN's country where it has one, else the most important venue it is listed on) and the instrument block says which; name another venue with exchange and ticker. tid/, sid/, cid/ and figi/ resolve where the fund has a listing in the security master and return 404 where it has none. A malformed identifier is 400 invalidIdentifier; a well-formed one matching no fund is 404 instrumentNotFound.

Date window

from_date is required; to_date defaults to today. An empty result carries the fund's full available range in meta.availability, so an out-of-range request is distinguishable from a genuine gap.

Try it out! You can test the API with the trial key TEST. Simply include it in your request headers; either here, or add the header "Ortex-Api-Key": "TEST" to your http request.

Trial key restrictions: Trial keys may be limited to a specific date range and set of regions. Requests outside the allowed regions or entirely outside the allowed date range are rejected; a date window that partially overlaps the allowed range is trimmed to it, reported in meta.restriction.

Get full access! Contact [email protected]

Path Params
string
required

Where to find the instrument: a venue (exchange symbol, MIC or ISO-2 country) or an identifier scheme (tid, sid, cid, isin, figi). See Identifying an instrument.

string
required

The ticker on that venue, or the value in that scheme. An ISIN, sid, cid or share-class FIGI answers for the main listing only; reference/listings lists the others. See Identifying an instrument.

Query Params
date
required

Inclusive start of the returned date window. Format: YYYY-MM-DD.

date

Inclusive end of the returned date window (defaults to today). Format: YYYY-MM-DD.

integer

Page number within the paginated result set. Must be >= 1. Defaults to 1.

integer

Number of rows per page. The default and the maximum allowed depend on the API tier; a value above the tier maximum is rejected with 400 invalidPageSize.

string
enum
Defaults to json

Response format. "json" (default) or "csv".

Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/csv