v5

latestOpenAPI 3.1.0Proprietary2026-08-031,5423,1505.5 MB
Funds & ETFs

Derived per-ETF filing-cadence net flow estimate (creation/redemption proxy)

Derived endpoint that computes per-ETF net flow estimates for one ETF over the requested lookback window by walking the ETF snapshot history and emitting ONE period per CHANGE of the SEC-derived (aum_usd, nav) pair. Formula per period: net_flow = Δ(shares_outstanding) × to_nav where shares_outstanding = aum_usd / nav, from_date is the last snapshot carrying the old pair and to_date is the first snapshot carrying the new pair. This is the standard ETF creation/redemption proxy used by analysts; results are an ESTIMATE, not ICI-authoritative numbers. Snapshot aum_usd/nav derive from SEC filings (NPORT-P monthly, 485BPOS annual) and are constant between filings, so flows are reported on FILING CADENCE, not per calendar day (the previous per-day contract read 0.0 on every non-filing day). Consecutive snapshots with unchanged (aum_usd, nav) are a single plateau and produce NO entry. When fewer than 2 distinct plateaus exist in the window the response is 200 with period_flows=[] and total_net_flow_dollar_estimate=null (honest 'no change observed', not an error). Days where the snapshot blob is missing are silently skipped; plateaus span across missing dates. Use case: UC-3 Sector Rotation Detector per-ETF accumulation signal, complemented by ICI aggregate at /etf/flows/aggregate. BREAKING (DATA-N4.7.1): this endpoint replaced the per-calendar-day series contract with filing-cadence period_flows, and renamed the days query param to lookback_days. The old days param is SILENTLY IGNORED (FastAPI drops undeclared query params; it is not rejected) - a mid-migration client sending ?days=30 gets 200 with the default lookback window.

get/api/v1/etf/{symbol}/flows

Path parameters

symbolstring required

ETF ticker.

Example:SPY

ETF ticker.

Query parameters

lookback_daysinteger

Lookback window in days (1..90, default 90). Bounded by the 90-day ETF snapshot retention - a wider window can never hold more data (dated snapshots are swept after 90 days). Out-of-range returns 400. NOTE: the pre-DATA-N4.7.1 param days is no longer declared, so it is silently ignored, not rejected.

Lookback window in days (1..90, default 90). Bounded by the 90-day ETF snapshot retention - a wider window can never hold more data (dated snapshots are swept after 90 days). Out-of-range returns 400. NOTE: the pre-DATA-N4.7.1 param days is no longer declared, so it is silently ignored, not rejected.

Response

Per-symbol derived filing-cadence period flows + total.

Example response

{
  "data": {
    "symbol": "SPY",
    "lookback_days": 90,
    "period_flows": [
      {
        "from_date": "2026-04-30",
        "to_date": "2026-05-31"
      }
    ]
  },
  "meta": {
    "endpoint": "/api/v1/fred/us/cpi",
    "data_time": "2026-04-16T14:30:00Z",
    "response_time": "2026-04-16T14:30:12Z",
    "provider": "Sugra API v1.0.1",
    "source": "sugra_crypto",
    "attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
    "fallback_chain": [
      "sugra_crypto",
      "sugra_finance"
    ]
  }
}