
SEC EDGAR Filings Download
CertifiedDownload a filing's documents from SEC EDGAR
SEC EDGAR Filings Download
Download a filing's documents from SEC EDGAR
Downloads a filing's primary document and, optionally, its exhibits to internal storage. Exhibits are chosen by the document type the filer declared in the filing index, such as EX-99.1 for an earnings release, because exhibit file names follow no convention (one company's earnings release is q226earningsrelease.htm). Documents are streamed to storage, so large filings are not held in memory.
SEC allows at most 10 requests per second from all your tools together; see maxRequestsPerSecond.
type: io.kestra.plugin.edgar.filings.DownloadExamples
Download the latest 8-K of a company with its Exhibit 99 press releases.
id: edgar_download_8k
namespace: company.team
tasks:
- id: latest
type: io.kestra.plugin.edgar.filings.List
userAgent: "Example Co admin@example.com"
ticker: INTC
forms:
- 8-K
maxResults: 1
fetchType: FETCH_ONE
- id: download
type: io.kestra.plugin.edgar.filings.Download
userAgent: "Example Co admin@example.com"
cik: "{{ outputs.latest.row.cik }}"
accessionNumber: "{{ outputs.latest.row.accessionNumber }}"
exhibits:
- EX-99*
- id: log
type: io.kestra.plugin.core.log.Log
message: "Primary document {{ outputs.download.primaryDocument.uri }}, {{ outputs.download.exhibits | length }} exhibit(s)"
Properties
accessionNumber *string
Accession number of the filing
For example 0000050863-26-000155; filings.List returns it in each filing's accessionNumber.
cik *string
CIK of the filer
With or without leading zeros, for example 50863; filings.List returns it in each filing's cik.
userAgent *string
User-Agent sent to SEC
SEC requires automated tools to identify themselves with a name and a contact email, for example Example Co admin@example.com, and rejects requests without one. See SEC fair access.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150baseUrl string
https://www.sec.govBase URL of the SEC website
Where company tickers and filing documents are read from. Change it only to go through a proxy or a test server.
dataBaseUrl string
https://data.sec.govBase URL of SEC's data API
Where filing lists and XBRL data are read from. Change it only to go through a proxy or a test server.
exhibits array
Types of the exhibits to download
Matched against the document type declared in the filing index, not the file name, and case-insensitively; * matches any characters. For example EX-99* matches EX-99.1 and EX-99.2. Use EX-10.* for material contracts: EX-10* also matches the XBRL files, whose types start with EX-101. No exhibits are downloaded when empty; a type that matches nothing is not an error.
maxRequestsPerSecond integerstring
5Maximum requests per second
Requests made by this task are spaced so they stay at or under this rate. Defaults to 5, at most 10, which is SEC's limit. The limit applies to each task run: tasks that run in parallel each count against SEC's limit, so lower this value when several EDGAR tasks run at the same time. A request rejected with HTTP 429 or 503 is retried after SEC's Retry-After delay, then up to twice more, 10 and 20 seconds later.
Outputs
exhibits array
The exhibits whose type matched exhibits
In the order of the filing index; empty when none matched.
io.kestra.plugin.edgar.filings.Document
Description given by the filer
Often the same as the type.
File name in the filing
Document type declared by the filer
For example 8-K for the primary document or EX-99.1 for an exhibit.
uriURI of the downloaded document in internal storage
uriURL of the document on SEC's website
primaryDocument
The primary document
Its type is the filing's form type, for example 8-K.
io.kestra.plugin.edgar.filings.Document
Description given by the filer
Often the same as the type.
File name in the filing
Document type declared by the filer
For example 8-K for the primary document or EX-99.1 for an exhibit.
uriURI of the downloaded document in internal storage
uriURL of the document on SEC's website