SEC EDGAR
SEC EDGAR Filings API
A page of one filer's SEC filings: accession number, form and root form, filing and period dates, 8-K item codes, and direct links to the primary document, the filing index and the attachment directory, as JSON. Up to 500 per page. Costs 1 credit per request - including with include_history, which is the one call that can buy more than one upstream fetch.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsoncikstringFiler CIK, zero-padded or bare (1-20 characters). A ticker is accepted here too. Either cik or ticker is required.
Example: 0000320193
tickerstringTicker symbol (1-20 characters), as an alternative to cik. Wins over cik when both are given. Either cik or ticker is required.
Example: AAPL
formstring | string[]Form types to keep: "10-K", ["10-K", "10-Q"] or the comma-joined "10-K,8-K". Each value 1-50 characters, at most 25 values. Matched against the form AND its root form, so "10-K" ALSO returns 10-K/A amendments - ask for "10-K/A" if you only want amendments. (This is the opposite of /api/v1/sec/concept, where form is an exact match.)
Example: 10-K
date_fromstringEarliest filing date, inclusive, as YYYY-MM-DD.
Example: 2020-01-01
date_tostringLatest filing date, inclusive, as YYYY-MM-DD.
Example: 2026-12-31
pageintegerResults page, 1-based. No upper bound; the page size is whatever limit is set to. total_pages in the response tells you where to stop.
Example: 2
limitintegerdefault:50Filings per page, 1-500.
Example: 200
include_historybooleandefault:falseAlso fetch the archived filing history that sits behind EDGAR's "recent" block. That block is NOT a fixed window - it is roughly a decade for a quiet filer and about a year for a prolific one, which is why a 1994 filer can look like it started in 2015. At most 10 archived shards are fetched; history_truncated in the response says the filer had more. Still 1 credit.
Example: true
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
filings = client.sec.filings(ticker="AAPL", form="10-K", limit=50)
print(filings)Response