Obscura

EDGAR N-PORT Filings

Metadata for N-PORT filings, the monthly portfolio reports that registered funds submit to the SEC.

edgar_nport_filings — the dataset name to pass to the Obscura API.

Category Regulatory Columns 40 Refresh Every weekday Entity key series_id Point-in-time available_date

What one row means

One N-PORT filing's fund-level cover summary: the registrant, its reported series/fund, the reporting-period totals (total/net assets, liabilities), and the count of portfolio positions parsed from a single NPORT-P (or NPORT-P/A) submission. Detailed positions live in the child table `edgar_nport_holdings`; this table is the one-row-per-filing header.

One row per (filename).

Point-in-time availability

Every Obscura dataset carries available_date: the calendar day the publisher made the row available, day-of, with no session rounding. It is the one column a backtest filters on, and it means the same thing on every dataset in the catalog.

For edgar_nport_filings: published: available_date is recovered by joining the primary key filename to edgar_filings.event_date, the SEC daily-index "Date Filed" — the filing's true public-dissemination date.

Refresh cadence

Obscura refreshes edgar_nport_filings every weekday — the most frequent scheduled job that re-collects or re-exports it. This is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when a row became public is recorded per row in available_date.

Schema — 40 columns

The full public column list for edgar_nport_filings, with the meaning of every field. The same schema is served unauthenticated at https://api.obscura.trade/v1/catalog/edgar_nport_filings.

ColumnTypeDescription
filenametext · not nullEDGAR filing path (e.g. edgar/data/CIK/ACCESSION.txt); primary key; foreign-joins to edgar_filings.filename and edgar_nport_holdings.filename.
reg_cikbigintRegistrant CIK parsed from genInfo/regCik; the SEC entity that filed the N-PORT.
series_nametextFund series display name from genInfo/seriesName (e.g. "Bright Rock Mid Cap Growth Fund").
series_idtextSEC fund series identifier from genInfo/seriesId (e.g. S000012345).
available_datedateThe filing's SEC dissemination date — when the public could first see it. Recovered from edgar_filings via filename. The point-in-time anchor.
period_enddateReport-period end (repPdDate) the holdings are AS OF; filed ~60 days later, so never the availability date.
total_assetsdouble precisionFund total assets in USD as of the reporting period, from fundInfo/totAssets.
total_liabilitiesdouble precisionFund total liabilities in USD as of the reporting period, from fundInfo/totLiabs.
net_assetsdouble precisionFund net assets in USD as of the reporting period, from fundInfo/netAssets.
reg_nametextRegistrant (fund-family) entity name from genInfo/regName; the filer entity behind reg_cik, distinct from the child series_name.
reg_leitextRegistrant Legal Entity Identifier from genInfo/regLei; canonical cross-dataset entity id for the filer.
series_leitextFund series Legal Entity Identifier from genInfo/seriesLei.
reg_file_numbertextInvestment Company Act file number from genInfo/regFileNumber (e.g. 811-21598); a stable registrant identifier.
is_final_filingbooleanFinal-filing flag from genInfo/isFinalFiling (Y/N → bool): the fund's last N-PORT — a liquidation / deregistration signal.
rep_pd_enddateFiscal-year-end horizon date from genInfo/repPdEnd; distinct from period_end (repPdDate, the as-of period the holdings reflect).
mon1_flow_salesdouble precisionMonth-1 subscriptions (share sales) in USD from fundInfo/mon1Flow/sales.
mon1_flow_reinvestmentdouble precisionMonth-1 reinvestment inflow in USD from fundInfo/mon1Flow/reinvestment.
mon1_flow_redemptiondouble precisionMonth-1 redemption outflow in USD from fundInfo/mon1Flow/redemption.
mon2_flow_salesdouble precisionMonth-2 subscriptions (share sales) in USD from fundInfo/mon2Flow/sales.
mon2_flow_reinvestmentdouble precisionMonth-2 reinvestment inflow in USD from fundInfo/mon2Flow/reinvestment.
mon2_flow_redemptiondouble precisionMonth-2 redemption outflow in USD from fundInfo/mon2Flow/redemption.
mon3_flow_salesdouble precisionMonth-3 subscriptions (share sales) in USD from fundInfo/mon3Flow/sales.
mon3_flow_reinvestmentdouble precisionMonth-3 reinvestment inflow in USD from fundInfo/mon3Flow/reinvestment.
mon3_flow_redemptiondouble precisionMonth-3 redemption outflow in USD from fundInfo/mon3Flow/redemption.
amt_pay_one_yr_banks_borrdouble precisionBorrowings/payables due within one year to banks (fundInfo/amtPayOneYrBanksBorr); USD.
amt_pay_one_yr_ctrld_compdouble precisionBorrowings/payables due within one year to controlled companies (fundInfo/amtPayOneYrCtrldComp); USD.
amt_pay_one_yr_oth_affildouble precisionBorrowings/payables due within one year to other affiliates (fundInfo/amtPayOneYrOthAffil); USD.
amt_pay_one_yr_otherdouble precisionBorrowings/payables due within one year to other counterparties (fundInfo/amtPayOneYrOther); USD.
amt_pay_aft_one_yr_banks_borrdouble precisionBorrowings/payables due after one year to banks (fundInfo/amtPayAftOneYrBanksBorr); USD.
amt_pay_aft_one_yr_ctrld_compdouble precisionBorrowings/payables due after one year to controlled companies (fundInfo/amtPayAftOneYrCtrldComp); USD.
amt_pay_aft_one_yr_oth_affildouble precisionBorrowings/payables due after one year to other affiliates (fundInfo/amtPayAftOneYrOthAffil); USD.
amt_pay_aft_one_yr_otherdouble precisionBorrowings/payables due after one year to other counterparties (fundInfo/amtPayAftOneYrOther); USD.
assets_investeddouble precisionAssets invested for the fund's own account (fundInfo/assetsInvested); USD.
assets_attr_misc_secdouble precisionAssets attributable to miscellaneous securities (fundInfo/assetsAttrMiscSec); USD.
liquid_prefdouble precisionLiquidation preference of outstanding preferred stock (fundInfo/liquidPref); USD.
stand_by_commitdouble precisionPayable on stand-by commitment agreements (fundInfo/standByCommit); USD.
delay_delivdouble precisionPayable on delayed-delivery / when-issued transactions (fundInfo/delayDeliv); USD.
csh_not_rptd_in_cor_ddouble precisionCash not reported in the categories of investments detail (fundInfo/cshNotRptdInCorD); USD.
holdingsinteger · not nullCount of portfolio positions parsed and stored for this filing (fund.holdings.len()); NOT NULL default 0. Capped by max_holdings_per_filing (default 5000), so may under-count very large bond-fund portfolios.
scraped_attimestamp with time zone · not nullInternal ingestion timestamp (Utc::now() at upsert); NOT NULL default now(). Internal-only, excluded from exports; not a source event date.

Access edgar_nport_filings

Two delivery paths, one identifier. Both require an Obscura account and an active subscription; the catalog entry and the schema above are public.

import obscura

client = obscura.Client("obs_live_…")

df = client.query(
    dataset="edgar_nport_filings",
    symbols=["NVDA", "AAPL"],
    start="2024-01-01",
)

Create a free account Browse all 95 datasets

Frequently asked questions

What is in the edgar_nport_filings dataset?

Metadata for N-PORT filings, the monthly portfolio reports that registered funds submit to the SEC. One N-PORT filing's fund-level cover summary: the registrant, its reported series/fund, the reporting-period totals (total/net assets, liabilities), and the count of portfolio positions parsed from a single NPORT-P (or NPORT-P/A) submission. Detailed positions live in the child table `edgar_nport_holdings`; this table is the one-row-per-filing header.

How do I avoid look-ahead bias with edgar_nport_filings?

Filter on edgar_nport_filings.available_date, the day the publisher made the row public. For this dataset that date is derived as follows — published: available_date is recovered by joining the primary key filename to edgar_filings.event_date, the SEC daily-index "Date Filed" — the filing's true public-dissemination date. A query of the form WHERE available_date <= '<as-of date>' never sees a row before it existed.

In what formats can I get edgar_nport_filings?

As a Parquet bulk export (POST https://api.obscura.trade/v1/download) or as JSON from the typed query API (POST https://api.obscura.trade/v1/query), both with dataset="edgar_nport_filings". The column schema is public at https://api.obscura.trade/v1/catalog/edgar_nport_filings.

Can I filter edgar_nport_filings by company or symbol?

Yes. edgar_nport_filings carries series_id, the column the API's symbols filter resolves against.

How often is edgar_nport_filings updated?

Obscura refreshes edgar_nport_filings on a every weekday schedule — that is the most frequent scheduled job that re-collects or re-exports the table. It is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when the publisher makes a row available is described by the availability rule above, and is recorded per row in available_date.

Related datasets

CFTC Commitments of TradersThe CFTC's weekly Commitments of Traders report: how commercial, non-commercial and small traders are positioned in each… ECHO Enforcement CasesEnvironmental enforcement actions and penalties from the EPA's ECHO database. ECHO FacilitiesEPA-regulated facilities and their compliance history, from ECHO. EDGAR 13F FilingsMetadata for every 13F report, the quarterly filing where large institutional managers list their U.S. equity holdings. EDGAR 13F HoldingsThe line-item positions inside each 13F: which manager held which security, and how much, each quarter. EDGAR 8-K ItemsThe item numbers reported on each 8-K (5.02 officer changes, 2.01 acquisitions, 1.01 material agreements, and so on), so… EDGAR Dilution MetricsShare-issuance headroom and overhang metrics built from companies' XBRL filings: authorized versus outstanding shares, a… EDGAR Filing TextSignals mined from the text of filings, such as mentions of distress, litigation, going-concern doubt and restructuring.