# ETF and index-fund holdings

Get an ETF or index fund's holdings and weights, or find funds that hold a US security

|  |  |
| --- | --- |
| Tool id | `financialdatasets.index-funds` |
| Platform | [Stocks \& market data](https://www.orcarouter.ai/tools/stocks.md) |
| Capability | [Institutional holdings](https://www.orcarouter.ai/tools/stocks/filings-holdings.md) |
| Price | $0.022 per call |
| Health | OK |
| p50 latency | — |
| Success (7 days) | — |
| Runs (30 days) | — |
| Idempotent | yes |
| Data class | financial |

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `as_of` | string | no | YYYY-MM-DD; valid only with ticker; returns the fund composition in effect on or before this date |
| `asset_class` | string | no | equity \| bond; valid only with ticker; omit for all holdings |
| `cursor` | string | no | opaque cursor from the response next_page_url; when supplied, omit the original filters because the cursor preserves them |
| `holding` | string | no | US security ticker; supply exactly one of ticker or holding to find funds whose latest filing holds the security |
| `limit` | integer | no | total rows across all pages; default 50; each response page contains up to 10 rows |
| `offset` | integer | no | rows to skip; default 0 |
| `ticker` | string | no | ETF or index-fund ticker; supply exactly one of ticker or holding. If availability is uncertain, call financialdatasets.index-funds.tickers first |

## Call it

```bash
curl -sS https://api.orcarouter.ai/v1/tools/financialdatasets.index-funds/run \
  -H "Authorization: Bearer $ORCAROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{}}'
```

```python
import os, requests

resp = requests.post(
    "https://api.orcarouter.ai/v1/tools/financialdatasets.index-funds/run",
    headers={"Authorization": f"Bearer {os.environ['ORCAROUTER_API_KEY']}"},
    json={"input":{}},
)
print(resp.json())
```

## Alternatives

| Tool | Source | Price | Health |
| --- | --- | --- | --- |
| [Available institutional investors](https://www.orcarouter.ai/tools/stocks/filings-holdings/institutional-holdings-investors.md) | — | $0.001 per call | OK |
| [Available institutional-holdings tickers](https://www.orcarouter.ai/tools/stocks/filings-holdings/institutional-holdings-tickers.md) | — | $0.001 per call | OK |
| [US institutional holdings](https://www.orcarouter.ai/tools/stocks/filings-holdings/institutional-holdings.md) | — | $0.022 per call | OK |

## FAQ

### How much does ETF and index-fund holdings cost?

ETF and index-fund holdings costs $0.022 per call: 1,000 calls cost $22.00.

### What does a $10 budget buy with ETF and index-fund holdings?

About 454 calls at $0.022 per call.

### What inputs does ETF and index-fund holdings need?

It has no required inputs.

### How do I call ETF and index-fund holdings?

Send POST /v1/tools/{id}/run with your OrcaRouter API key and a JSON body {"input": {…}}, where {id} is the tool id POST /v1/tools/discover returns for it.

---

Markdown version of https://www.orcarouter.ai/tools/stocks/filings-holdings/index-funds
