Dashboard

Earnings trends

GET/api/earnings/trends

Stock Pro

Multi-year earnings analytics: compound annual growth rates (CAGR), margin trajectories with directional classification, margin volatility, and earnings quality metrics. Computed from up to 12 years of annual SEC filing data.

This endpoint provides derived analytics that go beyond raw financial statements — margin trajectory direction (expanding, compressing, stable), multi-year CAGR across revenue/net income/EPS/FCF, and quality ratios like FCF-to-net-income and interest coverage.

Get API key Try it live in the API explorer

Query parameters

Example request

curl 'https://api.stockfit.io/v1/api/earnings/trends?symbol=AAPL&cik=320193&cusip=037833100&composite_figi=BBG000B9XRY4&share_class_figi=BBG001S5N8V8&currency=USD' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'

Responses

200 OK

Multi-year earnings trends and derived analytics. The EPS series feeding `eps3yr`/`eps5yr` CAGR is always split-adjusted so a stock split inside the window does not distort the growth rates.

Response schema

  • symbol string
  • latestPeriod string

    Most recent fiscal period end date

  • margins object

    Margin trajectories comparing current vs 3 years ago with directional classification

    • gross object

      Margin trajectory comparing current value vs 3 years ago with directional classification

      • latest number | null

        Current margin percentage

      • threeYearAgo number | null

        Margin percentage 3 years ago

      • direction string (enum) | null

        Directional classification based on ±1 percentage point threshold

        Allowed values: expanding, compressing, stable
    • operating object

      Margin trajectory comparing current value vs 3 years ago with directional classification

      • latest number | null

        Current margin percentage

      • threeYearAgo number | null

        Margin percentage 3 years ago

      • direction string (enum) | null

        Directional classification based on ±1 percentage point threshold

        Allowed values: expanding, compressing, stable
    • net object

      Margin trajectory comparing current value vs 3 years ago with directional classification

      • latest number | null

        Current margin percentage

      • threeYearAgo number | null

        Margin percentage 3 years ago

      • direction string (enum) | null

        Directional classification based on ±1 percentage point threshold

        Allowed values: expanding, compressing, stable
  • netMarginStdDev number | null

    Standard deviation of net margins across all available history (percentage points). Lower = more predictable earnings.

  • netMarginStdDevRecent number | null

    Standard deviation of net margins over the last 5 years (percentage points). Null if same as full history or insufficient data.

  • historicalMaxNetMargin number | null

    Highest net margin ever recorded (percentage)

  • cagr object

    Compound annual growth rates. Null if insufficient data for the requested window.

    • revenue3yr number | null

      3-year revenue CAGR (percentage)

    • revenue5yr number | null

      5-year revenue CAGR (percentage)

    • netIncome3yr number | null

      3-year net income CAGR (percentage)

    • netIncome5yr number | null

      5-year net income CAGR (percentage)

    • eps3yr number | null

      3-year EPS CAGR (percentage)

    • eps5yr number | null

      5-year EPS CAGR (percentage)

    • freeCashFlow3yr number | null

      3-year free cash flow CAGR (percentage)

  • quality object

    Earnings quality metrics from the latest annual period

    • fcfToNetIncome number | null

      Free cash flow / net income as a percentage. >100% = cash earnings exceed accrual earnings.

    • interestCoverage number | null

      Operating income / interest expense. Higher = safer debt servicing.

    • debtToOperatingIncome number | null

      Total debt / operating income. Lower = faster theoretical payoff.

    • roe number | null

      Return on equity as a percentage

Example response

{
  "symbol": "AAPL",
  "latestPeriod": "2024-09-28",
  "margins": {
    "gross": {},
    "operating": {},
    "net": {}
  },
  "netMarginStdDev": 2.3,
  "netMarginStdDevRecent": 1.1,
  "historicalMaxNetMargin": 26.3,
  "cagr": {
    "revenue3yr": 7.8,
    "revenue5yr": 9.2,
    "netIncome3yr": 5.4,
    "netIncome5yr": 10.1,
    "eps3yr": 8.6,
    "eps5yr": 12.3,
    "freeCashFlow3yr": 6.9
  },
  "quality": {
    "fcfToNetIncome": 116.1,
    "interestCoverage": 28.5,
    "debtToOperatingIncome": 0.7,
    "roe": 127.2
  }
}

400 Bad Request

Invalid parameters or symbol not found

Response schema

  • error string

    Human-readable error message

Example response

{}

403 Forbidden

Feature not available on current plan

Response schema

  • error string

    Human-readable error message

Example response

{}