SEC EDGAR Financials, Filings & Company Data Scraper avatar

SEC EDGAR Financials, Filings & Company Data Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
SEC EDGAR Financials, Filings & Company Data Scraper

SEC EDGAR Financials, Filings & Company Data Scraper

Rich US public-company intelligence from the official SEC EDGAR API: full firmographics, multi-year XBRL financial statements (income, balance sheet, cash flow), computed margins & growth, plus recent filings (10-K/10-Q/8-K, insider). Input tickers or CIKs. Free, structured JSON.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

SEC EDGAR Financials, Filings & Company Data

SEC EDGAR Financials, Filings & Company Data Scraper

Need structured fundamentals for US public companies — not a raw filings dump you still have to parse? This Actor turns the official SEC EDGAR system into one clean record per company: full firmographics, multi-year XBRL financial statements (income, balance sheet, cash flow), computed ratios (margins, growth, ROE, debt-to-equity), and the recent filings feed — for any ticker or CIK.

Built on SEC's official public-domain datano API key, no login, no proxies, no fragile HTML scraping, so it doesn't break when a website changes.

  • 🏛️ Straight from the source — SEC's official submissions + XBRL companyfacts API, public domain, free to use and resell
  • 📊 13 financial metrics — revenue, margins, EPS, assets/liabilities/equity, cash flow & more, as annual + quarterly series
  • 🧮 Ratios pre-computed — gross/operating/net margin, YoY revenue growth, liabilities-to-equity, ROE — strictly single-fiscal-year: if a company didn't file one side of a ratio for that year, you get null, never a number silently built from two different years
  • 🔍 Every gross margin says where it came fromgrossProfitSource marks it reported or derived (revenue − cost of revenue), and grossProfitBasisTag names the exact XBRL element, so any number can be re-checked against SEC in one request
  • One run → one flat record per company (JSON / CSV / Excel / API), input by ticker or CIK

Quick start (API)

Get Apple + Microsoft with 5 years of financials and their latest filings, in one call:

curl -X POST "https://api.apify.com/v2/acts/foxlabs~sec-edgar-financials/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "tickers": ["AAPL", "MSFT"], "includeFinancials": true, "maxAnnualYears": 5, "includeFilings": true }'

Prefer no code? Open the Input tab, type your tickers, and click Start — then download the results.

What you get

One clean record per company:

FieldTypeDescription
cikstring10-digit zero-padded SEC Central Index Key
namestringRegistered company name
tickersarrayStock ticker symbol(s)
exchangesarrayListing exchange(s), e.g. Nasdaq
sic / sicDescriptionstringSIC industry code + description
einstringEmployer Identification Number
entityTypestringSEC entity type (e.g. operating)
categorystringSEC filer category (e.g. Large accelerated filer)
fiscalYearEndstringFiscal year end as MMDD (e.g. 0926)
stateOfIncorporationstringState / country of incorporation
formerNamesarrayPrevious registered names
website / investorWebsitestringURLs where reported to SEC (often empty)
phonestringBusiness phone
addressstringFull business address
financialsobject13 metrics, each { annual[], quarterly[] } — entries { fiscalYear/period, end, value, form }. annual holds full-year (~12-month) periods only
computedMetricsobject{ fiscalYear, grossMarginPct, grossProfitSource, grossProfitBasisTag, operatingMarginPct, netMarginPct, revenueGrowthYoYPct, debtToEquity, returnOnEquityPct }fiscalYear is the single year every ratio refers to
computedMetrics.grossProfitSourcestringWhere the gross margin came from: reported (the filer's own GrossProfit tag) or derived (revenue − cost of revenue). null when grossMarginPct is null
computedMetrics.grossProfitBasisTagstringThe exact XBRL element behind it — GrossProfit, CostOfGoodsAndServicesSold or CostOfRevenue
recentFilingsarray{ form, filingDate, reportDate, primaryDocument, url } per filing
source / scrapedAtstringProvenance + ISO timestamp

The 13 financials keys: revenue, grossProfit, operatingIncome, netIncome, researchDevelopment, operatingCashFlow, epsBasic, epsDiluted, assets, liabilities, equity, cash, sharesOutstanding. Values are in USD (EPS in USD/share, shares as a count). Fields with no data return null or an empty series — never a guess.

Where grossMarginPct comes from

Many large filers never tag a GrossProfit line — Amazon has filed none since FY2009, and Caterpillar and GE have never filed one at all — even though they do file both revenue and their cost of revenue. For those companies the margin is derived from the accounting identity that defines the line (Regulation S-X Rule 5-03): gross profit = revenue − cost of revenue. Both operands are values the company itself filed, in the same filing, for the identical period (same start and end date). grossProfitSource always tells you which of the two you got, and grossProfitBasisTag names the element used.

This is arithmetic on filed figures, not an estimate — and it is measurable: across the 15-company sample, every fiscal year in which a company filed a GrossProfit and a cost-of-revenue tag, the identity reproduced the company's own reported figure to the dollar — 58 of 58 company-years, zero mismatches.

The rules that decide whether a margin is derived at all are deliberately strict, because a partial cost line would silently inflate it:

  • Only two elements can serve as the basis: CostOfGoodsAndServicesSold and CostOfRevenue — the two US-GAAP concepts that mean the total cost of revenue.
  • Never a slice of the cost. CostOfGoodsSold (goods only), CostOfServices (services only), OtherCostOfOperatingRevenue and the …ExcludingDepreciationDepletionAndAmortization variants are never used as a basis, and if the filer tags one that is larger than the chosen total, the chosen tag was itself a slice and nothing is emitted. Measured: Oracle FY2015–2018 tags only CostOfServices, and deriving from it would have claimed a 91% margin against the 61% Oracle actually reported.
  • Never a company whose cost of revenue is split across categories. If the filer reports insurance claims (PolicyholderBenefitsAndClaimsIncurredNet and siblings), a goods/services cost cannot stand in for the whole. Measured: UnitedHealth tags $50.7B of product cost beside $314.0B of medical claims (an 88.7% "gross margin" if derived), CVS $221.2B beside $125.5B (45%, against a real ~14%). Both return null instead.
  • Never total operating costs. CostsAndExpenses is excluded — revenue minus it is operating income, not gross profit.
  • Sanity band. A derived margin outside 0–100% is dropped and logged rather than published. A reported gross profit is passed through untouched, negative ones included — that is the filer's own number, not our arithmetic.

Companies that legitimately stay null are the ones that file no total cost of revenue for the reference year at all — GE, AT&T, Oracle and JPMorgan among the blue chips (verified by scanning every US-GAAP element they tag for that period, not just the obvious ones), plus health insurers such as UnitedHealth, CVS and Elevance by the split-cost rule above.

debtToEquity is total liabilities ÷ shareholders' equity (SEC's Liabilities tag over StockholdersEquity) — a balance-sheet leverage ratio, not interest-bearing debt over equity. Companies that don't report a "Total liabilities" subtotal in XBRL (Amazon, Oracle and AT&T among them) return null here rather than a substitute.

Sample output

Real record for Apple Inc. (CIK 0000320193), trimmed to a few metrics for readability — fetched live from SEC EDGAR:

{
"cik": "0000320193",
"name": "Apple Inc.",
"tickers": ["AAPL"],
"exchanges": ["Nasdaq"],
"sic": "3571",
"sicDescription": "Electronic Computers",
"ein": "942404110",
"entityType": "operating",
"category": "Large accelerated filer",
"fiscalYearEnd": "0926",
"stateOfIncorporation": "CA",
"formerNames": ["APPLE INC", "APPLE COMPUTER INC", "APPLE COMPUTER INC/ FA"],
"phone": "(408) 996-1010",
"address": "ONE APPLE PARK WAY, CUPERTINO, CA, 95014",
"computedMetrics": {
"fiscalYear": 2025,
"grossMarginPct": 46.9,
"grossProfitSource": "reported",
"grossProfitBasisTag": "GrossProfit",
"operatingMarginPct": 32,
"netMarginPct": 26.9,
"revenueGrowthYoYPct": 6.4,
"debtToEquity": 3.87,
"returnOnEquityPct": 151.9
},
"financials": {
"revenue": {
"annual": [
{ "fiscalYear": 2025, "end": "2025-09-27", "value": 416161000000, "form": "10-K" },
{ "fiscalYear": 2024, "end": "2024-09-28", "value": 391035000000, "form": "10-K" }
],
"quarterly": [
{ "period": "CY2026Q1", "end": "2026-03-28", "value": 111184000000, "form": "10-Q" }
]
},
"netIncome": {
"annual": [
{ "fiscalYear": 2025, "end": "2025-09-27", "value": 112010000000, "form": "10-K" }
]
},
"epsDiluted": {
"annual": [
{ "fiscalYear": 2025, "end": "2025-09-27", "value": 7.46, "form": "10-K" }
]
}
},
"recentFilings": [
{ "form": "10-Q", "filingDate": "2026-05-01", "reportDate": "2026-03-28", "primaryDocument": "aapl-20260328.htm", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000013/aapl-20260328.htm" },
{ "form": "10-K", "filingDate": "2025-10-31", "reportDate": "2025-09-27", "primaryDocument": "aapl-20250927.htm", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm" }
],
"source": "SEC EDGAR (public domain)",
"scrapedAt": "2026-07-05T00:00:00.000Z"
}

Input & filters

  • Tickers — one or more symbols (e.g. AAPL, MSFT, NVDA), resolved to the SEC CIK automatically from SEC's official ticker file.
  • CIK numbers — look companies up directly by Central Index Key, as an alternative or addition to tickers (accepts 0000320193 or 320193).
  • Include financial statements — fetch the full XBRL financials + computed ratios; turn off for a fast firmographics-only run.
  • Annual years — how many fiscal years of 10-K data per metric (1–15).
  • Quarters — how many recent quarters per metric (0–40; 0 skips quarterly).
  • Include recent filings — attach the filings feed with direct document links.
  • Max filings — cap the filings list per company (1–1000).
  • Include insider filings — add Form 3/4/5 insider transactions (off by default; they dominate the feed).

At least one ticker or CIK is required.

Example inputs (copy & paste)

// 1) Fundamentals database: deep history for a watchlist
{ "tickers": ["AAPL", "MSFT", "NVDA", "AMZN"], "maxAnnualYears": 10, "maxQuarters": 12 }
// 2) Firmographics only — fast enrichment, no financials
{ "tickers": ["TSLA", "GM", "F"], "includeFinancials": false, "includeFilings": false }
// 3) Filings monitor with insider activity, by CIK
{ "ciks": ["0000320193", "0000789019"], "includeFinancials": false, "includeFilings": true, "includeInsiderFilings": true, "maxFilings": 50 }
// 4) Annual-only long history: 15 fiscal years, no quarterly series (bank peer set)
{ "tickers": ["JPM", "BAC", "WFC"], "maxAnnualYears": 15, "maxQuarters": 0 }
// 5) Mix ticker symbols and raw CIK numbers in a single run
{ "tickers": ["GOOGL", "META"], "ciks": ["1318605"], "maxAnnualYears": 5, "maxQuarters": 8 }
// 6) Insider-transaction feed (Form 3/4/5) for one name, financials off
{ "tickers": ["NVDA"], "includeFinancials": false, "includeFilings": true, "includeInsiderFilings": true, "maxFilings": 100 }
// 7) Deep quarterly series for a single company: 10 annual + 40 quarters
{ "tickers": ["AMZN"], "maxAnnualYears": 10, "maxQuarters": 40 }

Use cases

  • Build a fundamentals database. Feed a watchlist of tickers on a schedule and keep your own up-to-date store of revenue, margins, EPS and balance-sheet history — pulled straight from XBRL, not re-typed from PDFs.
  • Equity & quant research. Pull 10–15 years of annual plus quarterly series for a universe of companies to backtest factors, screen for margin expansion, or rank by revenue growth and ROE — every ratio is pre-computed from one fiscal year (computedMetrics.fiscalYear) or left null, so a screen never ranks on a number stitched together from two different years.
  • B2B / investor data enrichment. Attach real revenue, profitability and filing activity to a CRM, watchlist or lead list. Turn financials off for a quick firmographics-only pass (name, SIC industry, EIN, address, exchange).
  • Filings & disclosure monitoring. Track a set of companies' recent 10-K / 10-Q / 8-K filings with direct document links; enable insider forms to catch Form 4 transactions.
  • Company / KYB lookup. Resolve a ticker or CIK to verified SEC identity — legal name, former names, state of incorporation, SIC industry, EIN — for onboarding and reference data.
  • Market & sector analysis. Assemble every company in a peer set, then compare margins, debt-to-equity and growth side by side to size a sector and spot the leaders.

Performance & throughput

Each company is a small number of SEC API calls — one submissions lookup for firmographics + filings, plus one XBRL companyfacts lookup when financials are enabled. Requests are throttled to ~6 requests/second to stay well within SEC's fair-access policy, with automatic back-off on rate-limit responses. The ticker→CIK map is loaded once per run. Turning off financials (or lowering the annual/quarter depth) makes large batches noticeably faster and leaner. Throughput is otherwise bounded only by your Apify plan — no external keys, proxies or third-party limits.

Integrations

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('foxlabs/sec-edgar-financials').call({
tickers: ['AAPL', 'MSFT'], includeFinancials: true, maxAnnualYears: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].computedMetrics);

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("foxlabs/sec-edgar-financials").call(run_input={
"tickers": ["AAPL", "MSFT"], "includeFinancials": True, "maxAnnualYears": 5,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item.get("computedMetrics"))

Also works with Make / n8n / Zapier (Apify app → run this Actor, map the input), scheduled runs, webhooks, and the Apify MCP server for AI agents that need financial data on demand.

Data quality

  • Source of truth. Every value comes from SEC's official submissions and XBRL companyfacts endpoints — never fabricated, never estimated, never carried across fiscal years. Missing values are null or an empty series. Exactly one figure is computed rather than read off a tag — gross profit, when the filer publishes revenue and cost of revenue but no GrossProfit subtotal. That is the accounting identity revenue − cost of revenue applied to two values from the same filing and period, it is labelled as such in grossProfitSource, and it reproduces filers' own reported gross profit to the dollar wherever both exist (58/58 company-years measured). No modelling, no proxy, no peer average, no prior-year substitution.
  • Full history, not the first tag. Companies change their XBRL tags across years (e.g. RevenuesRevenueFromContractWithCustomerExcludingAssessedTax). Each metric merges its known fallback tags so whole years aren't silently dropped.
  • Annual means annual. A 10-K carries that year's four quarters alongside the full-year figures, and SEC tags them all with the filing's own fp=FY / form=10-K. The annual series keeps only true ~12-month periods, so a quarter can never sit in a yearly series and be mistaken for one.
  • Correct fiscal-year labels. Fiscal years are named by their period end year (NVIDIA's period ending Jan 2026 is FY2026), except 52/53-week filers whose year ends in the first days of January — J&J's year ending 2023-01-01 is labelled FY2022, matching the company's own naming. Restated periods are de-duplicated to the freshest filing.
  • Single-year ratios, or nothing. Every ratio in computedMetrics is built from the one fiscal year named in computedMetrics.fiscalYear. If a company did not file one side of a ratio for that year, the ratio is null — the Actor will not reach back to an older year to fill the gap. A margin built from a decade-old gross profit over today's revenue would be worse than no number at all.
  • Gross margin is sourced, not guessed. Where a filer publishes no GrossProfit subtotal but does publish revenue and a total cost of revenue for that same period, the margin is derived from those two filed values and labelled derived (revenue − cost of revenue), with the element named in grossProfitBasisTag. Where the cost of revenue is only partly tagged — a goods-only or services-only line, or an insurer whose real cost of revenue is claims — nothing is emitted. See Where grossMarginPct comes from for the exact rules and the measurements behind them.
  • Coverage caveat. Firmographics + filings cover essentially all EDGAR filers. Structured XBRL financials exist for companies that file XBRL (US-GAAP registrants); a company with no XBRL data returns financials: null. Within XBRL, coverage is per-metric and per-company: not every company tags gross profit, operating income or total liabilities, and some stop tagging a concept part-way through their history — so a series can be shorter than the years you requested, and a metric can be empty. Quarterly series follow SEC's calendar frame assignments and can skip quarters SEC never framed. website / investorWebsite are frequently empty in SEC data — email/phone/address are the reliable contact fields.

Pricing

Runs use SEC's free public API, so there are no proxy or third-party data costs. You're billed only for the Actor run per Apify's standard model shown on this Actor's page, and there's an Apify free tier to evaluate the full feature set before you scale. Keep runs lean by lowering the annual/quarter depth or turning financials off when you only need firmographics.

FAQ

Do I need an SEC API key or account? No — SEC EDGAR is open. No key, no login. The Actor identifies itself with a descriptive User-Agent as SEC's fair-access policy requires.

Can I use this data commercially / resell it? Yes. SEC EDGAR data is U.S. public domain — free to use, redistribute and build products on.

Ticker or CIK — which should I use? Either. Tickers are resolved to a CIK via SEC's official ticker file; CIK is exact and works for entities without a ticker.

How fresh is the data? Each run reads SEC's live endpoints, so you get the current submissions, filings and XBRL facts at run time.

How many years / quarters can I get? Up to 15 annual years and 40 quarters per metric, subject to what the company has filed.

What financial metrics are included? 13: revenue, gross profit, operating income, net income, R&D, operating cash flow, EPS (basic + diluted), assets, liabilities, equity, cash, and shares outstanding — each as annual and quarterly series.

Why is financials null for some companies? That company doesn't publish structured XBRL companyfacts (e.g. certain foreign filers or non-standard reporters). Firmographics and filings are still returned.

Why is one of my computedMetrics null when the company is clearly profitable? Because that company didn't tag that concept for the reference fiscal year, and the Actor refuses to substitute a different year. GE, AT&T, Oracle and JPMorgan publish neither a GrossProfit line nor a total cost of revenue in recent XBRL, so their grossMarginPct is null; banks file no OperatingIncomeLoss, so operatingMarginPct is null for JPMorgan. Check the matching financials series to see exactly which years that company did file, and compute your own ratio from the raw values if you want a different definition.

Amazon files no gross profit — why do I get a margin for it? Because Amazon does file both operands. Its grossMarginPct is derived from revenue − CostOfGoodsAndServicesSold for the identical period, and grossProfitSource / grossProfitBasisTag say so on every record. You can re-check it in one request against SEC's own companyconcept endpoint using the tag name in the record.

Is a derived gross margin an estimate? No. An estimate would fill a gap with something not filed — a peer average, a prior year, a model. This is the definition of the line itself (gross profit = revenue − cost of revenue, Regulation S-X Rule 5-03) applied to two numbers the company filed in one filing for one period. Where filers publish all three, it returns their own gross profit exactly (58/58 company-years measured, zero mismatches). If you want only as-filed subtotals, keep the rows where grossProfitSource is reported.

Is debtToEquity really debt? It's total liabilities ÷ shareholders' equity, taken from SEC's Liabilities and StockholdersEquity tags — leverage in the broad sense, not interest-bearing debt only. Companies that publish no "Total liabilities" subtotal return null.

Are the numbers restated / point-in-time? The Actor keeps the freshest filed value per period, so figures reflect the latest restatement. For point-in-time audit work, cross-check the linked source filing.

What export formats are available? JSON, CSV, Excel, or via the Apify API and integrations.

Can I look up a company with no ticker? Yes — pass its CIK in ciks.

Troubleshooting

  • "Provide at least one ticker or CIK" → the input had neither; add a symbol to tickers or a number to ciks.
  • A ticker returns nothing → it wasn't in SEC's ticker registry (delisted, foreign, or a symbol variant). Look the company up by ciks instead.
  • financials is null → that company has no XBRL companyfacts on SEC; firmographics and filings are still populated.
  • Filings feed is all insider forms → Form 3/4/5 dominate active companies. Leave Include insider filings off (default) to surface 10-K/10-Q/8-K, or raise Max filings.
  • Public domain. SEC EDGAR filings and data are works of the U.S. federal government and are not subject to copyright — free to use and redistribute.
  • Not affiliated. This Actor and its author are not affiliated with, endorsed by, or sponsored by the U.S. Securities and Exchange Commission. It simply retrieves and structures SEC's public data.
  • Verify before you rely. Financials are parsed from companies' own XBRL filings; tagging errors, restatements and non-standard reporting can occur. For material decisions, confirm against the linked source filing.
  • Fair access. The Actor throttles requests and sends a descriptive User-Agent per SEC's access guidelines; it does not attempt to bypass any limit.

Support

Questions, a metric or statement you'd like added, or a custom build? Open the Issues tab on this Actor, or email info@foxlabs.com.tr. We reply fast.

If this Actor saves you time, a ⭐ review really helps.

Changelog

0.4 — 2026-07-28

grossMarginPct now covers filers that publish no GrossProfit subtotal — with the source of every number stated on the record.

  • Added: gross profit derived from the accounting identity revenue − cost of revenue (Regulation S-X Rule 5-03) when a company files both operands for the same period but no GrossProfit line. A reported GrossProfit still always wins and is passed through unchanged. Measured on the blue-chip sample: Amazon null → 50.3% (FY2025, CostOfGoodsAndServicesSold), Caterpillar null → 33.8% (CostOfRevenue); Apple 46.9%, Microsoft 68.8% and J&J 67.9% are untouched. Every other computedMetrics value and every financials series is byte-identical to 0.3 (48/48 and 104/104 checked).
  • Added: computedMetrics.grossProfitSourcereported or derived (revenue − cost of revenue) — and computedMetrics.grossProfitBasisTag, the exact XBRL element used. Any margin can be re-checked against SEC's companyconcept endpoint in one request.
  • Not an estimate, and measured as such. Across the sample, every fiscal year where a filer published a GrossProfit and a cost-of-revenue tag, the identity reproduced its own reported figure to the dollar — 58 of 58 company-years, zero mismatches.
  • Guardrails against partial cost lines, each one measured rather than assumed: only CostOfGoodsAndServicesSold / CostOfRevenue may serve as the basis; a goods-only or services-only line that is larger than the chosen total voids the derivation (Oracle FY2015–2018 tags only CostOfServices — deriving from it would claim a 91% margin against the 61% Oracle reported); filers reporting insurance claims are excluded outright (UnitedHealth tags $50.7B of product cost beside $314.0B of claims → 88.7% if derived; CVS 45% against a real ~14% — both now null); CostsAndExpenses is excluded because revenue minus it is operating income. Derived margins outside 0–100% are dropped and logged.
  • Docs: new Where grossMarginPct comes from section with the full rule set, the honest list of companies that legitimately stay null (GE, AT&T, Oracle, JPMorgan; plus health insurers), and two new FAQ entries. No new SEC requests — the derivation reads facts the Actor already downloads.

0.3 — 2026-07-28

Correctness release — some computedMetrics values change, and more of them are now null on purpose.

  • Fixed: ratios could silently mix fiscal years. When a company hadn't filed a metric for the reference year, the ratio fell back to that metric's oldest available entry. Real damage measured on the Dow blue chips: Amazon's grossMarginPct read 0.8% (FY2009 gross profit ÷ FY2025 revenue), Oracle 36.1% (FY2018), Caterpillar 4.1% gross margin and 4.0% net margin (FY2010 net income), GE 15.3% gross / 49.9% operating margin (FY2016 / FY2012), J&J 22.9% operating margin (FY2014), and AT&T's debtToEquity 2.21 (FY2015 liabilities ÷ FY2025 equity). These now return null. A ratio is either built entirely from one fiscal year or it is not reported.
  • Fixed: quarters leaked into the annual series. A 10-K carries that year's quarterly figures tagged with the filing's own fp=FY / form=10-K, and they were being kept as if they were fiscal years — Caterpillar's "annual" gross profit was four FY2020 quarters. Annual series now keep only true ~12-month periods (38 sub-annual rows across an 8-company sample → 0).
  • Fixed: 52/53-week fiscal years were labelled a year late. J&J's year ending 2023-01-01 is FY2022, not FY2023 — previously two different years both appeared as fiscalYear: 2023.
  • Added: computedMetrics.fiscalYear — the single year every ratio in that object refers to, so a null is readable rather than mysterious.
  • Improved: bank revenue coverage. Added the RevenuesNetOfInterestExpense tag, which banks moved to when they dropped Revenues. JPMorgan's quarterly revenue series ran out at CY2014Q3 and now reaches the current quarter.
  • Docs: debtToEquity is documented as total liabilities ÷ equity (its actual definition — the output key is unchanged, so nothing breaks), plus honest per-metric coverage notes explaining which large caps legitimately have no gross profit or operating income in XBRL.

0.2 — 2026-07-05

  • Reworked docs: API quick-start, full field table, real verified sample output, integration snippets (JS / Python / Make / MCP), FAQ & troubleshooting.

0.1

  • Initial release. US public-company intelligence from SEC EDGAR (public domain): firmographics, 13 XBRL financial metrics (annual + quarterly), computed margins/growth/ROE/debt-to-equity, and the recent-filings feed — by ticker or CIK.

Part of the foXLabs data platform — official public-data company, financial, contact, ownership, procurement, jobs & AI-search intelligence scrapers. Browse the full suite at data.foxlabs.com.tr.