SEC Company Financials Scraper — Revenue, Net Income, EPS avatar

SEC Company Financials Scraper — Revenue, Net Income, EPS

Pricing

from $1.00 / 1,000 result items

Go to Apify Store
SEC Company Financials Scraper — Revenue, Net Income, EPS

SEC Company Financials Scraper — Revenue, Net Income, EPS

Standardized financial statements for any US-listed company from SEC XBRL data: revenue, net income, EPS, total assets, liabilities, cash, shares outstanding by quarter and year. Lookup by ticker or CIK. Clean JSON for AI agents. No API key.

Pricing

from $1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

SEC Company Financials — revenue, net income, EPS, balance sheet & cash flow from XBRL

Standardized financial data for any SEC filer — US companies (10-K/10-Q) and foreign private issuers (20-F/6-K such as TSM, ASML, SAP) — straight from the SEC's official XBRL APIs (companyfacts, companyconcept, frames). Get the long history of any of 85 curated concepts, ready-made statement rows with margins, ROE, free cash flow, the full trail of one concept, or a cross-company screen ("every filer's revenue for CY2025"). Lookup by ticker or CIK. No API key, no proxy, no browser.

Every value comes with the period (start/end, durationDays, periodType), the filing that reported it (form, filed, accession), the unit, and the exact SEC URL it was read from. Restated duplicates are collapsed to the most recently filed value.

Use cases

  • Fundamental screeningframes mode: all SEC filers ranked by revenue, net income, assets or any concept for one calendar period.
  • Peer comparison / comps tablesstatements mode for a ticker list: revenue, margins, EPS, debt/equity, ROE per fiscal year side by side.
  • Due diligence & credit checks — 10 years of assets, liabilities, cash, debt and operating cash flow of a counterparty, with filing references.
  • Earnings monitoring — schedule a quarterly run with form: "10-Q", periodTypes: ["quarter"] and diff the newest end date against your store.
  • AI-agent research — an LLM asks "what was NVIDIA's gross margin trend?" → one statements run returns clean JSON with formulas already applied.
  • Dataset building — long-format facts for time series / ML features, keyed by stable id.

Input

FieldTypeDefaultNotes
modeselectfactsfacts (long: metric × period), statements (wide: company × period + ratios), concept (one concept, all periods & units), frames (one concept × period across all companies).
tickersstring[]["AAPL"]Tickers (AAPL, BRK-B) or CIKs (320193, CIK0000320193). Resolved via company_tickers.json. Required except in frames mode, where it acts as a filter. Unknown → error item.
metricPresetselectcorecore (9 headline metrics — the historical default), incomeStatement (21), balanceSheet (38), cashFlow (16), perShare (10, incl. share counts & dei), all (85), custom (only metrics). Presets are unioned with metrics. If metrics is set and metricPreset omitted → custom (backward compatible).
metricsstring[][]Any XBRL concept: GrossProfit, dei:EntityPublicFloat, ifrs-full:Revenue, or a friendly alias (revenue, netIncome, capex, …). See Reference.
periodsinteger 1–20012facts: newest N periods per metric. statements: newest N rows per company. Ignored in concept/frames (use maxItems).
formselectallall, 10-K, 10-Q, 20-F, 40-F, 6-K, 8-K. Amendments (10-K/A) match their base form. Foreign private issuers use 20-F/6-K — a 10-K filter on TSM returns nothing.
periodTypesstring[][] (statements: ["annual","quarter"])Any of instant, quarter, ytd, annual.
startYear / endYearintegerFilter by calendar year of the period end date.
includeAmendmentsbooleantruefalse drops /A forms entirely.
taxonomyselectautoauto = us-gaap → ifrs-full → dei; or force us-gaap, ifrs-full, dei.
currencystringautoauto prefers USD, else the filer's currency (EUR for ASML). Force with an ISO code (TWD). Share counts and pure ratios are unaffected.
conceptstringRevenues (frames)Concept for concept/frames modes.
periodstringFrames period: CY2025, CY2025Q1, CY2025Q4I (instantaneous — required for balance-sheet concepts). Required in frames mode.
unitstringUSDFrames unit: USD, shares, USD/shares, pure.
maxItemsinteger1000Hard cap on items per run. In frames mode results are sorted by value desc, so maxItems: 50 = top 50.

How periods are classified

periodTypeRuleTypical source
instantno startbalance sheet (Assets, Liabilities, Equity, Cash, shares outstanding)
quarterduration ≤ 100 days10-Q quarter, Q4 derived in 10-K
ytdany other duration (≈180 / ≈270 days)6-month / 9-month year-to-date figures in 10-Q and 6-K
annual340–380 days10-K / 20-F fiscal year

Do not sum ytd and quarter rows. Note that SEC's fy/fp fields describe the filing's fiscal year/period, not the fact's period (a 10-K for FY2018 also re-reports FY2016 with fy: 2018) — filter on end / startYear instead. SEC's frame field (e.g. CY2025Q4) is the calendar frame the SEC aligned the fact to, present only on the canonical (non-duplicate) fact.

Reference

Curated concept dictionary (85, all verified in Apple and Microsoft company facts)

Income statement

ConceptTitle
RevenuesRevenues (total)
RevenueFromContractWithCustomerExcludingAssessedTaxRevenue from contracts with customers (ASC 606)
SalesRevenueNetNet sales (legacy tag, pre-2018)
RevenuesNetOfInterestExpenseRevenues net of interest expense (banks)
CostOfRevenueCost of revenue
CostOfGoodsAndServicesSoldCost of goods and services sold
GrossProfitGross profit
OperatingExpensesOperating expenses (total)
ResearchAndDevelopmentExpenseResearch and development expense
SellingGeneralAndAdministrativeExpenseSelling, general and administrative expense
SellingAndMarketingExpenseSelling and marketing expense
GeneralAndAdministrativeExpenseGeneral and administrative expense
OperatingIncomeLossOperating income (loss)
NonoperatingIncomeExpenseNon-operating income (expense)
InterestExpenseInterest expense
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestPre-tax income (continuing operations)
IncomeTaxExpenseBenefitIncome tax expense (benefit)
NetIncomeLossNet income (loss)
ComprehensiveIncomeNetOfTaxComprehensive income, net of tax
DepreciationDepletionAndAmortizationDepreciation, depletion and amortization
ShareBasedCompensationShare-based compensation

Balance sheet

ConceptTitle
AssetsTotal assets
AssetsCurrentCurrent assets
AssetsNoncurrentNon-current assets
CashAndCashEquivalentsAtCarryingValueCash and cash equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsCash incl. restricted cash
MarketableSecuritiesCurrentMarketable securities, current
MarketableSecuritiesNoncurrentMarketable securities, non-current
ShortTermInvestmentsShort-term investments
AccountsReceivableNetCurrentAccounts receivable, net
InventoryNetInventory, net
OtherAssetsCurrentOther current assets
OtherAssetsNoncurrentOther non-current assets
PropertyPlantAndEquipmentNetProperty, plant and equipment, net
OperatingLeaseRightOfUseAssetOperating lease right-of-use assets
GoodwillGoodwill
IntangibleAssetsNetExcludingGoodwillIntangible assets, net (excl. goodwill)
LiabilitiesTotal liabilities
LiabilitiesCurrentCurrent liabilities
LiabilitiesNoncurrentNon-current liabilities
AccountsPayableCurrentAccounts payable
AccruedLiabilitiesCurrentAccrued liabilities, current
ContractWithCustomerLiabilityCurrentContract liabilities (deferred revenue), current
DeferredRevenueCurrentDeferred revenue, current (legacy)
DebtCurrentDebt, current
LongTermDebtCurrentLong-term debt, current portion
CommercialPaperCommercial paper
LongTermDebtLong-term debt (total incl. current)
LongTermDebtNoncurrentLong-term debt, non-current
OperatingLeaseLiabilityNoncurrentOperating lease liabilities, non-current
OtherLiabilitiesCurrentOther current liabilities
OtherLiabilitiesNoncurrentOther non-current liabilities
LiabilitiesAndStockholdersEquityTotal liabilities and equity
StockholdersEquityStockholders' equity
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestTotal equity incl. non-controlling interest
RetainedEarningsAccumulatedDeficitRetained earnings (accumulated deficit)
AccumulatedOtherComprehensiveIncomeLossNetOfTaxAccumulated other comprehensive income (loss)
CommonStocksIncludingAdditionalPaidInCapitalCommon stock incl. APIC
TreasuryStockValueTreasury stock

Cash flow

ConceptTitle
NetCashProvidedByUsedInOperatingActivitiesNet cash from operating activities
NetCashProvidedByUsedInInvestingActivitiesNet cash from investing activities
NetCashProvidedByUsedInFinancingActivitiesNet cash from financing activities
PaymentsToAcquirePropertyPlantAndEquipmentCapital expenditures (PP&E purchases)
PaymentsToAcquireBusinessesNetOfCashAcquiredAcquisitions, net of cash acquired
PaymentsForRepurchaseOfCommonStockShare repurchases
PaymentsOfDividendsDividends paid
PaymentsOfDividendsCommonStockDividends paid, common stock
ProceedsFromIssuanceOfLongTermDebtProceeds from long-term debt
RepaymentsOfLongTermDebtRepayments of long-term debt
DeferredIncomeTaxExpenseBenefitDeferred income tax expense (benefit)
IncreaseDecreaseInAccountsReceivableChange in accounts receivable
IncreaseDecreaseInInventoriesChange in inventories
IncreaseDecreaseInAccountsPayableChange in accounts payable
IncomeTaxesPaidNetIncome taxes paid, net
InterestPaidNetInterest paid, net

Per share

ConceptTitle
EarningsPerShareBasicEPS, basic
EarningsPerShareDilutedEPS, diluted
CommonStockDividendsPerShareDeclaredDividends declared per share

Shares

ConceptTitle
WeightedAverageNumberOfSharesOutstandingBasicWeighted average shares, basic
WeightedAverageNumberOfDilutedSharesOutstandingWeighted average shares, diluted
CommonStockSharesOutstandingCommon shares outstanding (balance sheet)
CommonStockSharesIssuedCommon shares issued
CommonStockSharesAuthorizedCommon shares authorized

DEI (cover page)

ConceptTitle
dei:EntityCommonStockSharesOutstandingShares outstanding (cover page)
dei:EntityPublicFloatPublic float (cover page)

Alias chains (friendly name → us-gaap fallback order → ifrs-full fallback order)

Friendlyus-gaap chainifrs-full chain
revenueRevenuesRevenueFromContractWithCustomerExcludingAssessedTaxSalesRevenueNetRevenuesNetOfInterestExpenseRevenueRevenueFromContractsWithCustomers
costOfRevenueCostOfRevenueCostOfGoodsAndServicesSoldCostOfSales
grossProfitGrossProfitGrossProfit
operatingIncomeOperatingIncomeLossProfitLossFromOperatingActivities
netIncomeNetIncomeLossProfitLossProfitLossAttributableToOwnersOfParentProfitLoss
incomeTaxIncomeTaxExpenseBenefitIncomeTaxExpenseContinuingOperations
interestExpenseInterestExpenseInterestExpenseNonoperatingFinanceCostsInterestExpense
rndResearchAndDevelopmentExpenseResearchAndDevelopmentExpense
sgaSellingGeneralAndAdministrativeExpenseSellingGeneralAndAdministrativeExpense
epsDilutedEarningsPerShareDilutedEarningsPerShareBasicAndDilutedDilutedEarningsLossPerShare
epsBasicEarningsPerShareBasicEarningsPerShareBasicAndDilutedBasicEarningsLossPerShare
sharesDilutedWeightedAverageNumberOfDilutedSharesOutstandingAdjustedWeightedAverageSharesWeightedAverageShares
assetsAssetsAssets
assetsCurrentAssetsCurrentCurrentAssets
liabilitiesLiabilitiesLiabilities
liabilitiesCurrentLiabilitiesCurrentCurrentLiabilities
equityStockholdersEquityStockholdersEquityIncludingPortionAttributableToNoncontrollingInterestEquityAttributableToOwnersOfParentEquity
cashCashAndCashEquivalentsAtCarryingValueCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsCashAndCashEquivalents
longTermDebtLongTermDebtNoncurrentLongTermDebtNoncurrentPortionOfNoncurrentBondsIssuedLongtermBorrowingsNoncurrentPortionOfNoncurrentBorrowings
debtCurrentDebtCurrentLongTermDebtCurrentCommercialPaperCurrentPortionOfLongtermBorrowingsShorttermBorrowingsCurrentBorrowingsAndCurrentPortionOfNoncurrentBorrowings
operatingCashFlowNetCashProvidedByUsedInOperatingActivitiesNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsCashFlowsFromUsedInOperatingActivities
capexPaymentsToAcquirePropertyPlantAndEquipmentPaymentsToAcquireProductiveAssetsPurchaseOfPropertyPlantAndEquipmentClassifiedAsInvestingActivities
dividendsPaidPaymentsOfDividendsPaymentsOfDividendsCommonStockDividendsPaidClassifiedAsFinancingActivitiesDividendsPaid
buybacksPaymentsForRepurchaseOfCommonStockPaymentsToAcquireOrRedeemEntitysShares
ddaDepreciationDepletionAndAmortizationDepreciationAndAmortizationDepreciationAmortizationAndAccretionNetDepreciationAndAmortisationExpense
sbcShareBasedCompensationAllocatedShareBasedCompensationExpense

Any other concept from the us-gaap / ifrs-full / dei taxonomies works too — the actor reads whatever the filer tagged. When a requested metric is not reported, the run logs a warning listing the missing metrics; when an alias chain is used, the item's metricResolved tells you which concept was read. Among chain members a filer reports, the one with the freshest data wins (Apple's Revenues stops in 2018; RevenueFromContractWithCustomerExcludingAssessedTax continues).

Statement lines and formulas (mode: "statements")

Lines: revenue, costOfRevenue, grossProfit, operatingIncome, netIncome, epsDiluted, epsBasic, sharesDiluted, assets, assetsCurrent, liabilities, liabilitiesCurrent, equity, cash, longTermDebt, debtCurrent, operatingCashFlow, capex, dividendsPaid, buybacks, rnd, sga, interestExpense, incomeTax, dda, sbc — each resolved through the alias chains above; concepts on every row shows exactly which tag supplied each line. One row per duration period (anchored by revenue / net income / operating cash flow) with balance-sheet instants attached by matching end date.

FieldFormulaNull when
totalDebtlongTermDebt + debtCurrent (debtCurrent = 0 if absent but longTermDebt exists)both missing
freeCashFlowoperatingCashFlow − capexeither missing
grossMargingrossProfit / revenue (grossProfit falls back to revenue − costOfRevenue)no gross profit or no revenue
operatingMarginoperatingIncome / revenueeither missing
netMarginnetIncome / revenueeither missing
debtToEquitytotalDebt / equityeither missing or equity = 0
currentRatioassetsCurrent / liabilitiesCurrenteither missing
roenetIncome / equity (period-end equity, not average)either missing
roanetIncome / assets (period-end assets)either missing

Ratios are rounded to 4 decimals. On quarter rows roe/roa are quarterly returns (not annualised). IFRS chains are best-effort mappings: e.g. TSM's longTermDebt comes from NoncurrentPortionOfNoncurrentBondsIssued (bonds only) and sbc is null because IFRS filers do not tag total share-based compensation — always read concepts.

Frames periods

CYyyyy = calendar year (duration concepts), CYyyyyQn = calendar quarter (duration), CYyyyyQnI = instantaneous at quarter end (balance-sheet concepts). SEC maps each filer's fiscal period to the closest calendar frame, so Walmart's FY ending Jan-2026 appears in CY2025. Frames exist for us-gaap (and dei) concepts; ifrs-full frames returned 404 in our tests — screen IFRS filers with statements mode instead.

Examples

Headline metrics for one company (default)

{ "tickers": ["AAPL"] }

Comps table: 5 fiscal years of standardized statements + ratios for peers

{ "tickers": ["AAPL", "MSFT", "NVDA"], "mode": "statements", "form": "10-K", "periods": 5 }

Screen: top 50 SEC filers by revenue, calendar 2025

{ "mode": "frames", "concept": "Revenues", "period": "CY2025", "maxItems": 50 }

Clean quarterly revenue & gross profit series since 2025 (no YTD mixing)

{ "tickers": ["NVDA"], "form": "10-Q", "periodTypes": ["quarter"], "startYear": 2025,
"metricPreset": "custom", "metrics": ["revenue", "GrossProfit"] }

Foreign private issuer under IFRS, in its reporting currency

{ "tickers": ["TSM"], "mode": "statements", "form": "20-F", "currency": "TWD", "periods": 6 }

Full cash-flow statement history for a due-diligence file

{ "tickers": ["320193"], "metricPreset": "cashFlow", "periodTypes": ["annual"], "periods": 10 }

Every reported value of one concept, all units, since 2022

{ "tickers": ["MSFT"], "mode": "concept", "concept": "EarningsPerShareDiluted", "periodTypes": ["annual"], "startYear": 2022 }

Output

facts / concept / frames item (long format):

{
"id": "0000320193:us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax:USD:2024-09-29:2025-09-27",
"ticker": "AAPL", "cik": "0000320193", "company": "Apple Inc.",
"taxonomy": "us-gaap", "metric": "Revenues",
"metricResolved": "RevenueFromContractWithCustomerExcludingAssessedTax",
"label": "Revenue from Contract with Customer, Excluding Assessed Tax", "category": "incomeStatement",
"unit": "USD", "value": 416161000000,
"start": "2024-09-29", "end": "2025-09-27", "durationDays": 363, "periodType": "annual",
"fy": 2025, "fp": "FY", "form": "10-K", "filed": "2025-10-31", "accession": "0000320193-25-000079", "frame": "CY2025",
"fetchedAt": "2026-09-12T23:30:35.063Z",
"sourceUrl": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json"
}

statements item (wide format, trimmed):

{
"id": "0000320193:stmt:2024-09-29:2025-09-27", "ticker": "AAPL", "cik": "0000320193", "company": "Apple Inc.",
"taxonomy": "us-gaap", "currency": "USD", "periodType": "annual", "start": "2024-09-29", "end": "2025-09-27",
"durationDays": 363, "fy": 2025, "fp": "FY", "form": "10-K", "filed": "2025-10-31", "accession": "0000320193-25-000079", "frame": "CY2025",
"revenue": 416161000000, "costOfRevenue": 220960000000, "grossProfit": 195201000000, "operatingIncome": 133050000000,
"netIncome": 112010000000, "epsDiluted": 7.46, "epsBasic": 7.49, "sharesDiluted": 15004697000,
"assets": 359241000000, "assetsCurrent": 147957000000, "liabilities": 285508000000, "liabilitiesCurrent": 165631000000,
"equity": 73733000000, "cash": 35934000000, "longTermDebt": 78328000000, "debtCurrent": 12350000000,
"operatingCashFlow": 111482000000, "capex": 12715000000, "dividendsPaid": 15421000000, "buybacks": 90711000000,
"rnd": 34550000000, "sga": 27601000000, "interestExpense": null, "incomeTax": 20719000000, "dda": 11698000000, "sbc": 12863000000,
"totalDebt": 90678000000, "freeCashFlow": 98767000000,
"grossMargin": 0.4691, "operatingMargin": 0.3197, "netMargin": 0.2692, "debtToEquity": 1.2298, "currentRatio": 0.8933, "roe": 1.5191, "roa": 0.3118,
"concepts": { "revenue": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "debtCurrent": "us-gaap:LongTermDebtCurrent", "...": "..." },
"fetchedAt": "2026-09-12T23:30:40.368Z", "sourceUrl": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json"
}
FieldDescription
idStable key: cik:taxonomy:concept:unit:start:end (facts), cik:stmt:start:end (statements), cik:taxonomy:concept:unit:period (frames).
ticker, cik, companyTicker as resolved from SEC's list (null in frames for filers without a ticker), 10-digit CIK, SEC entity name.
taxonomyus-gaap, ifrs-full or dei.
metric / metricResolved / label / categoryWhat you asked for / the concept actually read / SEC's label / dictionary category (null for uncurated concepts).
unit, valueXBRL unit (USD, EUR, shares, USD/shares, pure) and numeric value.
start, end, durationDays, periodTypePeriod; start null and durationDays null for instants.
fy, fp, form, filed, accession, frameFiling metadata as provided by SEC (see the caveat on fy/fp above).
rank, locationframes only: rank by value desc; filer's state/country code (US-CA).
currencystatements only: monetary unit of the row.
conceptsstatements only: line → concept used.
errorPresent on error items (unknown ticker, no XBRL data, missing frame).
fetchedAt, sourceUrlISO timestamp; exact SEC API URL the item came from.

Dataset views: Facts (long items) and Statements (wide items).

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~sec-company-financials/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"tickers":["AAPL","MSFT"],"mode":"statements","form":"10-K","periods":5}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/sec-company-financials').call({
mode: 'frames', concept: 'NetIncomeLoss', period: 'CY2025', maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/sec-company-financials").call(run_input={
"tickers": ["TSM", "ASML"], "mode": "statements", "periods": 4})
rows = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: add https://mcp.apify.com to your agent (Claude, Cursor, custom) and call the yadroo/sec-company-financials tool with the same JSON input — the schema descriptions are written for agents.

Pricing

Pay per event: $0.001 per run start + $0.001 per dataset item. Typical runs: default (AAPL, 9 metrics × 12 periods ≈ 96 items) ≈ $0.10; comps table for 3 tickers × 5 years (15 items) ≈ $0.016; top-50 revenue screen ≈ $0.051; metricPreset: "all" for one ticker (up to 85 × 12 = 1 020 items, capped by maxItems) ≈ $1. Error items count as items.

Limits & FAQ

  • Rate limits — the actor sends SEC's required User-Agent and stays under 7 requests/second (SEC allows 10); retries 3× with backoff on 429/5xx, then fails with a clear error. One request per company plus one for the ticker map; frames is a single request.
  • Freshness — SEC updates companyfacts within minutes of a filing being accepted; frames are rebuilt on the same cycle. Data starts around 2009 (XBRL mandate).
  • Coverage — only SEC registrants that file XBRL financial data: US domestic filers, foreign private issuers (20-F/40-F/6-K with us-gaap or ifrs-full), and funds/ABS issuers are usually absent. Private companies, most banks' regulatory data and non-US-listed companies are not available.
  • Why is a metric missing? The filer used a different tag. Try the friendly alias (revenue, netIncome, capex…), metricPreset: "all", or mode: "concept" with a candidate tag; the log lists which requested metrics were not found.
  • Duplicates / restatements — the same period appears in several filings; the actor keeps the most recently filed value per (start, end). Pass includeAmendments: false to ignore /A forms.
  • Currency — non-US filers report in their own currency (ASML: EUR). TSM tags both TWD and a USD convenience translation; currency: "auto" picks USD when present. Values are never converted.
  • Errors — unknown ticker, a CIK without XBRL data, or a missing frame produce an item with error and a warning in the log; the run continues with the next ticker.
  • Roadmap — segment data (srt/dimensional facts) and full-text search integration with sec-edgar-filings.

Made by Yadroo. Related actors: sec-edgar-filings · us-treasury-yields · fx-rates · world-bank-indicators · coingecko-markets · polymarket-markets