Pushbuild

Mutual Fund & ETF Holdings API: SEC N-PORT Portfolios

Full portfolio holdings of US mutual funds and ETFs from SEC Form N-PORT: every position with CUSIP, ISIN, shares, market value, % of net assets and asset category, plus net assets, report period and filing date. Look up by ticker or series id.

$0.24 per 1,000 holdings

Get an API key

What it returns

The complete portfolio of US mutual funds and ETFs, from the Form N-PORT reports they file with the SEC on EDGAR. Look funds up by ticker (VFIAX, ARKK, QQQ) or SEC series id.

| field | meaning |. |---|---|. | `fund`, `seriesId`, `seriesName`, `registrant` | which fund |. | `reportPeriodEnd`, `filedDate` | the portfolio date, and the date the report became public (use this for point-in-time work) |. | `netAssets`, `totalAssets` | fund size on the report date |. | `name`, `title`, `cusip`, `isin`, `ticker`, `lei` | the security |. | `balance`, `units` | shares, principal amount or contracts held |. | `valueUsd`, `pctOfNetAssets`, `rank` | position value, weight and rank by value |. | `assetCategory`, `assetCategoryName`, `issuerCategory`, `country` | equity, debt, derivative and so on; corporate, government; country of risk |. | `payoff`, `fairValueLevel`, `isRestricted` | long or short, fair value hierarchy level, restricted security |. `summaryOnly` returns one row per report with net assets, the number of holdings and the top 10 positions.

Request

POST https://api.pushbuild.com/sec-fund-holdings/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
fundslist of stringsMutual fund or ETF tickers (VFIAX, ARKK, QQQ) or SEC series ids (S000002839). Up to 50. Unit investment trusts such as SPY file no N-PORT.
periodsintegerLatest N public N-PORT reports per fund (public reports are quarterly). Default: 1.
topNintegerOnly the largest N positions by value per report. 0 for all. Default: 0.
minPctOfNetAssetsnumberLeave out positions smaller than this share of the fund. Default: 0.
summaryOnlybooleanOne row per report: net assets, number of holdings and the top 10 positions. Default: false.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/sec-fund-holdings/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"funds": ["ARKK", "QQQ"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.24 per 1,000 holdings. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.