Skip to main content
These endpoints expose the operating KPIs and forward guidance management discloses alongside earnings, plus non-GAAP reconciliations.

Guidance

GET /kpi/guidance
Management guidance ranges and point estimates by metric and period.
ParameterTypeRequiredDefaultDescription
scenario_idstringYes-The world to read from.
tickerstringYes-Ticker symbol to query.
periodstringNoallFilter by guidance period label.
limitintegerNo10Page size (max 100).
offsetintegerNo0Pagination offset.
curl -s "https://api.davidhf.com/kpi/guidance?scenario_id=<id>&ticker=AAPL" \
  -H "X-API-KEY: YOUR_API_KEY"
{
  "kpi_guidance": [
    {
      "ticker": "AAPL",
      "metric_name": "revenue",
      "period": "Q2 2026",
      "period_type": "quarter",
      "unit": "USD",
      "low": 120000000000,
      "high": 124000000000,
      "point_estimate": 122000000000,
      "prior_value": 119500000000,
      "change_direction": "raised",
      "raw_text": "We expect second-quarter revenue between $120B and $124B.",
      "source_url": "https://.../"
    }
  ]
}

KPI metrics

GET /kpi/metrics
Sector-aware operating KPIs derived from each period’s statements.
ParameterTypeRequiredDefaultDescription
scenario_idstringYes-The world to read from.
tickerstringYes-Ticker symbol to query.
periodstringNoquarterlyquarterly | annual.
limitintegerNo8Page size (max 100).
offsetintegerNo0Pagination offset.
curl -s "https://api.davidhf.com/kpi/metrics?scenario_id=<id>&ticker=AAPL" \
  -H "X-API-KEY: YOUR_API_KEY"

Non-GAAP

GET /kpi/non-gaap
Non-GAAP metrics and their reconciliation to GAAP for each period.
ParameterTypeRequiredDefaultDescription
scenario_idstringYes-The world to read from.
tickerstringYes-Ticker symbol to query.
periodstringNoquarterlyquarterly | annual.
limitintegerNo8Page size (max 100).
offsetintegerNo0Pagination offset.
curl -s "https://api.davidhf.com/kpi/non-gaap?scenario_id=<id>&ticker=AAPL" \
  -H "X-API-KEY: YOUR_API_KEY"
{ "non_gaap": [ { "ticker": "AAPL", "report_period": "2026-03-31", "adjusted_eps": 2.31, "...": "..." } ] }

Discovery helpers

GET /kpi/metrics/tickers
GET /kpi/metrics/sectors
/tickers returns tickers with KPI metrics; /sectors returns the distinct sectors present. Both take only scenario_id.
{ "sectors": ["Technology", "Energy", "Financials", "..."] }