Hoppa till innehållet
← All data tools

SEC XBRL financials by ticker or CIK

Returns financial statement values for US listed companies from the XBRL data they file with the SEC, one row per company, concept and fiscal period, with value, unit, period dates, form and the accession number of the filing.

Open in Apify Store

Give a list of tickers or CIK numbers and a few concepts, such as revenue, net income, EPS, total assets, operating cash flow or any us-gaap tag. Common names map to the tags companies actually use, so a company that changed tag over the years (Apple moved from SalesRevenueNet to RevenueFromContractWithCustomerExcludingAssessedTax in 2018) still gets one revenue row per year. The tag field tells which tag the value came from.

A second mode, frames, returns one concept for one calendar period across every company that reported it, for example the revenue of all filers in 2024. The output is in long format, one value per row, which drops straight into a pivot table, a database or a DataFrame. A run with empty input returns revenue, net income, basic EPS and total assets for Apple for the last five fiscal years.

Sample from a real run

3 rows (selected fields) from run CK3xjRF4Xhi0vOWgi on 6 October 2026, exactly as the tool returned them.

tickercompanyconcepttagvalueunitfiscalYearfiscalPeriodperiodEndformfiled
AAPLApple Inc.revenueus-gaap:RevenueFromContractWithCustomerExcludingAssessedTax416161000000USD2025FY2025-09-2710-K2025-10-31
AAPLApple Inc.revenueus-gaap:RevenueFromContractWithCustomerExcludingAssessedTax391035000000USD2024FY2024-09-2810-K2024-11-01
AAPLApple Inc.revenueus-gaap:RevenueFromContractWithCustomerExcludingAssessedTax383285000000USD2023FY2023-09-3010-K2023-11-03

Fields

Every row has these fields. Field names are stable between versions.

FieldWhat it holds
tickerTicker from SEC's ticker list, null if the company has none
cikSEC Central Index Key, without leading zeros
companyCompany name as registered with the SEC
conceptThe concept as given in the input
tagThe XBRL tag the value comes from
labelThe tag's standard label
valueThe reported value, in full units (not thousands or millions)
unitUSD, USD/shares, shares or another unit
fiscalYearThe company's fiscal year (null in frames mode)
fiscalPeriodFY, Q1, Q2 or Q3 (null in frames mode)
periodStartFirst day of the period, null for balance sheet values (instants)
periodEndLast day of the period, or the balance sheet date
periodMonthsLength of the period in months, null for instants
formThe form the value was taken from, 10-K/A for an amendment (null in frames mode)
filedFiling date (null in frames mode)
accessionNumberThe filing on EDGAR
frameSEC's calendar frame for the value, when SEC has assigned one
sourceName of the data source, for attribution
licenseName of the license or terms the data is published under

Input example

Paste it into the JSON tab of the actor in Apify Console, or send it to the Apify API.

{
  "mode": "companies",
  "forms": [
    "10-K"
  ],
  "onlyNew": false,
  "concepts": [
    "revenue"
  ],
  "companies": [
    "AAPL"
  ],
  "maxResults": 3,
  "framePeriod": "annual",
  "includeYearToDate": false
}

What people use it for

  • Watchlist history. Revenue, net income and EPS for a list of companies, ready for a spreadsheet or a valuation model.
  • Rankings. All filers ranked by revenue, assets or R&D spend for one year, with frames mode.
  • New quarterly figures. A daily run with onlyNew set to true returns new values the day they are filed.

Price

2 USD per 1 000 facts, plus Apify platform usage.

Every run returns at most maxResults facts (default 50), so a run with the default input costs at most 0.10 USD in results. The daily health check on 6 October 2026 shown above returned 3 facts in about 2 seconds, which is 0.006 USD.

Run it on a schedule

Set onlyNew to true and add the actor to a schedule in Apify Console (for example the cron expression 0 7 * * * for 07:00 every day). The actor remembers what it has already delivered for the same input, in a named key-value store in your own Apify account (nightwave-state-sec-xbrl-financials), and each run returns and charges only what is new. The first run returns everything in the selection. A run with nothing new finishes with 0 rows and costs nothing beyond platform usage.

Source and license

The data comes from the SEC's EDGAR XBRL APIs on data.sec.gov (company facts and frames) and the SEC ticker list. No API key is needed. The tool sends at most 8 requests per second and identifies itself with a User-Agent, as the SEC asks. Values are as the companies tagged them. It is not affiliated with or endorsed by the U.S. Securities and Exchange Commission.

Information published by the SEC is U.S. federal government information and is not subject to copyright in the United States (17 U.S.C. § 105). Every row carries source and license so you can credit SEC EDGAR. The data describes what companies have reported; it is not investment advice.

Try it

The tool runs on Apify. Apify handles your account, the runs and the payment, and you can try it with the input above before you schedule anything.

Open in Apify Store

Built and maintained by Nightwave AB. Questions or bugs: kontakt@nightwave.se