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]
