> ## Documentation Index
> Fetch the complete documentation index at: https://docs.financialdatasets.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Non-GAAP Metrics

> Get non-GAAP financial metrics with GAAP reconciliation context.

### 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.

### Coverage

| Tickers | Years of Coverage | Updated           |
| ------- | ----------------- | ----------------- |
| 600+    | 3+ years          | Within 10 seconds |

### Available Tickers

You can fetch a list of available tickers with a `GET` request to:
[https://api.financialdatasets.ai/kpi/non-gaap/tickers/](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

| Parameter           | Required | Description                                               |
| ------------------- | -------- | --------------------------------------------------------- |
| `ticker`            | Yes      | Stock ticker symbol (e.g., `DAL`, `BAC`)                  |
| `metric_name`       | No       | Filter to a specific metric                               |
| `period`            | No       | `quarterly` (default) or `annual`                         |
| `report_period_gte` | No       | Only return metrics on or after this date (`YYYY-MM-DD`)  |
| `report_period_lte` | No       | Only return metrics on or before this date (`YYYY-MM-DD`) |
| `limit`             | No       | Number of periods to return (default: 4, max: 50)         |

### Example

```python KPI Non-GAAP theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
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

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "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

| Field             | Type   | Description                                                                            |
| ----------------- | ------ | -------------------------------------------------------------------------------------- |
| `gaap_equivalent` | string | The GAAP line item this metric adjusts (e.g., "Total operating revenue", "Net income") |
| `key_adjustments` | string | Description 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.


## OpenAPI

````yaml GET /kpi/non-gaap
openapi: 3.0.1
info:
  title: Financial Datasets API
  description: >-
    Stock market API with real-time and historical financial data for 27,000+
    tickers over 30+ years. Financial statements, equity prices, insider trades,
    SEC filings, and more.
  version: 1.0.0
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  contact:
    name: API Support
    url: mailto:support@financialdatasets.ai
    email: support@financialdatasets.ai
  termsOfService: https://financialdatasets.ai/terms-of-use
servers:
  - url: https://api.financialdatasets.ai/
    description: Production server
security:
  - X-API-KEY: []
tags:
  - name: Financial Statements
    description: Access to income statements, balance sheets, and cash flow statements
  - name: Market Data
    description: Real-time and historical price data
  - name: Company Information
    description: Company facts like ticker, name, and description
  - name: Earnings
    description: Earnings data and related information
  - name: News
    description: Real-time and historical news articles
  - name: SEC Filings
    description: SEC filings and regulatory documents
  - name: Insider Trades
    description: Insider trading activity and transactions
  - name: Institutional Holdings
    description: SEC-direct 13F equity holdings of institutional investment managers
  - name: Index Funds
    description: >-
      ETF and index-fund holdings, weights, and the funds that hold a given
      security
  - name: Financial Metrics
    description: Financial ratios, metrics, and key performance indicators
  - name: Macroeconomics
    description: Real-time and historical macroeconomic data like interest rates
  - name: KPIs
    description: Sector-specific operational KPIs extracted from earnings releases.
paths:
  /kpi/non-gaap:
    get:
      tags:
        - KPIs
      summary: Get non-GAAP metrics
      description: >-
        Get non-GAAP financial metrics with GAAP equivalents and key
        adjustments.
      operationId: getKPINonGAAP
      parameters:
        - name: ticker
          in: query
          description: The ticker symbol.
          required: true
          schema:
            type: string
        - name: metric_name
          in: query
          description: Filter to a specific metric.
          required: false
          schema:
            type: string
        - name: period
          in: query
          description: 'Filter by period type: quarterly or annual.'
          required: false
          schema:
            type: string
            enum:
              - quarterly
              - annual
            default: quarterly
        - name: report_period_gte
          in: query
          description: Only return metrics on or after this date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
        - name: report_period_lte
          in: query
          description: Only return metrics on or before this date (YYYY-MM-DD).
          required: false
          schema:
            type: string
            format: date
        - name: limit
          in: query
          description: Number of periods to return.
          required: false
          schema:
            type: integer
            default: 4
            maximum: 50
      responses:
        '200':
          description: Non-GAAP metrics response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KPINonGAAPResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          description: Pro subscription required
components:
  schemas:
    KPINonGAAPResponse:
      type: object
      properties:
        kpi_non_gaap:
          type: array
          items:
            $ref: '#/components/schemas/KPINonGAAPMetric'
    KPINonGAAPMetric:
      type: object
      required:
        - ticker
        - metric_name
        - value
        - unit
        - period
        - period_type
      properties:
        ticker:
          type: string
          example: DAL
        metric_name:
          type: string
          example: Adjusted Diluted EPS
        value:
          type: number
          nullable: true
          example: 0.64
        unit:
          type: string
          example: USD per share
        period:
          type: string
          example: Q1 2026
        period_type:
          type: string
          enum:
            - quarterly
            - annual
        gaap_equivalent:
          type: string
          nullable: true
          description: The GAAP line item this metric adjusts.
          example: Diluted earnings per share
        key_adjustments:
          type: string
          nullable: true
          description: Description of adjustments made.
          example: Excludes restructuring charges of $150M
        source_text:
          type: string
          nullable: true
        source_url:
          type: string
          format: uri
          nullable: true
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: A short error message.
        message:
          type: string
          description: A more detailed error message.
  responses:
    BadRequestError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Bad Request
            message: Invalid request parameters
    UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Unauthorized
            message: Invalid API key provided
  securitySchemes:
    X-API-KEY:
      type: apiKey
      name: X-API-KEY
      description: API key for authentication.
      in: header

````