Skip to content

SEC filing financial-health scores (Piotroski-style, monthly)

Commercial use OKFresh
Query in workbench

Follow this dataset

Get a notice in your feed when a new snapshot is published. Optionally, we also POST it to your webhook.

Must be a public https address. We never follow redirects.

The full snapshot isn't published yet — check back after the next refresh.Download sample CSVDownload sample JSONSample rows only (up to 20) — not the complete dataset.

Monthly enrichment panel scoring financial-statement strength for ~58 SEC-registered US and Canadian companies. Each run fetches the keyless SEC EDGAR XBRL companyfacts JSON per company (ticker->CIK resolved from the SEC's own company_tickers_exchange.json) and extracts annual-report facts (10-K/20-F/40-F) with a documented tag-priority list (the winning tag per metric is recorded in fact_tags_used; consolidated figures only; amendments resolve to the latest-filed value; fiscal years follow each company's own filings via anchor-shift alignment). Per (company, fiscal year): the nine Piotroski (2000) criterion flags (f1_roa_positive, f2_cfo_positive, f3_roa_improved, f4_accrual_quality, f5_leverage_down, f6_liquidity_up, f7_no_dilution, f8_margin_up, f9_turnover_up), profitability/leverage/efficiency component subscores, f_score 0-9, health_tier (strong 7-9 / neutral 4-6 / weak 0-3), a deterministic health_rank within the fiscal year, and the underlying ratios (ROA, leverage with leverage_basis, current ratio, gross margin, asset turnover, shares) so the score is auditable. Only fully-scorable companies ship (missing facts are documented exclusions, never zero-filled); a run with fewer than 20 scorable companies fails loudly. Who joins this: an equity analyst or portfolio team joins on ticker (or cik) + fiscal_year to screen holdings and watchlists for financial-statement strength (primary key (as_of, fiscal_year, company_name); join keys ticker, cik, company_name, fiscal_year, country_code ISO alpha-3). Caveats: mechanical transforms of reported filings, not investment advice; Piotroski was designed for non-financials, so fintech/payment balance sheets read differently; restatements (10-K/A) change history by design. No filing text is stored.

Rows
56
Columns
41
Source cadence
Monthly
Last refreshed
Sep 27, 2026
Theme
finance

Use your own AI key

Once today's free allowance is used up, AI features can run on your own provider account.

Kept in this browser tab only (cleared when you close it) and sent with each AI request. Our servers use it for that request and never store or log it.