Skip to main content
GET
/
kpi
/
non-gaap
Get non-GAAP metrics
curl --request GET \
  --url https://api.financialdatasets.ai/kpi/non-gaap \
  --header 'X-API-KEY: <api-key>'
{
  "kpi_non_gaap": [
    {
      "ticker": "DAL",
      "metric_name": "Adjusted Diluted EPS",
      "value": 0.64,
      "unit": "USD per share",
      "period": "Q1 2026",
      "period_type": "quarterly",
      "gaap_equivalent": "Diluted earnings per share",
      "key_adjustments": "Excludes restructuring charges of $150M",
      "source_text": "<string>",
      "source_url": "<string>"
    }
  ]
}

Overview

The KPI Non-GAAP API returns adjusted financial metrics extracted from earnings releases, paired with their GAAP equivalents and the key adjustments between them. Examples: Adjusted EPS, Adjusted EBITDA, Free Cash Flow, Non-GAAP Operating Income, Core FFO, CASM-ex-fuel.
Pro and above — Available to Pro and Enterprise customers. Coverage begins with Q1 2026 earnings season and expands with each new release.

Available Tickers

You can fetch a list of available tickers with a GET request to: https://api.financialdatasets.ai/kpi/non-gaap/tickers/

Getting Started

  1. Add your API key to the header of the request as X-API-KEY.
  2. Add the required query param ticker.
  3. Execute the API request.

Filtering the Data

ParameterRequiredDescription
tickerYesStock ticker symbol (e.g., DAL, BAC)
metric_nameNoFilter to a specific metric
periodNoquarterly (default) or annual
report_period_gteNoOnly return metrics on or after this date (YYYY-MM-DD)
report_period_lteNoOnly return metrics on or before this date (YYYY-MM-DD)
limitNoNumber of periods to return (default: 4, max: 50)

Example

KPI Non-GAAP
import requests

headers = {
    "X-API-KEY": "your_api_key_here"
}

ticker = "DAL"
url = f"https://api.financialdatasets.ai/kpi/non-gaap?ticker={ticker}"

response = requests.get(url, headers=headers)
data = response.json()
kpi_non_gaap = data["kpi_non_gaap"]

Example Response

{
  "kpi_non_gaap": [
    {
      "ticker": "DAL",
      "metric_name": "Adjusted Operating Revenue",
      "value": 14200000000.0,
      "unit": "USD",
      "period": "Q1 2026",
      "period_type": "quarterly",
      "gaap_equivalent": "Total operating revenue",
      "key_adjustments": "Excludes third-party refinery sales of $1,654M",
      "source_text": "Adjusted operating revenue",
      "source_url": "https://www.sec.gov/Archives/..."
    },
    {
      "ticker": "DAL",
      "metric_name": "Adjusted Diluted EPS",
      "value": 0.64,
      "unit": "USD per share",
      "period": "Q1 2026",
      "period_type": "quarterly",
      "gaap_equivalent": "Diluted (loss)/earnings per share",
      "key_adjustments": "Excludes MTM adjustments on investments, MTM adjustments and settlements on hedges",
      "source_text": "Adjusted diluted earnings per share",
      "source_url": "https://www.sec.gov/Archives/..."
    }
  ]
}

Response Fields

FieldTypeDescription
gaap_equivalentstringThe GAAP line item this metric adjusts (e.g., “Total operating revenue”, “Net income”)
key_adjustmentsstringDescription of the adjustments made (e.g., “Excludes restructuring charges of $150M”)

Notes

  • Non-GAAP metrics often include both current and prior-year values from the same filing.
  • The source_url links directly to the source document with text highlighting when available.

Authorizations

X-API-KEY
string
header
required

API key for authentication.

Query Parameters

ticker
string
required

The ticker symbol.

metric_name
string

Filter to a specific metric.

period
enum<string>
default:quarterly

Filter by period type: quarterly or annual.

Available options:
quarterly,
annual
report_period_gte
string<date>

Only return metrics on or after this date (YYYY-MM-DD).

report_period_lte
string<date>

Only return metrics on or before this date (YYYY-MM-DD).

limit
integer
default:4

Number of periods to return.

Required range: x <= 50

Response

Non-GAAP metrics response

kpi_non_gaap
object[]