API QuantAPI Developer
Flow-implied passive demand: the buying or selling of a stock that ETF creations and redemptions implied on each date. When an ETF creates units it buys its basket and when it redeems it sells it, so each fund's daily flow (NAV times the change in units, in USD) times the stock's weight in that fund, summed over every ETF holding the stock, is the passive demand for it that day, in USD, in shares, and as a share of average daily volume and of shares outstanding.
This endpoint returns one row per constituent of the requested index or universe that had ETF flows on the date. A date with no stored figures (a weekend, a holiday, a date ahead of the latest run) resolves back to the most recent date that has them.
This API returns data for multiple stocks — every constituent of a market index, or of one of your own universes — for the specified date.
Available Data Points:
- Date: The trading date of the ETF flows (
YYYY-MM-DD). - Exchange Symbol: Symbol of the exchange where the security trades.
- Ticker: The ticker symbol associated with the security.
- Company Name: The name of the company issuing the security.
- Ortex Company ID: Unique id for a company.
- Ortex Security ID: Unique id for a security issued by a company.
- Ortex Tradable Item ID: Unique id for a listing of a security.
- Implied Net USD: Net passive buying (positive) or selling (negative) of the stock implied by the date's ETF flows, USD.
- Implied Buy USD: The positive contributions: funds whose creations bought the stock, USD.
- Implied Sell USD: The negative contributions: funds whose redemptions sold the stock, USD. Never positive.
- Implied Net Shares: The net demand in shares, at the date's price.
- Pct ADV: Implied net shares as a percentage of the one-month average daily volume summed over the stock's listings.
- Pct Shares Outstanding: Implied net shares as a percentage of the shares outstanding on the date.
- Price USD: The close of the stock's most liquid listing on the date (or the latest in the week before), in USD.
- ADV Shares: One-month average daily volume summed over the stock's live listings, shares.
- Shares Outstanding: Shares outstanding on the date, as they stood then.
- Fund Count: ETFs whose flow reached the stock.
- Share Based Fund Count: Of those, funds whose basket states shares but no weights.
- Stale Fund Count: Of those, funds whose holdings file was more than a week old.
- Max Holdings Age Days: Age of the oldest holdings file behind the row, days.
- Avg Holdings Age Days: Age of the holdings files behind the row, weighted by each fund's flow, days.
Point in time
A flow on a date is applied with the holdings file each fund had published before that date - its basket at the previous close - never a file dated on or after it. A fund's quarterly SEC N-PORT basket counts only from sixty days after its quarter end, when it is published. A file is used for at most 35 days (100 for monthly Vanguard US files, 155 for N-PORT); a fund with no file inside that bound contributes nothing. avgHoldingsAgeDays, maxHoldingsAgeDays and staleFundCount say how old the files behind each row were.
What is excluded
Leveraged, inverse and synthetic (swap-based) funds are left out: their exposure is a swap whose hedge, not the fund's own basket, does the trading. ETNs and ETCs hold no stocks. Cash, futures and bond lines are never attributed to a stock, but stay in each fund's weights, so the cash part of a creation is not reattributed to the stocks. Holdings that ORTEX could not match to a listing are not attributed.
Units and coverage
Demand is per security: funds that file one stock under different venues add up. Shares are converted at the USD close of the stock's most liquid listing; pctAdv divides by the one-month average daily volume summed over the stock's listings in ORTEX (off-exchange and unlisted venues are not in it). Share figures are left null where they would exceed 10% of the shares outstanding in a day: that is a wrong price, not demand. Funds whose basket states share counts but no weights (the mainland China exchange baskets) contribute the change in units times their share count, counted in shareBasedFundCount. Coverage follows the ORTEX holdings store: daily issuer files since October 2026, and before that about one file per fund per month plus the quarterly N-PORT baskets of US funds.
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! Get a key at app.ortex.com/apis
