Financial holdings charts and reports on a desk

ETF Holdings API

ETF holdings by ticker and date.

Explore holdings in a clean table or call the API directly. Send a ticker and date. Get holdings with weights and exact identifiers.

Coverage

Check ticker coverage.

See whether a ticker has current holdings and which historical years are supported.

CurrentWaiting
Check current endpoint coverage

Check current endpoint coverage.

HistoricalWaiting
Check historical endpoint coverage

Check supported historical years.

ETF overlap

See what two ETFs hold in common.

Compare SPY and QQQ for shared holdings, allocation differences, unique positions, and portfolio exposure.

Compare SPY and QQQ
SPY · QQQ
Shared holdingsCompare the latest snapshot

Pricing

$1 per 100,000 holdings returned.

Add prepaid credits as needed. The minimum top-up is $10.

  • Billing is based on the number of holdings returned.
  • Authentication errors, validation errors, and requests with no holdings are not billable.
  • Usage is shown by API key.
Monthly requests
3,000
Holdings returned
1,500,000
Estimated daily spend
$0.50
Estimated monthly spend
$15.00
$10 top-up covers
1,000,000 holdings

API

Programmatic REST API access.

Ask for a ticker and date. The API returns the resolved holdings date, the SEC source form when historical data is used, and each holding's weight and identifiers.

GET/api/v1/historical/holdings?ticker=SPY&at=1997-12-31&limit=3
Need more info?Read the docs
Request
curl "https://etf-holdings.com/api/v1/historical/holdings?ticker=SPY&at=1997-12-31&limit=3" \
  -H "Authorization: Bearer $ETF_HOLDINGS_API_KEY"
Response
{
  "ticker": "SPY",
  "asOf": "1997-09-30",
  "source": "N-30D",
  "holdings": [
    {
      "weight": 0.03035840526,
      "identifiers": {
        "ticker": "GE",
        "name": "General Electric Co.",
        "original": "General Electric Co."
      }
    },
    {
      "weight": 0.021660011916,
      "identifiers": {
        "name": "Exxon Corp.",
        "original": "Exxon Corp."
      }
    },
    {
      "weight": 0.021600987918,
      "identifiers": {
        "ticker": "MSFT",
        "name": "Microsoft Corp. *",
        "original": "Microsoft Corp. *"
      }
    }
  ]
}

Access

Sign in, add credits, and use the explorer or create API keys.

  1. 01Create an account

    Use Google, Microsoft, or email sign-in.

  2. 02Top up credits

    Add prepaid credits before making paid requests.

  3. 03Use the explorer or API keys

    Run searches in the explorer, or query programmatically via API.

etf-holdings.com

Questions?