📊 SEC Form N-PORT — Mutual Fund Holdings & Risk Data
Pricing
from $50.00 / 1,000 n-port holding records
📊 SEC Form N-PORT — Mutual Fund Holdings & Risk Data
Pull mutual fund / ETF portfolio holdings from SEC EDGAR Form N-PORT public filings. CUSIP/ISIN/ticker, value USD, % of NAV, asset/issuer category, securities lending, debt coupon/maturity, fund risk metrics. Morningstar Direct / Refinitiv Lipper / Bloomberg fund-holdings alternative.
Pricing
from $50.00 / 1,000 n-port holding records
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Every position, every fund, every quarter — straight from the SEC. Pull machine-readable mutual fund, ETF, and closed-end fund portfolio holdings from SEC EDGAR Form N-PORT public filings. Filter by fund CIK, by issuer ticker, or by recent filings. Each record carries the full security identifier set (CUSIP / ISIN / ticker / LEI), the position size and currency, fair value in USD, percent of NAV, asset and issuer categorization, country of investment, securities-lending status, debt coupon and maturity, and a live link back to the source XML. Institutional fund-holdings analytics at a fraction of Morningstar Direct, Refinitiv Lipper, or ICI Research pricing.
This actor reads the same primary data set that powers $25,000+ per-seat enterprise products. Every U.S. registered investment company has been required to file Form N-PORT monthly since 2018; the third month of each quarter is made public 60 days after period end. The filings are public. The XML schema is documented. Nobody has built a clean institutional-grade API around it — until now.
Why this actor beats the alternatives
| Feature | This Actor | Morningstar Direct | Refinitiv Lipper for IM | Bloomberg Fund Holdings | ICI Research |
|---|---|---|---|---|---|
| Coverage | ALL NPORT-P filings (~10,000 funds, ~50M holdings/yr) | Curated subset (~30,000 share classes) | Enterprise client list | Bloomberg-licensed coverage | Aggregate stats only |
| Refresh latency | Real-time (within hours of EDGAR public release) | Monthly | Monthly | Monthly | Quarterly |
| Pricing | Pay-per-holding ($0.05 / record) | $17,500+/yr per seat | Enterprise contract ($25K+/yr) | Bloomberg Terminal ($24K/yr) | Subscription |
| Filter by fund CIK | ✅ Direct | ✅ | Manual | ✅ | ❌ |
| Filter by issuer (cross-fund) | ✅ One query | Limited | ✅ | ✅ | ❌ |
| Filter by recent filings | ✅ daysBack window | ❌ | ❌ | ❌ | ❌ |
| Fund-level risk metrics (DV01, NAV) | ✅ Included on every row | ✅ | ✅ | ✅ | Aggregate |
| Securities lending status | ✅ Per position | ✅ | Limited | ✅ | ❌ |
| Debt coupon / maturity | ✅ Per debt position | ✅ | ✅ | ✅ | ❌ |
| Output format | JSON / CSV / Excel | Excel/Workspace only | Workspace only | Excel / API tier | PDF reports |
| API / scriptable | ✅ REST + SDK | Limited | Limited | Limited | ❌ |
| Setup time | < 1 minute | 4-8 weeks | 4-8 weeks | 4-8 weeks | N/A |
| Source | SEC EDGAR (primary) | SEC EDGAR + Morningstar overlay | SEC EDGAR + Refinitiv overlay | SEC EDGAR + Bloomberg overlay | ICI surveys + SEC |
What you get
Every dataset item is a single portfolio holding with these fields:
- Fund identifiers:
fund_cik,fund_name,fund_series_id,fund_series_name,fund_lei - Filing context:
filing_id(EDGAR accession),filing_date,report_period_end,net_assets_usd - Security identifiers:
security_name,security_title,security_lei,cusip,isin,ticker,other_identifier,other_identifier_desc - Quantities + valuation:
balance,units(NS / PA / OU),currency,value_usd,pct_of_nav - Categorization:
asset_category(equity-common / equity-preferred / debt / asset-backed / loan / municipal-bond / derivative / repurchase-agreement / etc.),issuer_category(corporate / foreign-government / us-treasury / municipal / etc.),investment_country,is_restricted_security,fair_value_level(FASB ASC 820 tier 1/2/3),payoff_profile(long / short / N/A) - Debt-only fields:
coupon_rate_pct,maturity_date,is_default,interest_in_arrears,is_paid_in_kind - Securities lending:
securities_lending_loan_value_usd,is_loaned_by_fund,is_cash_collateral - Audit trail:
_source_url— direct link to the EDGAR primary_doc.xml for that filing
Every field is normalized — no parsing free-text "EC" vs "Equity Common" vs "Common Equity" across thousands of funds. Asset and issuer categories are mapped from the raw N-PORT codes into a stable, queryable taxonomy.
Use cases
- Multi-asset allocators / fund-of-funds managers — see exactly what your underlying funds hold, audit overlap, rebuild your true look-through exposures
- ESG fund managers — verify your competitors' green / sustainable / climate fund holdings against marketing claims, audit greenwashing
- Activist hedge fund desks — see which mutual funds hold your target company in concentrated positions; size potential opposition / support
- Quant funds / smart-beta strategists — backtest the holdings-overlap factor, replicate active fund factor exposures, build mutual-fund-mimicking ETFs
- Securities-lending desks — see which funds make stocks available for borrow, identify the deepest pools of inventory by issuer
- Credit research analysts — see which mutual funds hold a specific bond (CUSIP / ISIN); track exit risk from fund-flow pressure
- Compliance / risk teams — verify your in-house fund-holdings database vs the SEC primary source; reconcile NAV and total-assets discrepancies
- Academic research — replicate published studies (Cremers / Petajisto active share, Jiang / Verbeek holding overlap), build longitudinal panels
Quick start
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("nexgendata/sec-form-nport-mutual-fund-holdings").call(run_input={"mode": "by_cik","cik": "820892", # Fidelity Magellan Fund"maxHoldings": 500,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"]},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["security_name"], "|",item.get("ticker") or item.get("cusip"), "|",f"${item['value_usd']:,.0f}", "|",f"{item['pct_of_nav']:.2f}% of NAV")
Modes
recent_filings— scan all NPORT-P filings filed in the lastdaysBackdays (default 30). Best for tracking the quarterly public-release rush in Feb/May/Aug/Nov.by_cik— pull every public holdings filing for one fund / fund-family. Requirescik. Use this for fund-of-funds look-through or peer-fund comparisons.by_issuer— cross-fund view: every position from every fund in a single issuer. Accepts a ticker (AAPL) or company-name substring. Use this for ownership-base analysis or for credit research on a specific bond issuer.
Pricing — premium institutional tier
This actor uses Pay-Per-Event billing:
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
| N-PORT holding record | $0.05 per record returned |
Typical query costs:
- Single-fund full quarter (300-1,000 holdings) — $15–$50
- Single-issuer across all funds, one quarter (200-1,000 holdings) — $10–$50
- One fund-family quarterly audit (~5,000 holdings) — $250
- Smoke-test query (
maxHoldings: 50) — $2.50
We recommend setting a daily account cap of $1,000 / 20,000 holdings to bound spend on accidental large pulls.
Compared with Morningstar Direct ($17,500/yr) or a Bloomberg Terminal seat ($24,000/yr), a $250 single-audit query pays for itself the first time you avoid a contract renewal.
Related actors from NexGenData
Cross-reference fund holdings with proxy voting, insider transactions, institutional holdings, and corporate events:
| Actor | What it does |
|---|---|
| SEC Form N-PX Mutual Fund Proxy Votes | Every proxy vote cast by every mutual fund — the canonical N-PX dataset |
| SEC Form 13F Holdings Tracker | Quarterly 13F institutional manager holdings |
| 13F Holdings Delta Tracker | Quarter-over-quarter changes in 13F filings |
| SEC Schedule 13D/G Activist Tracker | 5%+ activist filings and amendments |
| SEC Form 4 Insider Tracker | CEO / CFO / Director / 10%-owner buys & sells |
| ETF Holdings Tracker | Daily ETF holdings snapshots |
| Sovereign Wealth Fund Tracker | Public disclosures from SWFs globally |
| Australia ASIC Form 605 Substantial Holdings | ASX-equivalent of US 13F |
The whole NexGenData fleet — 200+ premium financial / governance / market actors at apify.com/nexgendata?fpr=2ayu9b.
FAQ
Q: Is this real SEC data, or a third-party aggregator?
A: 100% primary-source EDGAR. We pull directly from https://www.sec.gov/Archives/edgar/data/... — the same XML files the SEC publishes. There is no third-party scraper, no rewrite layer. Your _source_url field points at the exact primary_doc.xml we parsed.
Q: How current is the data?
A: NPORT-P (the public version of Form N-PORT) is released 60 days after the third month of each calendar quarter. So Q1 holdings (period ending March 31) become public May 30; Q2 (June 30) goes public August 29; Q3 (Sept 30) goes public Nov 29; Q4 (Dec 31) goes public March 1. Our recent_filings mode surfaces filings within hours of public release.
Q: What about the monthly non-public filings? A: Months 1 and 2 of each quarter are filed but kept non-public for 60 days after the end of the full quarter. The SEC does not release them. Only NPORT-P (the third month of each quarter) is in EDGAR's public index. If you need monthly granularity, you'll have to wait for the next quarter's public release.
Q: Why is ticker sometimes null?
A: Form N-PORT requires CUSIP for U.S. securities and ISIN for non-U.S. securities, but ticker is optional. We populate ticker when it's in the <identifiers> block but fall back to CUSIP / ISIN / other-identifier. Join on CUSIP for ticker resolution if you have an OpenFIGI or Refinitiv mapping.
Q: How are asset and issuer categories defined?
A: We use the exact N-PORT codes from the SEC's filing instructions: EC (equity common), DBT (debt), DERIV-EQ (equity derivative), RA (repurchase agreement), UST (US Treasury), etc. We map each to a human-readable label (e.g. equity-common, debt, equity-derivative) and expose both fields so you can pivot on either.
Q: Are derivatives included?
A: Yes. N-PORT requires reporting of all open derivative positions including total return swaps, credit default swaps, FX forwards, interest rate swaps, futures, and options. The actor exposes the asset category (derivative family) and the payoff profile (long / short). For full derivative legs (counterparty, reference instrument, notional, etc.) check the related <derivativeInfo> block in the source XML — we extract the position-level summary; for full leg-level analytics, request a custom build.
Q: What's the largest filing you can process?
A: We parse the XML incrementally and bound output via maxHoldings. The largest filings we've parsed exceed 10,000 holdings in a single fund (Vanguard Total World Stock Index, BlackRock iShares MSCI ACWI). Set maxHoldings to bound output volume and cost.
Q: How does this compare with the NexGenData N-PX Proxy Votes actor? A: N-PORT shows what funds own. N-PX shows what funds vote. The two together — holdings + voting record — are the canonical stewardship dataset. Run both as a sister-actor query for any fund family.
Q: Can I get this data exported to Snowflake / BigQuery / S3? A: Yes. Apify's scheduled-run + dataset export to S3 / GCS / Snowflake is built in. Set up a quarterly scheduled task (Feb 28, May 29, Aug 28, Nov 28) and the data lands in your warehouse with no glue code.
Q: Are records deduplicated within a run?
A: Yes — per (fund_cik, filing_id, cusip-or-isin-or-name) tuple. Re-running the same query will not produce duplicate dataset rows for the same position.
Q: Why is the per-record price $0.05? A: This is institutional-grade data with a buyer pool that pays $17,500–$25,000 per seat for the same content elsewhere. The $0.05 / record price keeps the actor affordable for one-off audits ($50 covers a 1,000-holding fund pull) while preserving margin on cross-fund issuer queries that institutions pay premium prices for. Compared to a Morningstar Direct seat, you'll break even on the first focused query.
About NexGenData
NexGenData publishes 200+ premium financial-data, governance, and market actors on Apify — every major U.S. and global financial filing, market data feed, fund holdings, insider activity, and corporate-events source, all with consistent pay-per-event pricing and full audit trails to the primary regulator.
Browse the full fleet: apify.com/nexgendata?fpr=2ayu9b
Contact: contact@thenextgennexus.com
SEC Form N-PORT is a public disclosure required of all U.S. registered investment companies under Rule 30b1-9 of the Investment Company Act of 1940. NPORT-P (the public version) is released 60 days after the third month of each calendar quarter. This actor reproduces the public record. No subscription is required to view N-PORT filings at SEC.gov; this product exists to make the data machine-readable, queryable, and reliably structured at institutional scale.