SEC EDGAR
SEC EDGAR Company Facts API
The index of every XBRL concept a filer reports - tag, human label, the SEC's own definition, units and most recent value - across us-gaap, dei and any other taxonomy it uses, as JSON. This is how you find out what to ask /api/v1/sec/concept for, because XBRL tags are case-sensitive and guessing them fails. Up to 2000 rows. Costs 1 credit per request.
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
taxonomystringRestrict to one taxonomy, 1-40 characters, e.g. us-gaap or dei. The taxonomies array in the response lists every one this filer actually uses.
Example: us-gaap
querystringCase-insensitive substring, 1-200 characters, matched against both the tag name and its label. "revenue" finds RevenueFromContractWithCustomerExcludingAssessedTax without you having to know the tag.
Example: revenue
limitintegerdefault:250Rows to return, 1-2000. This SIZES the response - it is not a page param. There is no pagination on this endpoint.
Example: 2000
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Discover the tag, then pull its full history.
facts = client.sec.facts(ticker="AAPL", query="revenue")
tag = facts["data"]["concepts"][0]["concept"]
history = client.sec.concept(tag, ticker="AAPL")
print(history["data"]["latest"])Response