Financial Health Score API: Point-in-Time Data
Get a company's Altman Z-Score and Piotroski F-Score via API, tied to the exact 10-K each score was computed from, not a restated snapshot.

A financial health score is a single number standing in for a company's entire balance sheet: a 0-to-9 integer, or a ratio that can run negative. Piotroski's F-Score and Altman's Z-Score have been standard tools since 2000 and 1968, and nearly every fundamentals vendor ships some version of both. The problem shows up the moment you try to backtest with one. Compute the score today and you are scoring a company on its most recent, most corrected financial statements, restatements included. Feed that same score into a simulation set in 2019 and you have quietly told the strategy something it could not have known at the time. /api/financials/scores computes both scores from data tied to the exact filing that produced it, so the score for a closed period does not move after the fact. Here is what the two scores actually measure, how to pull them and verify one by hand, and what ten years of Boeing's real filings show about a model that has correctly flagged distress for six straight years without Boeing missing a single debt payment.
What the Piotroski F-Score and Altman Z-Score actually measure
The two scores measure different things and do not compete with each other. The Piotroski F-Score is a trend score: nine yes/no tests, one point each, asking whether nine fundamentals moved in a healthy direction versus the prior year.
- Profitability (4 points): positive net income, positive operating cash flow, a rising return on assets, and operating cash flow exceeding net income (earnings quality).
- Leverage and liquidity (3 points): a declining debt-to-assets ratio, a rising current ratio, and no new share dilution.
- Operating efficiency (2 points): a rising gross margin and a rising asset turnover.
A score of 7 to 9 signals strong, improving fundamentals; 0 to 3 signals a company deteriorating on most of the axes that matter. It says nothing about scale or valuation, only direction.
The Altman Z-Score is a different instrument entirely: a bankruptcy-prediction model, not a trend score, built from five ratios in one weighted sum.
Z = 1.2×(Working Capital / Assets) + 1.4×(Retained Earnings / Assets) + 3.3×(EBIT / Assets)
+ 0.6×(Equity / Liabilities) + 1.0×(Revenue / Assets)Edward Altman published the model in the Journal of Finance in 1968, fit on a sample of public manufacturing companies. That calibration era matters later in this post. The five terms resolve to one score, sorted into three zones:
- Safe (Z > 2.99): low modeled bankruptcy risk.
- Grey (1.81 to 2.99): moderate risk, worth monitoring.
- Distress (Z < 1.81): high modeled bankruptcy risk.
StockFit computes both from the same standardized income statement, balance sheet, and cash flow data that backs the rest of the /api/financials/income-statement family, sourced from each filer's own XBRL tags under the SEC's Inline XBRL mandate, never a third-party estimate standing in for a missing line item.
Why a financial health score has to be point-in-time
Both scores are entirely derived: nine comparisons and five ratios, computed from whatever balance sheet and income statement values are on file for a period. That makes them exactly as vulnerable to lookahead bias as the raw fundamentals underneath, and the failure mode is easy to miss because the score itself looks like a single clean fact rather than a calculation with a history. If a vendor recomputes Piotroski and Altman on today's restated financials and backdates the result to a period years earlier, a backtest built on that score has silently been shown a future it could not have known. Our deep dive on point-in-time fundamental data walks through this exact failure on Plug Power's restated 2018 loss; a derived score built on the restated figure inherits the same leak one level removed.
StockFit avoids it by construction, not by a special case for scores. Every period /api/financials/chart/scores returns carries the same dateFiled and amendment discipline as the rest of the fundamentals API: a score for fiscal-2019 is computed only from what fiscal-2019's own filing said, not from a 2021 restatement stamped backward. The full audit-trail mechanics, the sources map and the before deltas that make this reconstructable for any fact, are covered in building the point-in-time fundamentals API.
Getting a financial health score via API, and verifying it by hand
One call returns both scores for a company's most recent annual filing:
{
"period": "2025-12-31",
"fiscalYear": 2025,
"fiscalPeriod": "FY",
"piotroskiFScore": 7,
"piotroskiDetails": {
"positiveNetIncome": true,
"positiveOperatingCashFlow": true,
"risingRoa": true,
"cashFlowExceedsNetIncome": false,
"decliningLeverage": true,
"risingCurrentRatio": false,
"noShareDilution": true,
"risingGrossMargin": true,
"risingAssetTurnover": true
},
"altmanZScore": 0.95,
"altmanZone": "distress"
}That is Boeing's real response. piotroskiDetails exposes every one of the nine tests individually, not just the summed score, so a caller can see exactly which criteria passed. A history of both scores, one point per fiscal year, is available from /api/financials/chart/scores directly in the shape a chart needs.
Because the Altman Z-Score is just five ratios and five weights, it reproduces by hand from the same public filing. Boeing's fiscal-2025 10-K (accession 0001628280-26-004357, filed 2026-01-30) reports the five raw inputs via /api/financials/balance-sheet and /api/financials/income-statement:
Working capital: $20.3B
Total assets: $168.2B
Retained earnings: $17.3B
EBIT: $5.4B
Stockholders' equity: $5.5B
Total liabilities: $162.8B
Revenue: $89.5BApplying Altman's five weights directly to those seven numbers:
Z = 1.2×0.1209 + 1.4×0.1025 + 3.3×0.0321 + 0.6×0.0335 + 1.0×0.5318
= 0.9466Rounded to two decimals, that is 0.95, matching the API's altmanZScore: 0.95 exactly. Every input traces to the same accession number, so anyone can pull the two statements themselves on SEC EDGAR or via /api/filings/search-by-accession-number and check the arithmetic in under a minute.
Worked example: Boeing's score through the 737 MAX, COVID, and 2024
A single score is a snapshot. Charted across fiscal years, the same score becomes a timeline of real events, each one independently dated in the public record.
Through fiscal 2016 to 2018, Boeing's Piotroski F-Score sat at a strong 7 and its Altman Z-Score hovered in the grey zone, 1.88 to 2.07. Both scores broke down together in fiscal 2019: Piotroski collapsed to 1 and the Altman Z-Score dropped to 1.07, crossing into distress. That is the same fiscal year the FAA grounded the 737 MAX nationwide on March 13, 2019, following the Ethiopian Airlines crash three days earlier and Lion Air's the previous October. Fiscal 2020 fell further as COVID-19 grounded global air travel on top of the existing MAX crisis, Piotroski bottoming at 2 and the Altman Z-Score at 0.68, its lowest point in the decade.
Piotroski recovered steadily from there, a strong signal of improving year-over-year fundamentals, reaching 7 again by fiscal 2023. Fiscal 2024 broke that recovery: Piotroski fell back to 3, the same year an Alaska Airlines 737 MAX 9 lost a door plug in flight on January 5, 2024, and a machinists' strike idled Boeing's Washington state factories from September to mid-November. Fiscal 2025's Piotroski score of 7 shows the trend metrics recovering again, but the Altman Z-Score has not cleared the distress line in any of the seven fiscal years since 2019: 1.07, 0.68, 0.91, 0.84, 0.91, 0.59, and 0.95 most recently. Boeing has not defaulted on its debt in that span and remains investment-grade rated, so the sustained distress read is a genuine limitation worth understanding, not a prediction that failed. Altman's model weighs leverage and working-capital ratios heavily, and a capital-intensive aerospace manufacturer carrying large, real, disclosed liabilities against a period of heavy losses is exactly the profile that scores low, whether or not default risk is actually elevated.
What 8 companies reveal about the model's blind spots
Boeing is not an outlier once you look across industries. Pulling the same score for eight companies' most recent fiscal year, sorted from safest to most distressed, splits cleanly by business model rather than by any obvious credit-quality difference:
Two findings stand out, and both are about the model, not about these companies' actual solvency.
Neither Apple nor Microsoft scores “safe”
Apple's Altman Z-Score is 2.42 and Microsoft's is 2.64, both landing in the grey zone, not safe, for the two most valuable companies on the market by most measures. That traces directly back to the model's 1968 manufacturing-era calibration: the working-capital and asset-turnover terms reward a balance sheet shaped like a factory's, not one shaped like a company that returns most of its capital to shareholders and carries relatively little working capital by design. It is a clean illustration of why a health score is one input, not a verdict, especially for a modern, asset-light balance sheet the formula was never fit on.
Capital-intensive leverage reads as distress, structurally
Ford, Carnival, Delta Air Lines, and Boeing all land in the distress zone on their latest fiscal year, four companies from four different industries with one thing in common: heavy, asset-backed leverage as the normal cost of doing business, aircraft leases and fleets, cruise ships, or a captive auto-finance arm. Credit-rating agencies read these four very differently from the Altman model. Delta and Boeing carry investment-grade ratings from all three major agencies (S&P, Moody's, and Fitch); Carnival was upgraded to investment-grade by S&P (BBB-) in June 2026 on improving leverage and booking strength; Ford holds investment-grade ratings from S&P and Fitch, with only Moody's one notch into speculative grade. The pattern is a known, long-documented feature of the Altman model applied outside its original manufacturing sample, and it is exactly why comparing a score against real industry peers, not a single universal threshold or a rating agency's verdict, is the responsible way to read it.
How this compares to FMP's Financial Health Scores API
Financial Modeling Prep ships a comparable product, its own Financial Health Scores API, also built around the Altman Z-Score and Piotroski Score. What we know about it comes from FMP's public documentation pages; we could not confirm from those pages alone whether its scores carry the same period-level dateFiled and amendment audit trail described above, as opposed to a current, continuously recomputed value. If that distinction matters for a specific backtest, it is worth confirming directly against whichever provider you use before trusting a historical score series. For the fuller endpoint-by-endpoint and plan-by-plan comparison against FMP, including current pricing, see Sector Metrics vs Financial Modeling Prep. Both scores sit alongside the rest of StockFit's quant and backtesting data: sector-aware ratios, survivorship-free entity resolution, and per-share metrics built for the same cross-sectional and time-series research these two scores are meant to feed.
FAQ
Q.What is a financial health score and how is it calculated?
/api/financials/scores returns both, computed from the same standardized financial statements as the rest of the API.Q.How do I get a company's Altman Z-Score and Piotroski F-Score via API?
/api/financials/scores with a ticker, CIK, CUSIP, or FIGI for the latest annual figures, including the individual pass/fail detail behind the Piotroski score. For a time series ready to chart, call /api/financials/chart/scores with a limit on the number of fiscal years. Both are annual-only, since Piotroski's year-over-year comparisons need a full prior fiscal year.Q.What is considered a good Altman Z-Score?
altmanZone reports on every response.Q.Why don't Apple and Microsoft score in the Altman Z-Score's safe zone?
Q.Can the Altman Z-Score and Piotroski F-Score be backtested without lookahead bias?
/api/financials/chart/scores carries the same dateFiled discipline as the rest of StockFit's fundamentals API, so a score for a closed fiscal year reflects only what that year's own filing reported. See point-in-time data for backtesting for the general mechanics this relies on.Q.What is the difference between the Piotroski F-Score and the Altman Z-Score?
Q.Is a low Altman Z-Score proof that a company will go bankrupt?
Q.Which StockFit plan includes financial health scores?
/api/financials/scores and /api/financials/chart/scores are included on the Starter plan ($19/mo, $15/mo billed annually) and above (Stock and Professional). The underlying /api/financials/balance-sheet and /api/financials/income-statement endpoints used for manual verification in this post are on the free tier.Ready to build?
Free API key, no credit card.