getFilings

Retrieve structured SEC filings with company metadata attached — no EDGAR parsing or secondary lookup required. Covers 10-Ks, 8-Ks, insider trades, proxy statements, and every other public form type.

GET/filings
const { filings, count } = await client.getFilings(params?);

Parameters

All parameters are optional. Called with no arguments, returns the most recent filings across all companies.

tickerstringoptional
Filter by ticker symbol, e.g. AAPL
cikstringoptional
Filter by CIK number, e.g. 320193
formTypesstring | string[]optional
One or more form types, e.g. ["10-K", "10-Q"] or "8-K"
filingDateStartstringoptional
Start of date range (YYYY-MM-DD, Eastern Time)
filingDateEndstringoptional
End of date range (YYYY-MM-DD, Eastern Time)
filingDatestringoptional
Exact filing date (YYYY-MM-DD)
limitnumberoptionaldefault: 200
Max results per page (1–1000)
cursorstringoptional
Pagination cursor from a previous response. Pass pagination.nextCursor to fetch the next page.
fieldset"minimal" | "standard" | "full"optionaldefault: "full"
Controls which fields are returned. minimal and standard skip entity enrichment — faster for bulk queries.
fieldsstring | string[]optional
Custom field projection, e.g. ["id", "formType", "filingDateInEst"]. Overrides fieldset.

Fieldsets

minimaloptional
id, formType, filingDateInEst, filingTimeInEst, cik, accessionNumber, periodOfReport, acceptanceDateTimeInEst
standardoptional
All of minimal + linkToFilingDetail, linkToPrimaryDocument, linkToSubmissionTxt. No entity enrichment.
fulloptional
All fields including entity, documentFormatFiles, dataFiles, filers, and more. Default.

Response

Returns { filings: Filing[], count: number, pagination: Pagination }. Each Filing includes:

idstringoptional
Unique filing identifier
cikstringoptional
Filer's CIK number
formTypestringoptional
SEC form type, e.g. 10-K, 8-K, 4
accessionNumberstringoptional
SEC accession number
filingDateInEststringoptional
Filing date in Eastern Time (YYYY-MM-DD)
filingDateInUtcstringoptional
Filing date in UTC (YYYY-MM-DD)
filingTimeInEststringoptional
Filing timestamp in Eastern Time (ISO 8601)
filingTimeInUtcstringoptional
Filing timestamp in UTC (ISO 8601)
filingMonthstringoptional
Filing month, e.g. 2026-04
periodOfReportstringoptional
Period covered by the filing (YYYY-MM-DD)
itemsstringoptional
8-K item numbers, e.g. 2.02, 9.01
publicDocumentCountnumberoptional
Number of documents in the filing
acceptanceDateTimeInEststringoptional
EDGAR acceptance timestamp in Eastern Time
acceptanceDateTimeInUtcstringoptional
EDGAR acceptance timestamp in UTC
linkToFilingDetailstringoptional
URL to the filing index page on SEC.gov
linkToPrimaryDocumentstringoptional
URL to the primary document
linkToSubmissionTxtstringoptional
URL to the full submission text file
entityEntityoptional
Company metadata — name, ticker, exchange, SIC, and more. Only included with fieldset=full.
filersFilingFiler[]optional
List of filers with CIK, name, and role. Only included with fieldset=full.
documentFormatFilesFilingDocument[]optional
Filing documents (e.g. 10-K HTML). Only included with fieldset=full.
dataFilesFilingDocument[]optional
XBRL and other data files. Only included with fieldset=full.

Pagination

The pagination object is always present in the response:

pagination.hasMorebooleanoptional
Whether more results are available
pagination.nextCursorstring | undefinedoptional
Opaque cursor to pass as cursor on the next request

Examples

Recent filings for a company

const { filings, pagination } = await client.getFilings({ ticker: "MSFT" });

Annual reports in a date range

const { filings } = await client.getFilings({
  formTypes: ["10-K"],
  filingDateStart: "2024-01-01",
  filingDateEnd: "2024-12-31",
  limit: 50,
});

Paginate through a full year of filings

let cursor: string | undefined;

do {
  const res = await client.getFilings({
    ticker: "AAPL",
    filingDateStart: "2024-01-01",
    filingDateEnd: "2024-12-31",
    limit: 200,
    cursor,
  });
  process(res.filings);
  cursor = res.pagination.nextCursor;
} while (res.pagination.hasMore);

Bulk query with minimal fields

const { filings } = await client.getFilings({
  formTypes: ["8-K"],
  filingDateStart: "2025-01-01",
  fieldset: "minimal",
  limit: 1000,
});

Want to verify our parsing? Try the Data Correctness tool — compare our JSON response side-by-side with the raw SEC EDGAR filing.

Ready to start building?

Get your free API key — 1,000 requests/month, no credit card required.

Get API Key →