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

# Fetch Equity Financials

> Seven core P&L line items per fiscal quarter, in one call:

| Metric | Description |
|---|---|
| `TOTAL_REVENUE` | Total revenue |
| `NET_INCOME` | Net income |
| `EBITDA` | EBITDA |
| `OPERATING_INCOME` | Operating income |
| `FREE_CASH_FLOW` | Free cash flow |
| `BASIC_EPS` | Basic earnings per share |
| `DILUTED_EPS` | Diluted earnings per share |

Data points are reported on each company's fiscal calendar — NVDA's quarters end late-month (e.g. 2024-04-28, 2024-07-28), META's align with calendar quarters. The backend requires `granularity=QUARTER`; sub-quarter granularities are rejected since these are filing-period metrics.




## OpenAPI

````yaml /openapi.documented.json get /data/api/TOTAL_REVENUE,NET_INCOME,EBITDA,OPERATING_INCOME,FREE_CASH_FLOW,BASIC_EPS,DILUTED_EPS/
openapi: 3.1.0
info:
  title: Artemis API
  version: 1.0.0
  description: >
    Enterprise API for Artemis metrics, stablecoins, and flows.


    ## Authentication


    All endpoints authenticate via an API key. The simplest pattern when using
    the Python SDK is to set the `ARTEMIS_API_KEY` environment variable — the
    SDK will pick it up automatically:


    ```bash

    export ARTEMIS_API_KEY="your-key-here"

    ```


    ```python

    from artemis import Artemis

    client = Artemis()  # reads ARTEMIS_API_KEY from env

    ```


    Endpoints under `/data/api/*` and `/flows/top/` also accept the key as an
    `APIKey` query parameter — the snippets below pass
    `api_key=os.environ["ARTEMIS_API_KEY"]` to populate it explicitly.
servers:
  - url: https://data-svc.artemisxyz.com
security: []
tags:
  - name: Core Artemis Assets
    description: Endpoints for general asset data
  - name: Stablecoins
    description: Endpoints for stablecoin-specific metrics
  - name: Flows
    description: Endpoints for inflows, outflows, and netflows
  - name: Equities
    description: >
      Typed convenience endpoints for equity coverage, scoped to metrics that
      are **comparable across equities** (valuation ratios, core P&L line items,
      price). Symbols are prefixed with `eq-` — e.g. `eq-nvda`, `eq-meta`,
      `eq-coin`. Discover valid symbols via [List Supported
      Assets](#tag/Core-Artemis-Assets/operation/listAssetSymbols).


      Three methods:


      - [`fetch_price`](#tag/Equities/operation/fetchEquityPrice) — daily
      closing price

      - [`fetch_financials`](#tag/Equities/operation/fetchEquityFinancials) — 7
      quarterly P&L line items (Revenue, Net Income, EBITDA, Operating Income,
      FCF, Basic EPS, Diluted EPS)

      -
      [`fetch_valuation_metrics`](#tag/Equities/operation/fetchEquityValuationMetrics)
      — 7 valuation ratios (EV/Revenue, EV/Earnings, EV/EBITDA, EV/FCF, P/FCF,
      Earnings Yield, FCF Yield)


      **The long tail lives elsewhere.** Artemis tracks many more equity metrics
      under the hood — company-specific KPIs (Trading Volume for COIN, DAP/ARPP
      for META, Data Center Revenue for NVDA), regional breakdowns,
      segment-level revenue, and so on. Discover what's available for a given
      symbol via [List Available
      Metrics](#tag/Core-Artemis-Assets/operation/listSupportedMetrics), then
      query via the generic [Fetch
      Metrics](#tag/Core-Artemis-Assets/operation/fetchMetrics) endpoint.
  - name: Insights
    description: >
      Pre-computed insight cards across Artemis's coverage — "asset X's metric Y
      hit a new all-time high", growth streaks, decline streaks, and
      accelerating trends. Each endpoint returns a feed of cards covering crypto
      protocols, stablecoins, and equities in one response. This is the same
      data rendered on [artemis.ai/insights](https://www.artemis.ai/insights).


      Five card-producing endpoints, all parameterless `GET`s:


      - [`list_all_time_highs`](#tag/Insights/operation/listAthInsights) — new
      ATH events

      - [`list_all_time_lows`](#tag/Insights/operation/listAtlInsights) — new
      ATL events

      - [`list_growth_streaks`](#tag/Insights/operation/listStreakInsights) — N
      consecutive periods of growth

      -
      [`list_decline_streaks`](#tag/Insights/operation/listDeclineStreakInsights)
      — N consecutive periods of decline

      -
      [`list_acceleration_signals`](#tag/Insights/operation/listAccelerationInsights)
      — rate of change itself accelerating


      **Caching.** Each endpoint is cached server-side for one hour. The first
      call after cache expiry can take up to a minute as the underlying
      Snowflake query runs; subsequent calls within the hour are sub-second.
paths:
  /data/api/TOTAL_REVENUE,NET_INCOME,EBITDA,OPERATING_INCOME,FREE_CASH_FLOW,BASIC_EPS,DILUTED_EPS/:
    get:
      tags:
        - Equities
      summary: Fetch Equity Financials
      description: >
        Seven core P&L line items per fiscal quarter, in one call:


        | Metric | Description |

        |---|---|

        | `TOTAL_REVENUE` | Total revenue |

        | `NET_INCOME` | Net income |

        | `EBITDA` | EBITDA |

        | `OPERATING_INCOME` | Operating income |

        | `FREE_CASH_FLOW` | Free cash flow |

        | `BASIC_EPS` | Basic earnings per share |

        | `DILUTED_EPS` | Diluted earnings per share |


        Data points are reported on each company's fiscal calendar — NVDA's
        quarters end late-month (e.g. 2024-04-28, 2024-07-28), META's align with
        calendar quarters. The backend requires `granularity=QUARTER`;
        sub-quarter granularities are rejected since these are filing-period
        metrics.
      operationId: fetchEquityFinancials
      parameters:
        - in: query
          name: symbols
          schema:
            type: string
          required: true
          description: Comma-separated list of equity symbols (e.g. `eq-nvda,eq-meta`).
          example: eq-nvda
        - in: query
          name: startDate
          schema:
            type: string
            format: date
          description: Start date in YYYY-MM-DD format
          example: '2024-01-01'
        - in: query
          name: endDate
          schema:
            type: string
            format: date
          description: End date in YYYY-MM-DD format
          example: '2025-12-31'
        - in: query
          name: granularity
          schema:
            type: string
            enum:
              - QUARTER
            default: QUARTER
          description: >-
            Granularity for equity financial metrics. Only `QUARTER` is
            supported.
        - $ref: '#/components/parameters/Limit'
        - in: query
          name: APIKey
          schema:
            type: string
          required: true
          description: Your Artemis API key
      responses:
        '200':
          description: >-
            Equity financials time-series, keyed by metric name within each
            symbol.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponse'
              example:
                data:
                  symbols:
                    eq-nvda:
                      TOTAL_REVENUE:
                        - date: '2024-04-28'
                          val: 26044000000
                        - date: '2024-07-28'
                          val: 30040000000
                      NET_INCOME:
                        - date: '2024-04-28'
                          val: 14881000000
                        - date: '2024-07-28'
                          val: 16599000000
                      EBITDA:
                        - date: '2024-04-28'
                          val: 17319000000
                        - date: '2024-07-28'
                          val: 19310000000
                      BASIC_EPS:
                        - date: '2024-04-28'
                          val: 0.6
                        - date: '2024-07-28'
                          val: 0.68
                      DILUTED_EPS:
                        - date: '2024-04-28'
                          val: 0.6
                        - date: '2024-07-28'
                          val: 0.67
      x-codeSamples:
        - lang: python
          source: >
            import os

            from datetime import date

            from artemis import Artemis


            client = Artemis()

            response = client.equity.fetch_financials(
                api_key=os.environ["ARTEMIS_API_KEY"],
                symbols="eq-nvda",
                granularity="QUARTER",
                start_date=date(2024, 1, 1),
                end_date=date(2025, 12, 31),
            )


            # Print the latest reported quarter for each P&L line item:

            metrics = response.data.symbols["eq-nvda"]

            for name in ["TOTAL_REVENUE", "NET_INCOME", "EBITDA",
            "FREE_CASH_FLOW", "DILUTED_EPS"]:
                series = metrics.get(name) or []
                if series:
                    latest = series[-1]
                    print(f"{name:20} {latest.date}  {latest.val:,.2f}")
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: Maximum number of data points to return (1–1000).
      schema:
        type: integer
        minimum: 1
        maximum: 1000
  schemas:
    DataResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            symbols:
              $ref: '#/components/schemas/SymbolsData'
          required:
            - symbols
      required:
        - data
    SymbolsData:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/SymbolMetrics'
      description: >-
        Object where keys are symbol names (e.g., 'btc', 'eth') and values are
        their metric data
    SymbolMetrics:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/MetricDataArray'
      description: >-
        Object where keys are metric names (e.g., 'price', 'mc', 'dau') and
        values are arrays of data points
    MetricDataArray:
      type: array
      items:
        $ref: '#/components/schemas/MetricDataPoint'
    MetricDataPoint:
      type: object
      properties:
        date:
          type: string
          format: date
        val:
          type: number
      required:
        - date
        - val

````