"data.sec.gov" was created to host RESTful data Application Programming Interfaces (APIs) delivering JSON-formatted data to external customers and to web pages on SEC.gov. These APIs do not require any authentication or API keys to access.
Currently included in the APIs are the submissions history by filer and the XBRL data from financial statements (forms 10-Q, 10-K,8-K, 20-F, 40-F, 6-K, and their variants).
The JSON structures are updated throughout the day, in real time, as submissions are disseminated.
In addition, a bulk ZIP file is available to download all the JSON structures for an API. This ZIP file is updated and republished nightly at approximately 3:00 a.m. ET.
Each entity’s current filing history is available at the following URL:
Where the ########## is the entity’s 10-digit Central Index Key (CIK), including leading zeros.
This JSON data structure contains metadata such as current name, former name, and stock exchanges and ticker symbols of publicly-traded companies. The object’s property path contains at least one year’s of filing or to 1,000 (whichever is more) of the most recent filings in a compact columnar data array. If the entity has additional filings, files will contain an array of additional JSON files and the date range for the filings each one contains.
XBRL data APIs
Extensible Business Markup Language (XBRL) is an XML-based format for reporting financial statements used by the SEC and financial regulatory agencies across the world. XBRL, in a separate XML file or more recently embedded in quarterly and annual HTML reports as inline XBRL, was first required by the SEC in 2009. XBRL facts must be associated for a standard US-GAAP or IFRS taxonomy. Companies can also extend standard taxonomies with their own custom taxonomies.
The following XBRL APIs aggregate facts from across submissions that
- Use a non-custom taxonomy (e.g. us-gaap, ifrs-full, dei, or srt)
- Apply to the entire filing entity
This ensures that facts have a consistent context and meaning across companies and between filings and are comparable between companies and across time.
The company-concept API returns all the XBRL disclosures from a single company (CIK) and concept (a taxonomy and tag) into a single JSON file, with a separate array of facts for each units on measure that the company has chosen to disclose (e.g. net profits reported in U.S. dollars and in Canadian dollars).
This API returns all the company concepts data for a company into a single API call:
The xbrl/frames API aggregates one fact for each reporting entity that is last filed that most closely fits the calendrical period requested. This API supports for annual, quarterly and instantaneous data:
Where the units of measure specified in the XBRL contains a numerator and a denominator, these are separated by “-per-” such as “USD-per-shares”. Note that the default unit in XBRL is “pure”.
The period format is CY#### for annual data (duration 365 days +/- 30 days), CY####Q# for quarterly data (duration 91 days +/- 30 days), and CY####Q#I for instantaneous data. Because company financial calendars can start and end on any month or day and even change in length from quarter to quarter to according to the day of the week, the frame data is assembled by the dates that best align with a calendar quarter or year. Data users should be mindful different reporting start and end dates for facts contained in a frame.
data.sec.gov does not support Cross Origin Resource Scripting (CORS). Automated access must comply with SEC.gov’s Privacy and Security Policy, as described in the Developer FAQ.
The most efficient means to fetch large amounts of API data is the bulk archive ZIP files, which are recompiled nightly.
- The companyfacts.zip file contains all the data from the XBRL Frame API and the XBRL Company Facts API
- The submission.zip file contains the public EDGAR filing history for all filers from the Submissions API
The APIs are updated in real-time as filings are disseminated. The submissions API is updated with a typical processing delay of less than a second; the xbrl APIs are updated with a typical processing delay of under a minute. However these processing delays may be longer during peak filing times.
Check back as we make updates.
We want to hear from you!
Send your recommendations regarding how we are implementing our APIs to email@example.com.
Please note we cannot provide technical support for developing or debugging scripted downloading processes.
Programmatic API Access
See the Developer FAQ on how to comply with the SEC's Web Site Privacy and Security Policy.
Modified: Nov. 9, 2022