ETF holdings, region

API Enterprise

Every exchange-traded fund's holdings in a region on a date: for each fund listed in the region, every line of its holdings file on the date, with the fund's identity on each row.

Uncharged. date defaults to today, which serves each fund's latest file.

Available Data Points:

  • Ortex Fund Id / Ticker / ISIN / Exchange / Country: The fund's identity, as on the ETF daily rows.
  • FIGI / Composite FIGI / Share Class FIGI: The fund's own OpenFIGI identifiers, as on the ETF funds list.
  • As Of Date: The holdings date the fund's file states (YYYY-MM-DD).
  • Holding Name: The holding's name as the issuer prints it.
  • Holding Ticker: The holding's ticker as the issuer prints it; empty where the issuer prints none.
  • Holding ISIN: The holding's ISIN as the issuer prints it; empty where the issuer prints none.
  • Asset Class: equity, bond, cash, futures or other (normalized by ORTEX); cash, futures and collateral lines are kept so the weights sum to the fund.
  • Shares: Shares or units (par for a bond) the fund holds, as printed.
  • Market Value: Market value of the holding in the fund's reporting currency, as printed.
  • Weight: Fraction of the fund (0.1024 is 10.24%), as printed.
  • Data Source: The issuer or exchange adapter that fetched the file (ishares_us, sec_nport).
  • Fetched At: When ORTEX's archive received the file (ISO 8601, UTC): the earliest the holdings could be known.
  • Holding Exchange: The holding's venue as the issuer names it; empty where the issuer names none.
  • Holding MIC: The MIC ORTEX maps that venue to; empty when it maps to none. Never guessed from a ticker.
  • Currency: The holding's currency as the issuer prints it (ISO 4217).
  • Sector: The issuer's own sector label, in the issuer's scheme (not GICS); empty where none is printed.
  • Ortex Tid: The held instrument's ORTEX listing id where ORTEX matched the line (by ISIN, or ticker and venue); null where it did not. Unmatched lines are served: they carry weight.
  • Ortex Sid: The held instrument's ORTEX security id (all listings of one share line); null where unmatched.
  • Ortex Cid: The held instrument's ORTEX company id; null where unmatched.
  • Holding FIGI: OpenFIGI identifier of the listing ORTEX matched the line to; null where unmatched or unknown.
  • Holding Composite FIGI: OpenFIGI composite (country-level) identifier of that listing; null where unknown.
  • Holding Share Class FIGI: OpenFIGI share-class identifier of the matched instrument, the same on every listing of it; null where unknown.

Which holdings file

Holdings come from the fund issuer's published holdings file (or the SEC's quarterly N-PORT data set for US funds), stored as published. The holdings on a date are the fund's newest file dated on or before it, provided that file is no more than 7 days older than the date for issuers that publish daily, 100 days for monthly publishers (Vanguard) and 155 days for N-PORT (quarterly, released about two months after the quarter). A fund with no file inside that bound has no holdings on the date. Every row carries the date its file states (asOfDate), so a basket older than the date asked for is visible as such. When an issuer re-issues a file for the same date, the later file is served.

Region and order

region selects funds by their listing country. Rows are grouped by fund (ordered by ortexFundId), largest weight first within a fund.

CSV is paged

A CSV response is one page, like JSON (page / page_size, up to your plan's page size), because a whole result can run to millions of lines. The Ortex-Total-Rows header gives the total, so a loader knows how many pages to request.

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]

Query Params
string
Defaults to US

Which instruments to return: a region name, a two-character ISO-2 country code, or "ALL" for the whole covered universe. Defaults to "US". An unrecognized value returns 400 invalidRegion.

date

The single date to return data for (defaults to the latest available). 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
*/*