Skip to main content
Skip to main content

All US Quarterly Financials — IS / BS / CFS (2016–2025, ~10y)

DatasetCSV.GZOpenFinanceFundamentalsIncome StatementBalance SheetCash FlowQuarterlyFree

Ten years of quarterly Income Statement, Balance Sheet, and Cash Flow data for every USD-reporting US-listed company FMP indexes (~17,000 issuers including dual-class shares). 1,196,539 statement-period rows packaged as 3 gzipped CSV files, one CSV per statement type (income, balance, cashflow). Columns are the union of all FMP-reported fields per statement type — ~39 IS, ~61 BS, ~47 CFS. Read with pandas.read_csv(path, compression='gzip', parse_dates=['reportPeriod', 'filingDate']) or duckdb.read_csv('income_statement_*.csv.gz'). Coverage spans 2016 through 2025 quarterly. Useful for: fundamental factor research (gross margin, cash conversion, leverage), earnings drift studies, building screeners, fine-tuning LLMs on structured financial reporting, macro/sector-level financial-health rollups.

Use Cases

  • Fundamental factor research: gross margin, FCF/sales, leverage, working-capital trends
  • Earnings-momentum / earnings-drift backtests with filing-date-aware data
  • Building custom screeners by sector / size / quality factors
  • Anomaly detection on accounting series (e.g., accruals)
  • Fine-tuning LLMs on structured corporate-disclosure data
  • Macro / sector-level financial-health rollups

Methodology

Universe: every issuer in FMP's financial-statement-symbol-list reporting in USD with a US-style ticker (no foreign exchange suffix). For each, fetched up to 40 quarters from income-statement, balance-sheet-statement, and cash-flow-statement via FMP's REST API. Filtered to reportPeriod >= 2016-01-01. Packaged as one gzipped CSV per statement type (per-year split fallback if any single statement file exceeded the 50 MB platform per-file cap).

Update Schedule

Static snapshot. Reflects what FMP had indexed as of the build date.

Attribution

Source: SEC EDGAR financial statements via Financial Modeling Prep.

Schema

nametype
symbolstring
fiscalYearstring
filingDatestring
acceptedDatestring
bottomLineNetIncomestring
cikstring
costAndExpensesstring
costOfRevenuestring
datestring
depreciationAndAmortizationstring
ebitstring
ebitdastring
epsstring
epsDilutedstring
generalAndAdministrativeExpensesstring
grossProfitstring
incomeBeforeTaxstring
incomeTaxExpensestring
interestExpensestring
interestIncomestring
Showing 20 of 39 rows

Sample Data

cikepsdateebitebitdaperiodsymbolrevenuenetIncomeepsDilutedfilingDatefiscalYeargrossProfitacceptedDatecostOfRevenueotherExpensesinterestIncomecostAndExpensesincomeBeforeTaxinterestExpenseoperatingIncomeincomeTaxExpensereportedCurrencynetInterestIncomeoperatingExpensesbottomLineNetIncomenetIncomeDeductionsweightedAverageShsOutweightedAverageShsOutDildepreciationAndAmortizationotherAdjustmentsToNetIncomesellingAndMarketingExpensestotalOtherIncomeExpensesNetresearchAndDevelopmentExpensesgeneralAndAdministrativeExpensesnetIncomeFromContinuingOperationsnetIncomeFromDiscontinuedOperationsnonOperatingIncomeExcludingInterestsellingGeneralAndAdministrativeExpenses
0001546381-0.132018-06-30630001239000Q2RLJE21474000-2014000-0.132018-06-302018112340002018-06-30 00:00:0010240000705000020814000-22990002362000660000-285000USD-236200010574000-22070000150310001503100057900004776000-295900005093000-201400005970009869000
0001546381-0.452018-03-31-1661000-776000Q1RLJE18582000-6525000-0.452018-03-31201888000002018-03-31 00:00:009782000885000020243000-631200022910001306000213000USD-229100010461000-67180000144670001446700088500004265000-465100005311000-6525000009576000
00015463810.332017-12-3141740005615000Q4RLJE3268400038170000.332017-12-312017144320002017-12-31 00:00:0018252000954000028510000420300022960004174000386000USD-22960001025800036210000116020001160200014410000376500029000055390003817000009304000

Get this via API

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'All US Quarterly Financials — IS / BS / CFS (2016–2025, ~10y)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'All US Quarterly Financials — IS / BS / CFS (2016–2025, ~10y)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls
Free

one time · open license

Details

Date Range2016-01-012025-12-31
Rows1,196,539
Size112.6 MB
Files3
FormatCSV.GZ

Available formats

CSV.GZ3 files · 112.6 MB
Freeopen