List SEC filings for a company
edgar_list_filingsList a company's SEC EDGAR filings newest first, filter by form type or filing date range, and return accession numbers plus document URLs for retrieving filing documents.
Instructions
List a single company's SEC EDGAR filings (newest first) with form type, filing/report dates, accession number and direct document URLs, filtered by form type and date range, with limit/offset paging. Use to find which filings exist (e.g. "Apple's 10-Ks since 2020", "Tesla 8-Ks this year") and to get an accession_number / document_url for edgar_get_filing_document. Not for financial values (use edgar_get_company_facts). Behavior: free, read-only GET to data.sec.gov submissions API (no token). By default searches the ~1000 most recent filings; set includeOlder=true to also load the full historical archive (more requests). RETURNS: {count,total,offset,hasMore,nextOffset,meta:{cik,name,tickers},items:[{accession_number,form,filing_date,report_date,primary_document,primary_doc_description,items,size_bytes,document_url,index_url}]}. Errors: COMPANY_NOT_FOUND, NOT_FOUND, SEC_FETCH_FAILED. WHEN NOT TO USE: for document text use edgar_get_filing_document; for XBRL numbers use edgar_get_company_facts; for many companies at once use edgar_batch_export (paid). COST: free - direct sec.gov requests from this MCP server, no APIFY_TOKEN, no Apify billing. PARAMETERS: company: a numeric value is always used as a CIK; text is matched as ticker, then name fragment (first match). formTypes: exact, case-insensitive equality on the form field, so "10-K" does not include amendments - add "10-K/A" explicitly; insider filings are "4", proxies "DEF 14A". since/until: both inclusive and compared with filing_date (not report_date); combine them for a window, e.g. since "2024-01-01" + until "2024-12-31". includeOlder: the default searches only the ~1000 newest filings, so for date windows older than a few years (or for very active filers) set it to true, which adds one SEC request per archive file. Filters are applied before paging: total counts matching filings, rows are newest first, and you continue with offset = nextOffset. EXAMPLE: {"company":"AAPL","formTypes":["10-K"],"since":"2020-01-01","limit":5} -> 5 newest Apple 10-K rows with accession_number and document_url.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional page size: items to return, integer 1-200 (default 20). Example: 10 | |
| since | No | Optional inclusive lower bound on filing_date, format YYYY-MM-DD (pattern ^\d{4}-\d{2}-\d{2}$), e.g. "2020-01-01". Default: no lower bound. | |
| until | No | Optional inclusive upper bound on filing_date, format YYYY-MM-DD (pattern ^\d{4}-\d{2}-\d{2}$), e.g. "2024-12-31". Default: no upper bound. | |
| offset | No | Optional zero-based number of items to skip, integer >= 0 (default 0); pass nextOffset from the previous response, e.g. 20 | |
| company | Yes | Required, 1-200 chars. Ticker ("AAPL", case-insensitive), CIK of 1-10 digits ("320193" or "0000320193"; any SEC filer, even without a ticker) or registrant-name fragment ("Apple"; the first SEC ticker-map match is used). Call edgar_resolve_company first if a name is ambiguous. | |
| formTypes | No | Optional, default omitted = all forms. 1-20 exact SEC form types (case-insensitive equality; amendments like "10-K/A" must be listed separately). Example: ["10-K","10-Q"], ["8-K"], ["4"], ["DEF 14A"] | |
| includeOlder | No | Optional boolean, default false. true also loads the archived filings older than the ~1000 most recent (one extra SEC request per archive file). Example: true |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Tool-specific context (company, source_url, ...) | |
| count | Yes | Number of items in this page | |
| items | Yes | Result rows for this page | |
| total | Yes | Total items matching the filters (before paging) | |
| offset | Yes | Offset of the first item in this page | |
| hasMore | Yes | True if more items exist after this page | |
| nextOffset | Yes | Offset to pass for the next page, or null |