Skip to content
/api/v1/form-13f/cover-pages

Search 13F filing cover pages (metadata only, no holdings).

Search 13F filing cover pages (metadata only, no holdings).

10 tokensSince v1.0.0

Why use this

Lightweight filing-history listing — returns just the cover-page metadata for 13F filings (manager name + address, signature info, amendment status, total filing value, holdings count). NO holdings JOIN, so this is 10-50× faster than `/holdings` when you only need 'show me which quarters this fund has filed'. The right endpoint for: fund-detail-page filing-history tabs, amendment-vs-original sleuthing, regulatory due-diligence on signing officers, and bulk-list workflows where you'd otherwise drown in holdings rows. After you've identified the right `(cik, period)` from this endpoint, drill into `POST /api/v1/form-13f/holdings` for the position-level detail.

Common use case

List all filings for a fund, check which quarters are available, identify amendments vs originals, and access filing manager address and signature data.

Returns the cover-page metadata for a 13F filing (filer name, address, signing officer, total AUM reported, period of report) — the lightweight counterpart to POST /api/v1/form-13f/holdings. Useful when you only need to confirm a filer's presence in a quarter without paying for the full holdings list.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
querybodyrequiredLucene-like query. Same field-scoped syntax as `/holdings` but WITHOUT the holdings-row filters (`holdings.ticker`, `holdings.cusip` not supported here — use `/holdings` for those). Common: `cik:1067983` (single fund), `formType:"13F-HR/A"` (amendments only), `filedAt:[2025-01-01 TO 2025-12-31]` (year range), `accessionNo:0001067983-24-000123` (one specific filing). Combine with `AND`/`OR`/`NOT`.cik:1067983
frombodyoptional0Zero-based pagination offset (NUMBER of filings to skip). Increment by `size` to walk pages. Capped at 10000 server-side.0
sizebodyoptional50Number of filings to return per page, capped at 50 server-side. Each row is small (cover-page metadata only) so payload size stays bounded — listing 50 filings here is ~10KB; the same 50 in `/holdings` could be 5-50MB.50
sortbodyoptionalSort specification array (sec-api.io shape). Each element is `{ <field>: { order: 'asc' | 'desc' } }`. Common: `[{"filedAt": {"order": "desc"}}]` (most recent first; default), `[{"periodOfReport": {"order": "asc"}}]` (chronological for filing-history tabs).[{"filedAt": {"order": "desc"}}]

Response schema

FieldTypeNullableDescription
filingsarraynoArray of cover-page rows, sorted per the `sort` parameter (default: `filedAt DESC`). Each row is one 13F filing's metadata — original and amendment filings appear as separate rows (NOT collapsed). Empty array on no match.
filings[].cikstringnoFiler CIK as a 10-character zero-padded string. Stable join key against the rest of the 13F surface.
filings[].accession_numberstringnoSEC accession number in canonical `XXXXXXXXXX-YY-NNNNNN` format. Pass to `POST /api/v1/form-13f/holdings` (via `accessionNo:...` query) to drill into this filing's position rows.
filings[].period_of_reportstringnoISO `YYYY-MM-DD` reporting period end (always a calendar quarter end). Together with `cik` forms the natural key for QoQ comparisons.
filings[].filed_datestringnoISO `YYYY-MM-DD` filing acceptance date (typically 30-45 days after `period_of_report`, bumping up against the 45-day SEC deadline). Use for filing-cadence analysis (which managers file early vs late).
filings[].filer_namestringnoRegistrant name AS FILED on the cover page (typically all-caps in EDGAR convention). Casing preserved verbatim. NOT alias-normalized — for the user-friendly alias use the `filer_aliases` admin table.
filings[].addressstringyesFiler business address as filed on the cover page (street + city + state + ZIP, single string, comma-delimited). Null for pre-2018 filings (pre-XBRL cover-page parsing) and amendments that omit the address. Useful for compliance / KYC / geographic-concentration audits.
filings[].signing_officerstringyesName of the officer who signed the 13F cover page. Null for some amendment filings. Useful for tracking 'who manages this fund' — signing officer changes are a leading indicator of management transitions.
filings[].total_value_usdnumberyesTotal reported portfolio value across all positions in the filing, in USD. Post-Plan 51 holdings-quality correction (handles the thousands-vs-actual-dollars reporting issue). Null for filings whose holdings have not yet been re-aggregated by the `sec_13f_summary` matview (~6h refresh cadence post-filing).
filings[].holdings_countintegeryesNumber of position rows in the filing's information table. Null for 13F-NT filings (notice-of-no-information-table — these always have 0 holdings and are skipped by our parser). Berkshire-shaped books: ~50; mid-tier hedge funds: 50-500; index-fund books (Vanguard, BlackRock): 3000-9000+.

Sample response

·
  • "filings":
    ]
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl -X POST "https://api.finradar.ai/api/v1/form-13f/cover-pages?api_Token=YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).

Try it

Related endpoints