SEC Company Financials API: income, balance sheet, cash flow avatar

SEC Company Financials API: income, balance sheet, cash flow

Pricing

from $5.00 / 1,000 company periods

Go to Apify Store
SEC Company Financials API: income, balance sheet, cash flow

SEC Company Financials API: income, balance sheet, cash flow

US company financials from SEC XBRL: revenue, profit, EPS, balance sheet, cash flow, free cash flow and margins per fiscal year or quarter, 2009 to today. By ticker or CIK, 10-K/10-Q and 20-F filers. Each value cites its XBRL tag and SEC filing. Q4 derived where not reported.

Pricing

from $5.00 / 1,000 company periods

Rating

0.0

(0)

Developer

Bosco Labs

Bosco Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Security

Limited permissions

Share

Get clean financial statements of any US-listed company from the SEC's own XBRL data: revenue, profit, EPS, balance sheet, cash flow, free cash flow and margins, per fiscal year or per quarter, by ticker or CIK. For analysts, finance apps and AI agents that need a company's numbers over 5-20 years without parsing filings. Every value cites the XBRL tag and the SEC filing it came from.

Pricing (pay per event): $0.005 per company-period row ($5 per 1,000). Five years of Apple's annual figures cost $0.025; eight quarters $0.04. Empty or failed lookups are free, and the Actor stops at your max charge limit.

Data comes straight from the SEC's companyfacts API (data.sec.gov/api/xbrl/companyfacts): every 10-K, 10-Q, 20-F, 40-F and 6-K filed with XBRL since 2009-2011. No scraping, no logins, no third-party data.

What you get

One row per company per fiscal year (period: "annual") or fiscal quarter ("quarterly"). Real output for Apple's fiscal 2025 (shortened; sources lists every metric):

{
"ticker": "AAPL",
"cik": "0000320193",
"company_name": "Apple Inc.",
"fiscal_year": 2025,
"fiscal_period": "FY",
"period_start": "2024-09-29",
"period_end": "2025-09-27",
"form": "10-K",
"filed": "2025-10-31",
"accession_number": "0000320193-25-000079",
"source_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm",
"currency": "USD",
"revenue": 416161000000,
"gross_profit": 195201000000,
"operating_profit": 133050000000,
"net_income": 112010000000,
"eps_diluted": 7.46,
"total_assets": 359241000000,
"cash_and_equivalents": 35934000000,
"long_term_debt": 78328000000,
"total_equity": 73733000000,
"operating_cash_flow": 111482000000,
"capex": 12715000000,
"free_cash_flow": 98767000000,
"gross_margin": 0.4691,
"operating_margin": 0.3197,
"net_margin": 0.2692,
"revenue_growth": 0.0643,
"metrics_found": 29,
"sources": {
"revenue": {
"tag": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
"accession": "0000320193-25-000079"
},
"...": "one entry per reported metric"
},
"filings": {
"0000320193-25-000079": {
"form": "10-K",
"filed": "2025-10-31",
"url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm"
}
},
"warnings": [],
"schema_version": "1",
"retrieved_at": "2026-11-05T21:38:54+00:00"
}

All money values are in full units of currency (not thousands), EPS is per share, ratios are fractions (0.25 = 25%). null means the company didn't report it; nothing is guessed and unknown is never 0. Checked against the printed statements of Apple's fiscal 2025 10-K and JPMorgan's 2024 10-K: every value matched.

Reported fields: revenue, cost_of_revenue, gross_profit, research_and_development, selling_general_and_administrative, operating_profit, profit_before_tax, net_income, net_income_attributable_to_parent, eps_basic, eps_diluted, weighted_average_shares_basic, weighted_average_shares_diluted, depreciation_amortisation, total_assets, current_assets, cash_and_equivalents, total_liabilities, current_liabilities, noncurrent_liabilities, long_term_debt, total_equity, equity_attributable_to_parent, shares_outstanding, operating_cash_flow, investing_cash_flow, financing_cash_flow, capex, dividends_paid.

Derived fields (computed only when every input is there): free_cash_flow (operating cash flow - capex), ebitda (operating profit + D&A), gross_margin, operating_margin, net_margin, return_on_equity (fiscal years only), equity_ratio, revenue_growth (versus the same period a year earlier), plus gross_profit and total_liabilities when the company doesn't tag them (marked derived in sources).

The field names are the same as in our EU Annual Reports (ESEF) Actor, so US and European companies come out in one vocabulary.

Input

{ "tickers": ["AAPL", "MSFT"], "period": "quarterly", "years": 2, "metrics": ["revenue", "net_income", "free_cash_flow"] }
FieldMeaning
tickersUS tickers, e.g. ["AAPL"]; share classes BRK-B or BRK.B. Foreign filers too, e.g. NVO
ciksSEC CIKs, e.g. ["320193"], for delisted companies or filers without a ticker
periodannual (default) or quarterly
yearsLatest fiscal years per company, default 5, max 20 (quarterly + 2 = 8 quarters)
metricsOnly these fields. Empty = all
includeSourcesPer-value tag and filing (default true); false makes rows about 3x smaller

How the numbers are cleaned

  • One metric, many tags. Companies tag the same line differently, and change tags over the years (Apple's revenue was SalesRevenueNet until 2018, then RevenueFromContractWithCustomerExcludingAssessedTax). Each metric has an ordered list of candidate tags; the first one with a value for that exact period wins, and sources names it.
  • Duplicates and restatements. The same figure appears in every later filing that shows it as a comparative. The Actor keeps the latest filed value (restatements and 10-K/A amendments win) and cites the first filing that reported that value. When a value was restated, warnings says so with the old value. Only periodic reports count (10-K, 10-Q, 20-F, 40-F, 6-K, 10-KT, 10-QT and amendments): proxy statements repeat rounded figures (JPM's 2026 proxy shows 2024 net income as 58.5bn; the 10-K says 58,471m) and are ignored.
  • Fiscal years are found from the period dates, not from the filings' own labels, and named the way the company names them (Apple's year ending September 2025 is 2025, Target's year ending January 2026 is 2025, Walmart's is 2026).
  • Quarters are discrete 3-month periods. Companies don't report Q4 separately, and most report cash flows only year-to-date in their 10-Qs. For flow items (income statement and cash flow), the Actor derives Q4 as fiscal year minus the 9-month YTD, and Q2/Q3 as YTD minus the previous YTD when no 3-month figure exists. sources.<metric>.derived and warnings say so. Balance-sheet values are never derived (Q4 = the year-end balance sheet), and EPS and share counts are never derived (they don't add up), so they are null for Q4 unless reported.

Tag mapping

First tag with a value for the period wins (us-gaap first, then ifrs-full for IFRS filers).

FieldCandidate tags, in order
revenueRevenues, RevenueFromContractWithCustomerExcludingAssessedTax, RevenueFromContractWithCustomerIncludingAssessedTax, SalesRevenueNet, SalesRevenueGoodsNet, RevenuesNetOfInterestExpense; ifrs Revenue, RevenueFromContractsWithCustomers
cost_of_revenueCostOfRevenue, CostOfGoodsAndServicesSold, CostOfGoodsSold, CostOfServices; ifrs CostOfSales
gross_profitGrossProfit; ifrs GrossProfit (else revenue - cost_of_revenue)
research_and_developmentResearchAndDevelopmentExpense, ResearchAndDevelopmentExpenseExcludingAcquiredInProcessCost; ifrs ResearchAndDevelopmentExpense
selling_general_and_administrativeSellingGeneralAndAdministrativeExpense; ifrs SellingGeneralAndAdministrativeExpense
operating_profitOperatingIncomeLoss; ifrs ProfitLossFromOperatingActivities
profit_before_taxIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest, IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments; ifrs ProfitLossBeforeTax
net_incomeProfitLoss, NetIncomeLoss; ifrs ProfitLoss
net_income_attributable_to_parentNetIncomeLoss; ifrs ProfitLossAttributableToOwnersOfParent
eps_basicEarningsPerShareBasic, EarningsPerShareBasicAndDiluted; ifrs BasicEarningsLossPerShare
eps_dilutedEarningsPerShareDiluted, EarningsPerShareBasicAndDiluted; ifrs DilutedEarningsLossPerShare
weighted_average_shares_basicWeightedAverageNumberOfSharesOutstandingBasic; ifrs WeightedAverageShares
weighted_average_shares_dilutedWeightedAverageNumberOfDilutedSharesOutstanding; ifrs AdjustedWeightedAverageShares
depreciation_amortisationDepreciationDepletionAndAmortization, DepreciationAndAmortization, DepreciationAmortizationAndAccretionNet; ifrs DepreciationAndAmortisationExpense, AdjustmentsForDepreciationAndAmortisationExpense
total_assetsAssets; ifrs Assets
current_assetsAssetsCurrent; ifrs CurrentAssets
cash_and_equivalentsCashAndCashEquivalentsAtCarryingValue, Cash, CashAndDueFromBanks; ifrs CashAndCashEquivalents
total_liabilitiesLiabilities; ifrs Liabilities (else total_assets - total_equity)
current_liabilitiesLiabilitiesCurrent; ifrs CurrentLiabilities
noncurrent_liabilitiesLiabilitiesNoncurrent; ifrs NoncurrentLiabilities
long_term_debtLongTermDebtNoncurrent, LongTermDebtAndCapitalLeaseObligations, LongTermDebt; ifrs NoncurrentPortionOfNoncurrentBorrowings, LongtermBorrowings
total_equityStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest, StockholdersEquity; ifrs Equity
equity_attributable_to_parentStockholdersEquity; ifrs EquityAttributableToOwnersOfParent
shares_outstandingCommonStockSharesOutstanding; ifrs NumberOfSharesOutstanding
operating_cash_flowNetCashProvidedByUsedInOperatingActivities, ...ContinuingOperations; ifrs CashFlowsFromUsedInOperatingActivities
investing_cash_flowNetCashProvidedByUsedInInvestingActivities, ...ContinuingOperations; ifrs CashFlowsFromUsedInInvestingActivities
financing_cash_flowNetCashProvidedByUsedInFinancingActivities, ...ContinuingOperations; ifrs CashFlowsFromUsedInFinancingActivities
capexPaymentsToAcquirePropertyPlantAndEquipment, PaymentsToAcquireProductiveAssets; ifrs PurchaseOfPropertyPlantAndEquipmentClassifiedAsInvestingActivities, PurchaseOfPropertyPlantAndEquipment
dividends_paidPaymentsOfDividends, PaymentsOfDividendsCommonStock; ifrs DividendsPaidClassifiedAsFinancingActivities, DividendsPaid

Use cases

  • Fundamental research: revenue, margins and cash flow of a company over 5-20 years, or quarter by quarter, in one call.
  • Peer comparison: the same fields for a list of tickers, ready for a spreadsheet.
  • Valuation inputs: free cash flow, EBITDA, net debt components, shares, EPS.
  • Due diligence and credit checks: balance sheet and equity trend of a supplier or counterparty, with the SEC filing behind each number.
  • AI agents: small, typed JSON with a source for every value, so the agent doesn't invent numbers.

Use from an AI agent (MCP)

Agents can call this Actor as a tool through the Apify MCP server. Add this server URL to your MCP client (Claude, Cursor, VS Code, ...):

https://mcp.apify.com?tools=bosco_labs/sec-company-financials

It loads this Actor as a tool, plus the tools that read its results (get-actor-run, get-dataset-items). The hosted server signs you in with OAuth, or accepts your Apify token as Authorization: Bearer <APIFY_TOKEN>. On the default server (https://mcp.apify.com), agents can also find this Actor with search-actors and run it with call-actor.

Example prompts this Actor answers:

  • "How did Microsoft's revenue, net income and free cash flow develop over the last 8 quarters?"
  • "Compare Nvidia, AMD and Intel on operating margin for the last 5 fiscal years."
  • "What was JPMorgan's net income in 2024, and which filing is it from?"

For the first one, the agent passes:

{"tickers": ["MSFT"], "period": "quarterly", "years": 2, "metrics": ["revenue", "net_income", "free_cash_flow"]}

Output for agents: stable, typed JSON, one row per company and period, newest first. Every row has schema_version, a source_url (the EDGAR filing most values come from), and with includeSources the tag and accession number of each value, so the agent can cite its source. Derived quarter values and restatements are explained in warnings. A typical answer is 20-40 KB with sources, 2-6 KB without. An unknown ticker fails in seconds with suggestions ("APPLE (did you mean AAPL?)"); a company without XBRL data gets a status message saying so.

Cost: $0.005 per company-period row, billed to the Apify account the MCP server is signed in with.

FAQ

Which companies? Every SEC filer with XBRL financial statements: US companies filing 10-K and 10-Q (large companies since 2009, all since 2011) and foreign companies filing 20-F or 40-F (IFRS, mostly since 2018). Foreign filers report in their own currency (e.g. Novo Nordisk in DKK, see currency), and most of them report annually only: asking them for quarters returns fiscal years with a warning.

How fresh? The SEC updates companyfacts within minutes of a filing, so a 10-Q is in the next run after it is filed.

Are the values as reported? Yes: as tagged in the filings (latest restated value), not adjusted, not normalized for one-offs, not converted between currencies. No forecasts.

Banks and insurers? Their statements have no gross profit, operating income, current assets, current liabilities or (usually) capex, so those fields, and the margins and free cash flow built on them, are null. Revenue for banks is total net revenue (JPMorgan: 177,556m for 2024); profit_before_tax, net_income, EPS, assets, liabilities and equity are there. cash_and_equivalents for banks is usually cash and due from banks.

Why is a field empty for some companies? Companies tag differently. Some use their own company-specific tags instead of the standard ones (Microsoft reports sales & marketing and G&A separately, so selling_general_and_administrative is null); those stay null rather than being guessed. metrics_found tells you how complete a row is.

What is not included? Market data (share prices, market cap, valuation multiples), segment and geographic breakdowns, guidance, non-GAAP figures, and anything before a company's first XBRL filing (2009-2011).

Legal basis? SEC filings are US government public records. See LEGAL.md.