Population · Public data

US company financials (SEC EDGAR)

Annual revenue, profit, R&D, assets, liabilities, equity and cash for ~7,000 US-listed companies.

U.S. Securities and Exchange Commission (SEC), EDGAR XBRL Frames API · Public domain · commons_pubdata.population.sec_financials

Read Markdown

Registered, not loaded yet: the table is not in the catalog. This page fills in after its first refresh.

Query it with DuckDB.

Bash
lhbox duckdb --catalog commons/pubdata
SQL · Top 15 companies by net income in 2024 (pivoting revenue, net income and R&D into columns)
SELECT ticker, company_name,
       round(max(value_usd) FILTER (WHERE metric = 'revenue') / 1e9, 2) AS revenue_bn_usd,
       round(max(value_usd) FILTER (WHERE metric = 'net_income') / 1e9, 2) AS net_income_bn_usd,
       round(max(value_usd) FILTER (WHERE metric = 'rd_expense') / 1e9, 2) AS rd_bn_usd
FROM commons_pubdata.population.sec_financials
WHERE fiscal_year = 2024 AND ticker IS NOT NULL
GROUP BY 1, 2
ORDER BY net_income_bn_usd DESC NULLS LAST LIMIT 15;

Read it where you work.

Public, read-only data. With an account, lhbox duckdb attaches the catalog as commons_pubdata; an agent with the LakehouseBox connector opens it with open_public_catalog("commons/pubdata"). Without one, DuckDB reads the public files directly.

More example queries

  • Multi-year revenue and net margin trajectory for Apple, Microsoft, Alphabet and NVIDIA
    SQL
    SELECT ticker, fiscal_year,
           round(max(value_usd) FILTER (WHERE metric = 'revenue') / 1e9, 1) AS revenue_bn,
           round(max(value_usd) FILTER (WHERE metric = 'net_income') / 1e9, 1) AS net_income_bn
    FROM commons_pubdata.population.sec_financials
    WHERE ticker IN ('AAPL', 'MSFT', 'GOOGL', 'NVDA')
    GROUP BY 1, 2 ORDER BY ticker, fiscal_year;

Know your columns.

ColumnTypeMeaning
cikintSEC Central Index Key (unique numeric registrant identifier)
tickerstringprimary stock exchange ticker symbol (e.g. AAPL, MSFT, NVDA)
company_namestringregistrant name as reported to the SEC
country_codestringISO 3166-1 alpha-2 headquarters country code (US for US- domiciled filers; joins reference.countries)
state_or_regionstringSEC location code (e.g. US-CA, US-NY, CA-ON)
metricstringnormalized metric name: revenue, operating_income, net_income, rd_expense, assets, liabilities, equity or cash
View all 12 columns
gaap_tagstringunderlying US-GAAP XBRL concept tag reported in the filing
fiscal_yearintcalendar-aligned fiscal year (2019..present)
period_enddatefiscal period end date of the reported figure
value_usddoublereported figure in US Dollars (exact USD, not thousands or millions)
accession_numberstringSEC EDGAR filing accession number
formstringSEC form type (e.g. 10-K, 10-K/A, 20-F, 40-F)

Join keys: country_code, ticker, cik.

Before you query.

  1. One row per (cik, metric, fiscal_year).
  2. When a company reports both RevenueFromContractWithCustomerExcludingAssessedTax and Revenues, the recipe keeps one row per (cik, 'revenue', fiscal_year) (preferring ASC 606 contract revenue, then general Revenues, then SalesRevenueNet).
  3. value_usd is in raw US Dollars (divide by 1e9 for billions).

Source & licence.

Source
U.S. Securities and Exchange Commission (SEC), EDGAR XBRL Frames API
Licence
Public domain (US government work)
Attribution
Source: U.S. Securities and Exchange Commission (SEC) EDGAR XBRL disclosures, public domain.
Coverage
~7,000 SEC-reporting public companies (US and foreign issuers filing in USD under US GAAP); fiscal years 2019 to present, refreshed weekly
Refresh
weekly, the whole table replaced; source version n/a
Table
commons/pubdata · population.sec_financials · Iceberg v? · browse the catalog
Recipe
pubdata/recipes/sec_financials.py, registry entry pubdata/registry/sec_financials.yaml

Source: U.S. Securities and Exchange Commission (SEC), EDGAR XBRL Frames API · Public domain · Snapshot shown: not loadedHTML for people. Markdown for agents.