SEC EDGAR Financial Statements: XBRL Company Fundamentals avatar

SEC EDGAR Financial Statements: XBRL Company Fundamentals

Pricing

$2.00 / 1,000 company-period delivereds

Go to Apify Store
SEC EDGAR Financial Statements: XBRL Company Fundamentals

SEC EDGAR Financial Statements: XBRL Company Fundamentals

Company fundamentals from SEC EDGAR XBRL: revenue, net income, EPS, assets, liabilities, equity, cash flow and capex per 10-K or 10-Q period, by ticker or CIK. One clean row per company-period, latest restated values, only-new mode. $2 per 1,000 company-periods.

Pricing

$2.00 / 1,000 company-period delivereds

Rating

0.0

(0)

Developer

OpenData Feeds

OpenData Feeds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Security

Limited permissions

Share

SEC EDGAR Financial Statements: XBRL Company Fundamentals by Ticker or CIK

Give it a list of tickers or CIK numbers. Get back each company's key financial-statement figures, one clean row per fiscal year or quarter, straight from the SEC's official XBRL data.

  • 13 normalized metrics: revenue, net income, operating income, total assets, total liabilities, stockholders' equity, cash and cash equivalents, EPS (basic and diluted), shares outstanding, weighted average diluted shares, operating cash flow and capital expenditure.
  • Annual (10-K) and quarterly (10-Q) periods, with fiscal year, fiscal period, period start and end, filed date, accession number and a link to the filing.
  • Normalized across companies. Companies tag the same line with different XBRL concepts (Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet...). The Actor maps them to one field and tells you which concept it used.
  • Restatements handled. When a later filing restates a number, you get the latest filed value, and each metric names the filing it came from.
  • Official SEC API only. The Actor reads the SEC's companyfacts API on data.sec.gov. There is no scraping, no browser and no proxy, and it stays well under the SEC's fair-access limit.
  • Only-new mode for monitoring. Schedule it daily or weekly, and it returns (and charges for) only periods it hasn't delivered before, including amended filings.
  • $2.00 per 1,000 company-periods. You pay only for periods delivered.

Who uses it

  • Quant and fintech builders who need clean fundamentals in a database or a model without parsing XBRL.
  • Analysts comparing a peer group's revenue, margins and balance sheets across years.
  • AI agents answering "what was X's revenue last year?" through Apify's MCP server.
  • Screeners and dashboards refreshed after each earnings season.

Input

FieldWhat it does
companies (required)Tickers (AAPL, BRK-B) or SEC CIK numbers (320193, 0000320193, CIK0000320193).
periodTypeannual (10-K, default), quarterly (10-Q) or both.
fromYearKeep fiscal years from this year on (default 2020). 0 keeps everything (XBRL starts around 2009–2011).
metricsPick metrics to include. Empty means all 13.
onlyNew + stateKeyReturn only company-periods not delivered by an earlier run of the same monitor.
maxItemsCap on company-periods per run. 0 = no cap. Newest periods of each company come first.
userAgentOptional. The SEC asks automated clients to identify themselves (Company Name contact@example.com). Leave empty to use the Actor's own declared User-Agent.

Example:

{
"companies": ["EXMP", "9999999902"],
"periodType": "both",
"fromYear": 2022,
"metrics": ["revenue", "netIncome", "epsDiluted", "operatingCashFlow"],
"onlyNew": true,
"stateKey": "peer-group"
}

Output

One item per company-period. Example (fictional company, trimmed to five metrics):

{
"cik": "9999999901",
"ticker": "EXMP",
"companyName": "Example Corp",
"periodType": "annual",
"fiscalYear": 2024,
"fiscalPeriod": "FY",
"form": "10-K",
"periodStart": "2024-01-01",
"periodEnd": "2024-12-31",
"filedDate": "2025-02-18",
"accessionNumber": "9999999901-25-000012",
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/9999999901/9999999901-25-000012-index.html",
"metrics": {
"revenue": {
"value": 1380000000,
"unit": "USD",
"concept": "us-gaap:Revenues",
"months": 12,
"accn": "9999999901-25-000012",
"filed": "2025-02-18"
},
"netIncome": {
"value": 180000000,
"unit": "USD",
"concept": "us-gaap:NetIncomeLoss",
"months": 12,
"accn": "9999999901-25-000012",
"filed": "2025-02-18"
},
"assets": {
"value": 2300000000,
"unit": "USD",
"concept": "us-gaap:Assets",
"months": null,
"accn": "9999999901-25-000012",
"filed": "2025-02-18"
},
"epsDiluted": {
"value": 1.77,
"unit": "USD/shares",
"concept": "us-gaap:EarningsPerShareDiluted",
"months": 12,
"accn": "9999999901-25-000012",
"filed": "2025-02-18"
},
"sharesOutstanding": {
"value": 100400000,
"unit": "shares",
"concept": "dei:EntityCommonStockSharesOutstanding",
"months": null,
"accn": "9999999901-25-000012",
"filed": "2025-02-18"
}
},
"metricsFound": 13,
"source": "SEC EDGAR XBRL companyfacts (data.sec.gov)",
"retrievedAt": "2026-10-30T09:00:00.000Z"
}

Each metric has:

  • value and unit (USD, USD/shares, shares, or the filer's own currency);
  • concept, the XBRL tag it came from;
  • months: 12 for annual figures, 3 for quarterly ones, null for balance-sheet figures at period end;
  • accn and filed, the filing that reported this number.

A metric the company did not report is left out. It is never filled with zero.

Export as JSON, CSV, Excel or HTML, or call it from the API, Make, Zapier, n8n or an AI agent (MCP). The run's SUMMARY record lists companies found, periods delivered, periods skipped as already seen, and notFound. That list holds tickers the SEC doesn't list and companies with no XBRL data. They don't stop the run.

Pricing

Pay per event: $0.002 per company-period delivered ($2.00 per 1,000).

You runCompany-periodsYou pay
1 company, 10 years of annual data10$0.02
500 companies, 5 years of annual data≈ 2,500≈ $5.00
100 companies, 5 years of annual + quarterly data≈ 2,000≈ $4.00
500 companies, weekly, only-new (≈ 4 new filings per company a year)≈ 2,000 a year≈ $4.00 a year

Set Maximum cost per run in the run options to cap spend. The Actor stops cleanly at your limit and says so in the log and in SUMMARY.stoppedAtSpendingLimit. Apify's free plan includes $5 of monthly usage, enough for about 2,500 company-periods.

Limits

  • US GAAP filers on 10-K and 10-Q. Foreign private issuers filing 20-F or 40-F under IFRS are not covered.
  • Quarterly rows are Q1 to Q3. There is no 10-Q for the fourth quarter. Derive it as the fiscal year minus Q1 to Q3.
  • Quarterly cash flows are year-to-date. 10-Qs report cash flows only from the start of the fiscal year, so months is 6 or 9 on those metrics.
  • Figures are as the company tagged them. Banks and insurers often don't report Revenues or OperatingIncomeLoss, and those metrics are then absent.
  • Company-level totals only. No segment or product breakdowns. No insider, officer or ownership data.
  • Comparative-only periods are not rows. For example, the year before a company's first XBRL filing.
  • Data appears on the SEC's API within about a minute of a filing being disseminated.

Source and terms

The data comes from the U.S. Securities and Exchange Commission's EDGAR system, through its public XBRL API (data.sec.gov). The SEC states that "Information presented on sec.gov is considered public information and may be copied or further distributed by users of the web site without the SEC's permission."

The Actor follows the SEC's fair-access policy: at most 5 requests per second (the SEC's limit is 10), a declared User-Agent, and back-off when asked to slow down.

This Actor is not affiliated with, endorsed by, or approved by the SEC. Figures are reproduced as filed. Check the linked filing before relying on a number.

FAQ

Why is a metric missing for some years? The company didn't tag that line with any of the concepts this Actor maps, or didn't report it in that filing. The concept field shows which tags are used.

Why does a number differ from the original 10-K? It was restated in a later filing. accn and filed on the metric point to that later filing. The row's own accessionNumber is the filing that reported the period.

Can I use my own SEC User-Agent? Yes, put Your Company you@example.com in userAgent.

Something broke or a company is missing? Open an issue on the Issues tab with the ticker or CIK. Issues are answered within 24 hours.