What's in the dataset
Browse all available fields, SEC XBRL tags, and table schemas. Every field you can query via API or SDK.
Schema Browser
| Field Name | Type | Table | Description | SEC Tag |
|---|---|---|---|---|
cik | VARCHAR | entity | SEC Central Index Key — 10-digit unique company identifier | dei:EntityCentralIndexKey |
name | VARCHAR | entity | Legal registered company name | dei:EntityRegistrantName |
lei | VARCHAR | entity | Legal Entity Identifier (ISO 17442 20-character code) | — |
industry | VARCHAR | entity | Industry classification description | — |
sector | VARCHAR | entity | Broad market sector (e.g. Technology, Healthcare, Financials) | — |
sic_code | VARCHAR | entity | Standard Industrial Classification code (4-digit) | dei:EntitySICCode |
sic_description | VARCHAR | entity | Full SEC SIC industry label (e.g. 'Electronic Computers'). Companion to sic_code — use this when a human-readable string is more useful than the raw 4-digit code. | — |
fiscal_year_end | VARCHAR | entity | Fiscal year end as MMDD (e.g. 1231 = December 31) | — |
location | VARCHAR | entity | Company headquarters location (city, state, country) | — |
website | VARCHAR | entity | Company primary website URL | — |
ceo | VARCHAR | entity | Chief Executive Officer name at most recent filing | — |
founded_year | SMALLINT | entity | Year the company was founded | — |
description | VARCHAR | entity | Company business description extracted from SEC filings | — |
status | VARCHAR | entity | Entity status: ACTIVE, INACTIVE, or DELISTED. Filter status != 'ACTIVE' to include all non-active companies | — |
entity_type | VARCHAR | entity | SEC-defined filer category (e.g. Non-accelerated Filer, Large Accelerated Filer) | dei:EntityFilerCategory |
ein | VARCHAR | entity | Employer Identification Number (IRS tax ID) | — |
owner_org | VARCHAR | entity | Parent or controlling organization name | — |
investor_website | VARCHAR | entity | Investor relations website URL | — |
category | VARCHAR | entity | SEC registrant category | — |
state_of_incorporation | VARCHAR | entity | US state or country of incorporation (2-letter code) | dei:EntityIncorporationStateCountryCode |
state_of_incorporation_description | VARCHAR | entity | Full SEC label for the state-of-incorporation code (e.g. 'Delaware') | — |
phone | VARCHAR | entity | Company contact phone number | dei:EntityContactTelephoneNumber |
business_address | VARCHAR | entity | Principal registered business (HQ) address — single concatenated line. Renamed from 'address' in schema v2.1.0. | — |
mailing_address | VARCHAR | entity | Mailing address (separate from HQ) — registered agent / correspondence target. Often differs from business_address for foreign issuers and trusts. | — |
country_code | VARCHAR | entity | ISO country code of the issuer's primary location | — |
is_foreign | BOOLEAN | entity | TRUE if the issuer is a non-US registrant (typically a 20-F / 40-F filer) | — |
flags | VARCHAR | entity | SEC-flagged status string (e.g. 'Shell', 'Delinquent'). NULL for clean issuers. | — |
has_insider_transactions | BOOLEAN | entity | SEC declares Form 4/5 insider activity exists for this issuer | — |
is_insider_owner | BOOLEAN | entity | SEC declares this CIK itself owns insider holdings | — |
former_names | JSON | entity | SEC formerNames[] history — JSON array of {name, from, to} objects. Useful for ticker-history queries and merger lineage (e.g. FB → META). Empty array when the issuer has never renamed. | — |
last_seen_at | DATE | entity | Date this entity last appeared in any SEC filing | — |
ingested_at | TIMESTAMPTZ | entity | Timestamp when Valuein first ingested this entity record | — |
id | INTEGER | security | Surrogate primary key for the security record | — |
entity_id | VARCHAR | security | Foreign key to entity.cik — the issuing company | dei:EntityCentralIndexKey |
symbol | VARCHAR | security | Exchange ticker symbol | dei:TradingSymbol |
exchange | VARCHAR | security | Stock exchange name (e.g. NASDAQ, NYSE) | — |
mic | VARCHAR | security | Market Identification Code (ISO 10383) | — |
valid_from | DATE | security | SCD Type 2 start date — when this ticker became active on this exchange | — |
valid_to | DATE | security | SCD Type 2 end date — when this ticker was retired. NULL means currently active | — |
is_active | BOOLEAN | security | Derived: TRUE when valid_to IS NULL. Use to filter current tickers only | — |
figi | VARCHAR | security | Financial Instrument Global Identifier at share-class level (OpenFIGI) | — |
composite_figi | VARCHAR | security | Composite FIGI at the exchange level | — |
share_class_figi | VARCHAR | security | Share class FIGI | — |
security_type | VARCHAR | security | Instrument type (e.g. Common Stock, ADR, ETF) | — |
market_sector | VARCHAR | security | FIGI market sector classification | — |
figi_ticker | VARCHAR | security | Ticker symbol as recorded in the OpenFIGI registry | — |
figi_name | VARCHAR | security | Security name from the OpenFIGI registry | — |
figi_exch_code | VARCHAR | security | Exchange code from the OpenFIGI registry | — |
is_primary_ticker | BOOLEAN | security | TRUE for the ticker SEC's company_tickers.json marks as the entity's primary listing. Multi-share-class issuers (BRK-A/BRK-B, GOOG/GOOGL) emit multiple is_active=TRUE rows; default consumer queries filter is_primary_ticker=TRUE for one row per CIK. | — |
ingested_at | TIMESTAMPTZ | security | Timestamp when Valuein first ingested this security record | — |
accession_id | VARCHAR | filing | SEC EDGAR accession number — unique filing identifier (format: XXXXXXXXXX-YY-ZZZZZZ) | — |
entity_id | VARCHAR | filing | Foreign key to entity.cik — the filing company | dei:EntityCentralIndexKey |
filing_date | DATE | filing | Date the SEC received and accepted the filing. Use this for PIT backtest filters — not report_date | — |
form_type | VARCHAR | filing | Filing type: 10-K (annual), 10-Q (quarterly), 20-F (foreign annual), 8-K (current report), etc. | dei:DocumentType |
filing_url | VARCHAR | filing | Full URL to the filing document on SEC EDGAR | — |
is_amendment | BOOLEAN | filing | TRUE if this is an amended filing (e.g. 10-K/A, 10-Q/A) | — |
amendment_no | SMALLINT | filing | Amendment sequence number — 0 for the original filing, 1 for the first amendment, etc. | — |
superseded_by | VARCHAR | filing | Accession-id of the filing that supersedes this one in the amendment chain (NULL when this is the latest version). Populated post-ingest. | — |
report_date | DATE | filing | Fiscal period end date covered by this filing. Using this as a PIT filter introduces look-ahead bias — use filing_date or accepted_at instead. | dei:DocumentPeriodEndDate |
items | VARCHAR[] | filing | Array of 8-K item numbers reported (e.g. ['1.01', '9.01']). NULL for non-8-K filings | — |
size | INTEGER | filing | Filing size in bytes (per SEC submissions feed) | — |
is_xbrl | BOOLEAN | filing | SEC-declared: filing carries an XBRL exhibit | — |
is_inline_xbrl | BOOLEAN | filing | SEC-declared: filing uses Inline XBRL (iXBRL) | — |
is_xbrl_numeric | BOOLEAN | filing | Distinct from is_xbrl/is_inline_xbrl — TRUE when the XBRL exhibit carries machine-readable numeric facts (the source of every fact-table row). | — |
primary_document | VARCHAR | filing | Filename of the lead document in the filing package | — |
primary_doc_description | VARCHAR | filing | SEC-provided label describing the primary document | — |
core_type | VARCHAR | filing | Base form_type stripped of the /A amendment suffix (e.g. 10-K/A → 10-K). Use this for form-family filtering when you don't care whether a filing is the original or an amendment. | — |
file_number | VARCHAR | filing | SEC EDGAR file number (e.g. 001-36743) | — |
film_number | VARCHAR | filing | SEC EDGAR microfiche / film number assigned at acceptance | — |
act | VARCHAR | filing | Securities-Act designator: '33' (1933 Act), '34' (1934 Act), or empty. Helps distinguish registration-statement vs. exchange-act filings. | — |
is_audited | BOOLEAN | filing | Filing is an annual (audited) report — TRUE for 10-K / 20-F and their amendments, FALSE for 10-Q / 8-K / etc. | — |
accepted_at | TIMESTAMPTZ | filing | Exact timestamp the SEC accepted the filing (millisecond precision). Every fact disclosed in this filing inherits the same accepted_at as its PIT anchor. | — |
ingested_at | TIMESTAMPTZ | filing | Timestamp when Valuein ingested this filing record | — |
fact_id | VARCHAR | fact | Deterministic identity hash: SHA-256(entity_id|accession_id|concept|period_end|unit). 64-character lowercase hex string. Use with verify_fact_lineage to trace any number to its source filing. | — |
entity_id | VARCHAR | fact | Foreign key to entity.cik | dei:EntityCentralIndexKey |
accession_id | VARCHAR | fact | Foreign key to filing.accession_id | — |
concept | VARCHAR | fact | Raw XBRL tag as filed by the company (e.g. us-gaap:Revenues). Use standard_concept for cross-company comparisons. | xbrl:concept |
standard_concept | VARCHAR | fact | Canonical normalized concept label (e.g. Revenues, NetIncomeLoss). Maps 11,966 raw XBRL tags to ~150 standard concepts (95% coverage). | — |
priority | SMALLINT | fact | Standardization priority — lower value = higher confidence in the concept mapping | — |
label | VARCHAR | fact | Human-readable label from the company's XBRL filing context | — |
numeric_value | DOUBLE | fact | The value as reported in this specific filing (accession_id). NULL for non-numeric facts. | — |
derived_quarterly_value | DOUBLE | fact | Quarterly value derived by subtracting prior YTD periods (Q2/Q3 10-Q cash flows are filed as YTD). Use COALESCE(derived_quarterly_value, numeric_value) for single-quarter cash flow metrics. | — |
unit | VARCHAR | fact | Unit of measure: USD, shares, pure (dimensionless ratio), etc. | — |
period_start | DATE | fact | Reporting period start date. NULL for instant/point-in-time facts (e.g. balance sheet items) | — |
period_end | DATE | fact | Reporting period end date. Table is range-partitioned on this column by year. | — |
fiscal_year | INTEGER | fact | Fiscal year number (e.g. 2024). INT16 in the parquet — no cast needed for cross-table joins. | — |
fiscal_period | VARCHAR | fact | Fiscal period label: FY (annual), Q1, Q2, Q3, Q4 | — |
frame | VARCHAR | fact | XBRL frame identifier linking this fact to a specific reporting period context | — |
statement_type | VARCHAR | fact | Financial statement category: income, balance_sheet, cash_flow, dei, notes | — |
confidence_score | DOUBLE | fact | Composite data quality confidence metric (0.0–1.0). Use >= 0.70 for analytics. | — |
is_negative | BOOLEAN | fact | TRUE if the originally reported value was negative | — |
is_audited | BOOLEAN | fact | TRUE if this fact comes from an audited annual filing (10-K or 20-F) | — |
is_estimated | BOOLEAN | fact | TRUE if the value is estimated rather than directly reported | — |
data_quality | VARCHAR | fact | Data quality flag: reported, estimated, or provisional | — |
accepted_at | TIMESTAMPTZ | fact | Point-in-time timestamp — when this fact became publicly known via SEC EDGAR. Filter accepted_at <= trade_date for look-ahead-free backtests. | — |
ingested_at | TIMESTAMPTZ | fact | Timestamp when Valuein ingested this fact | — |
reporting_currency | VARCHAR | fact | ISO-4217 currency code when the unit is monetary (e.g. USD, EUR, JPY). NULL for non-monetary facts (shares, ratios, days). Required for 20-F filers and any non-USD reporter. | — |
period_span_days | INTEGER | fact | Number of calendar days spanned by this reporting period | — |
is_cumulative | BOOLEAN | fact | TRUE if the value is cumulative year-to-date rather than for the period in isolation (common in 10-Q cash flow statements) | — |
derivation_type | VARCHAR | fact | Method used to derive the quarterly value: ytd_subtraction, direct, or NULL if not derived | — |
derivation_uncertain | BOOLEAN | fact | TRUE if the quarterly derivation has reduced confidence due to fiscal-period ambiguity | — |
value_current | DOUBLE | fact | Bloomberg Option-C: the latest-known value for this (entity_id, standard_concept, period_end, unit) — i.e. the value any analyst watching the tape today would see. Computed at export time via DuckDB window functions. | — |
value_as_filed | DOUBLE | fact | Bloomberg Option-C: the originally-reported value (first-ever accepted_at in the partition). Compare with value_current to detect restatements. | — |
first_filed_at | TIMESTAMPTZ | fact | Timestamp of first disclosure (min accepted_at in the partition) | — |
restated | BOOLEAN | fact | TRUE if any version of this fact in the partition differs from the others — signals that a later filing restated this number. Computed against the GLOBAL warehouse state, NOT PIT — for PIT reasoning use value_current vs. value_as_filed. | — |
id | BIGINT | valuation | Surrogate primary key for the valuation record | — |
entity_id | VARCHAR | valuation | Foreign key to entity.cik — the company being valued | dei:EntityCentralIndexKey |
security_id | INTEGER | valuation | Foreign key to security.id — the specific security valued (NULL if company-level only) | — |
valuation_date | DATE | valuation | The fiscal period_end the valuation was computed against | — |
model_type | VARCHAR | valuation | Valuation model identifier. Live values: 'dcf' (earnings-based two-stage), 'dcf_fcf' (free-cash-flow-based two-stage), 'ddm' (dividend discount model). Multiple rows per (entity_id, valuation_date) are expected. | — |
model_version | VARCHAR | valuation | Version string of the valuation model algorithm (e.g. 1.0) | — |
intrinsic_value | DOUBLE | valuation | Total enterprise / equity value implied by the model (currency) | — |
per_share_value | DOUBLE | valuation | intrinsic_value / shares_outstanding — the model's fair-value estimate per share | — |
margin_of_safety | DOUBLE | valuation | (per_share_value - current_price) / per_share_value. >0 = undervalued. | — |
valuation_label | VARCHAR | valuation | Human-readable bucket — 'undervalued' / 'fairly_valued' / 'overvalued' | — |
base_earnings | DOUBLE | valuation | DCF: trailing FCF base. DDM: trailing dividend base. | — |
growth_rate | DOUBLE | valuation | Stage-1 growth rate | — |
terminal_rate | DOUBLE | valuation | Terminal-stage growth rate | — |
discount_rate | DOUBLE | valuation | WACC for DCF; cost of equity for DDM | — |
growth_years | INTEGER | valuation | Stage-1 horizon in years | — |
terminal_years | INTEGER | valuation | Years modeled in the terminal phase before the perpetuity | — |
shares_outstanding | BIGINT | valuation | Diluted shares outstanding used to convert total equity value to a per-share figure | — |
current_price | DOUBLE | valuation | Market price used to compute margin_of_safety. NULL when the pipeline could not source a quote — margin_of_safety is then NULL too. | — |
base_dividend | DOUBLE | valuation | DDM only: trailing dividend base | — |
dividend_growth_rate | DOUBLE | valuation | DDM only: expected long-term dividend growth rate | — |
payout_ratio | DOUBLE | valuation | Dividend payout ratio (dividends ÷ earnings) | — |
data_quality | VARCHAR | valuation | Pipeline-assigned label — 'reported' | 'estimated' | 'low_confidence' | — |
source_period | VARCHAR | valuation | Which fiscal period (e.g. FY2024, TTM) supplied base_earnings | — |
assumptions | JSON | valuation | Full input bundle for the model — base_earnings, discount_rate, growth_rate, terminal_growth_rate, etc. Use to reproduce the calc. | — |
created_at | TIMESTAMPTZ | valuation | Timestamp when this valuation record was first computed | — |
updated_at | TIMESTAMPTZ | valuation | Timestamp when this valuation record was last recomputed (ON CONFLICT DO UPDATE) | — |
standard_concept | VARCHAR | taxonomy_guide | Canonical concept name (primary key) — matches fact.standard_concept for joins | — |
human_name | VARCHAR | taxonomy_guide | Human-readable display name for the concept (e.g. Total Revenue) | — |
definition | VARCHAR | taxonomy_guide | Plain-English definition of what this financial concept measures | — |
unit_type | VARCHAR | taxonomy_guide | Expected unit of measure: monetary, shares, ratio, pure, etc. | — |
balance_type | VARCHAR | taxonomy_guide | Accounting balance type: debit or credit | — |
source_reference | VARCHAR | taxonomy_guide | US-GAAP taxonomy reference identifier for this concept | — |
id | INTEGER | index_membership | Surrogate primary key | — |
cik | VARCHAR | index_membership | Foreign key to entity.cik — the index constituent. JOIN with references on cik = cik (same column name on both sides since migration 0015). | dei:EntityCentralIndexKey |
index_name | VARCHAR | index_membership | Canonical short code: SP500 | NASDAQ100 | RUSSELL3000 | WILSHIRE5000 | — |
effective_date | DATE | index_membership | First trading day the company traded as a member | — |
announcement_date | DATE | index_membership | Date S&P Dow Jones Indices publicly announced the addition. Typically 5–10 trading days before effective_date. NULL on rows from Wikipedia/GitHub seed/IVV daily layers — only the S&P press release scraper populates this. | — |
removal_date | DATE | index_membership | First trading day the company was NOT a member. NULL = current. [) interval semantics — a company removed on 2017-06-19 is NOT a member on 2017-06-19. | — |
removal_announcement_date | DATE | index_membership | Date the removal was publicly announced; symmetric with announcement_date. NULL when only Wikipedia/IVV layers wrote the row. | — |
removal_reason | VARCHAR | index_membership | merger | acquisition | bankruptcy | criteria | spinoff | other. NULL when removal_date IS NULL. | — |
successor_cik | VARCHAR | index_membership | Acquirer CIK when removal_reason in {merger, acquisition}. Essential for backtests crossing M&A — without it, a stock disappearing looks indistinguishable from a delisting. | — |
source | VARCHAR | index_membership | Provenance: wikipedia | ivv | spglobal_press | github_seed | manual | — |
confidence | VARCHAR | index_membership | high | medium | low. Used by get_pit_universe to set pit_safe automatically — pre-2000 dates default to 'low'. | — |
notes | VARCHAR | index_membership | Free-text annotation | — |
ingested_at | TIMESTAMPTZ | index_membership | Timestamp when Valuein first ingested this membership row | — |
updated_at | TIMESTAMPTZ | index_membership | Timestamp when this membership row was last updated | — |
cik | VARCHAR | references | SEC Central Index Key — 10-digit unique company identifier (from entity) | dei:EntityCentralIndexKey |
name | VARCHAR | references | Legal registered company name (from entity) | dei:EntityRegistrantName |
sector | VARCHAR | references | Broad market sector (from entity) | — |
industry | VARCHAR | references | Industry classification description (from entity) | — |
sic_code | VARCHAR | references | Standard Industrial Classification code 4-digit (from entity) | dei:EntitySICCode |
status | VARCHAR | references | Entity status: ACTIVE, INACTIVE, or DELISTED (from entity) | — |
entity_type | VARCHAR | references | SEC-defined filer category (from entity) | — |
security_id | INTEGER | references | Surrogate PK of the security record (from security) | — |
symbol | VARCHAR | references | Exchange ticker symbol (from security) | dei:TradingSymbol |
exchange | VARCHAR | references | Stock exchange name e.g. NASDAQ, NYSE (from security) | — |
mic | VARCHAR | references | Market Identification Code ISO 10383 (from security) | — |
valid_from | DATE | references | SCD Type 2 start date — when this ticker became active (from security) | — |
valid_to | DATE | references | SCD Type 2 end date — NULL means currently active (from security) | — |
is_active | BOOLEAN | references | TRUE when valid_to IS NULL — use to filter current tickers only (from security). For index membership, JOIN index_membership ON references.cik = index_membership.cik — there is no is_sp500 flag (dropped 2026-05-02 because it was snapshot-only and single-index). | — |
figi | VARCHAR | references | Financial Instrument Global Identifier share-class level (from security) | — |
composite_figi | VARCHAR | references | Composite FIGI at the exchange level (from security) | — |
share_class_figi | VARCHAR | references | Share class FIGI (from security) | — |
entity_id | VARCHAR | ratio | Foreign key to entity.cik | dei:EntityCentralIndexKey |
ratio_name | VARCHAR | ratio | Ratio identifier (e.g. roe, gross_margin, debt_to_equity) | — |
category | VARCHAR | ratio | Groups ratios for filtering: profitability | per_share | liquidity | leverage | efficiency | owner_earnings | valuation | — |
value | DOUBLE | ratio | Numeric value of the ratio. Inspect `unit` for the scale (percent vs decimal vs multiple). | — |
unit | VARCHAR | ratio | Unit: percent | per_share | pure | x | — |
period_end | DATE | ratio | Reporting period end date the ratio was computed for | — |
fiscal_year | INTEGER | ratio | Fiscal year of the underlying period | — |
fiscal_period | VARCHAR | ratio | FY | Q1 | Q2 | Q3 | Q4 | TTM | — |
is_ttm | BOOLEAN | ratio | TRUE for trailing-twelve-months rows | — |
computed_at | TIMESTAMPTZ | ratio | Pipeline-run timestamp the ratio was last computed (NOT a PIT field — recomputed on every pipeline run via ON CONFLICT DO UPDATE). | — |
entity_id | VARCHAR | factor_scores | Foreign key to entity.cik | dei:EntityCentralIndexKey |
period_end | DATE | factor_scores | Reporting period end date — derived from the latest two 10-K filings | — |
fiscal_year | INTEGER | factor_scores | Fiscal year of the underlying period | — |
accepted_at | TIMESTAMPTZ | factor_scores | Source filing's SEC acceptance timestamp — use for PIT filtering | — |
roe | DOUBLE | factor_scores | Return on equity | — |
gross_margin | DOUBLE | factor_scores | Gross margin | — |
operating_margin | DOUBLE | factor_scores | Operating margin | — |
net_profit_margin | DOUBLE | factor_scores | Net profit margin | — |
revenue_growth_yoy | DOUBLE | factor_scores | Year-over-year revenue growth | — |
fcf_to_assets | DOUBLE | factor_scores | Free cash flow / total assets | — |
debt_to_equity | DOUBLE | factor_scores | Debt-to-equity ratio (raw value — _rank column carries the cross-sectional rank) | — |
asset_turnover | DOUBLE | factor_scores | Asset turnover (revenue / total assets) | — |
current_ratio | DOUBLE | factor_scores | Current assets / current liabilities | — |
piotroski_f_score | INTEGER | factor_scores | Piotroski F-Score (0–9) — financial-strength composite | — |
roe_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of roe (0.0–1.0; 1.0 = best) | — |
gross_margin_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of gross_margin | — |
operating_margin_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of operating_margin | — |
net_profit_margin_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of net_profit_margin | — |
revenue_growth_yoy_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of revenue_growth_yoy | — |
fcf_to_assets_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of fcf_to_assets | — |
debt_to_equity_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of debt_to_equity (inverted — lower leverage ranks higher) | — |
asset_turnover_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of asset_turnover | — |
current_ratio_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of current_ratio | — |
piotroski_f_score_rank | DOUBLE | factor_scores | Cross-sectional PERCENT_RANK of piotroski_f_score | — |
composite_rank | DOUBLE | factor_scores | Equal-weight average of all non-null factor _rank columns. The default sort key for screen_universe. | — |
entity_id | VARCHAR | earnings_signals | Foreign key to entity.cik | dei:EntityCentralIndexKey |
period_end | DATE | earnings_signals | Reporting period end date | — |
fiscal_year | INTEGER | earnings_signals | Fiscal year of the underlying period | — |
fiscal_period | VARCHAR | earnings_signals | FY | Q1 | Q2 | Q3 | Q4 | — |
accepted_at | TIMESTAMPTZ | earnings_signals | Source filing's SEC acceptance timestamp — use for PIT filtering | — |
eps_actual | DOUBLE | earnings_signals | Reported diluted EPS for the period | — |
eps_trend_est | DOUBLE | earnings_signals | Trailing 4-quarter average of EPSDiluted. NULL when fewer than 4 prior quarters exist. | — |
eps_surprise_pct | DOUBLE | earnings_signals | (eps_actual - eps_trend_est) / |eps_trend_est|. NULL when |eps_trend_est| < 0.001 (avoids divide-by-zero blow-ups). Filter IS NOT NULL for momentum screens. | — |
revenue_actual | DOUBLE | earnings_signals | Reported revenue for the period | — |
revenue_yoy_pct | DOUBLE | earnings_signals | Latest quarter revenue vs. 4 quarters prior | — |
Showing 213 of 213 fields
Example Queries
Copy-ready SQL to get started. Works with DuckDB, Postgres, and the Python SDK.
10-Year Revenue Trend for AAPL
Fetch annual revenue for the past 10 years, point-in-time accurate.
SELECT f.filing_date,
f.report_date,
fa.numeric_value / 1e9 AS revenue_billions
FROM filing f
JOIN references r ON f.entity_id = r.cik
JOIN fact fa ON fa.accession_id = f.accession_id
WHERE r.symbol = 'AAPL'
AND r.is_active = TRUE
AND fa.standard_concept = 'Revenues'
AND f.form_type = '10-K'
ORDER BY f.filing_date DESC
LIMIT 10;Debt-to-Equity Ratio — S&P500 Tech
Screen for leverage across the technology sector using the latest annual filing. Membership comes from index_membership (the references is_sp500 flag was dropped 2026-05-02).
SELECT
r.symbol,
r.name AS company_name,
r.sector,
f.filing_date AS annual_filing_date,
debt.numeric_value / 1e9 AS long_term_debt_billions,
equity.numeric_value / 1e9 AS equity_billions,
debt.numeric_value / NULLIF(equity.numeric_value, 0) AS debt_to_equity
FROM references r
JOIN index_membership im ON im.cik = r.cik
JOIN LATERAL (
SELECT accession_id, filing_date
FROM filing
WHERE entity_id = r.cik AND form_type = '10-K'
ORDER BY filing_date DESC
LIMIT 1
) f ON true
JOIN fact debt ON debt.accession_id = f.accession_id
AND debt.standard_concept = 'LongTermDebt'
JOIN fact equity ON equity.accession_id = f.accession_id
AND equity.standard_concept = 'StockholdersEquity'
WHERE im.index_name = 'SP500'
AND im.removal_date IS NULL
AND r.is_active = TRUE
AND r.sector ILIKE '%technology%'
ORDER BY debt_to_equity DESC NULLS LAST;Free Cash Flow — Latest Quarter (S&P500)
Calculate FCF (operating cash flow minus capex) across the S&P500.
SELECT
r.symbol,
r.name AS company_name,
r.sector,
f.filing_date AS latest_quarter,
COALESCE(ocf.derived_quarterly_value, ocf.numeric_value) / 1e6 AS ocf_millions,
ABS(COALESCE(capex.derived_quarterly_value, capex.numeric_value)) / 1e6 AS capex_millions,
(COALESCE(ocf.derived_quarterly_value, ocf.numeric_value)
- ABS(COALESCE(capex.derived_quarterly_value, capex.numeric_value))) / 1e6 AS fcf_millions
FROM references r
JOIN index_membership im ON im.cik = r.cik
JOIN LATERAL (
SELECT accession_id, filing_date
FROM filing
WHERE entity_id = r.cik AND form_type = '10-Q'
ORDER BY filing_date DESC
LIMIT 1
) f ON true
JOIN fact ocf ON ocf.accession_id = f.accession_id
AND ocf.standard_concept = 'NetCashProvidedByUsedInOperatingActivities'
JOIN fact capex ON capex.accession_id = f.accession_id
AND capex.standard_concept = 'PaymentsToAcquirePropertyPlantAndEquipment'
WHERE im.index_name = 'SP500'
AND im.removal_date IS NULL
AND r.is_active = TRUE
ORDER BY fcf_millions DESC NULLS LAST
LIMIT 20;Intrinsic Value Screen — S&P500
Screen S&P500 companies by DCF intrinsic value vs current price (margin of safety).
SELECT
r.symbol,
r.name AS company_name,
r.sector,
v.valuation_date,
v.model_type,
v.per_share_value,
v.current_price,
v.margin_of_safety,
v.valuation_label
FROM valuation v
JOIN references r ON v.entity_id = r.cik
JOIN index_membership im ON im.cik = r.cik
WHERE im.index_name = 'SP500'
AND im.removal_date IS NULL
AND r.is_active = TRUE
AND v.model_type = 'dcf'
AND v.valuation_date = (
SELECT MAX(valuation_date) FROM valuation WHERE entity_id = v.entity_id
)
AND v.per_share_value IS NOT NULL
ORDER BY v.margin_of_safety DESC NULLS LAST
LIMIT 20;Ready to query 105M+ facts?
Get a free API key and start querying in 60 seconds.