> ## 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 Metrics for Assets by Symbol

> Universal time-series endpoint. Works for **both crypto and equity assets** — pass any symbol from [List Supported Assets](/docs/api-reference/core-artemis-assets/list-supported-assets) (e.g. `btc`, `eth`, `usdc`, `eq-nvda`, `eq-meta`) and any metric name from [List Available Metrics](/docs/api-reference/core-artemis-assets/list-available-metrics-for-assets-by-symbol) for that symbol.

This is the **escape hatch** for any metric not exposed via a typed convenience method:
- Stablecoin endpoints (`STABLECOIN_DAU`, `STABLECOIN_SUPPLY`, etc.) are wrappers around this same route.
- Equity convenience methods (`fetch_price`, `fetch_financials`, `fetch_valuation_metrics`) cover universal/comparable metrics only. For company-specific or long-tail metrics — e.g. NVDA's `DATA_CENTER_REVENUE`, META's `FAMILY_DAILY_ACTIVE_PEOPLE`, COIN's `TRADING_VOLUME` — query them here directly.

Multiple metrics can be packed into a single call as comma-separated names (e.g. `metricNames=price,mc,dau`).




## OpenAPI

````yaml /openapi.documented.json get /data/api/{metricNames}/
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/{metricNames}/:
    get:
      tags:
        - Core Artemis Assets
      summary: Fetch Metrics for Assets by Symbol
      description: >
        Universal time-series endpoint. Works for **both crypto and equity
        assets** — pass any symbol from [List Supported
        Assets](/docs/api-reference/core-artemis-assets/list-supported-assets)
        (e.g. `btc`, `eth`, `usdc`, `eq-nvda`, `eq-meta`) and any metric name
        from [List Available
        Metrics](/docs/api-reference/core-artemis-assets/list-available-metrics-for-assets-by-symbol)
        for that symbol.


        This is the **escape hatch** for any metric not exposed via a typed
        convenience method:

        - Stablecoin endpoints (`STABLECOIN_DAU`, `STABLECOIN_SUPPLY`, etc.) are
        wrappers around this same route.

        - Equity convenience methods (`fetch_price`, `fetch_financials`,
        `fetch_valuation_metrics`) cover universal/comparable metrics only. For
        company-specific or long-tail metrics — e.g. NVDA's
        `DATA_CENTER_REVENUE`, META's `FAMILY_DAILY_ACTIVE_PEOPLE`, COIN's
        `TRADING_VOLUME` — query them here directly.


        Multiple metrics can be packed into a single call as comma-separated
        names (e.g. `metricNames=price,mc,dau`).
      operationId: fetchMetrics
      parameters:
        - in: path
          name: metricNames
          schema:
            type: string
          required: true
          description: Comma-separated list of metric names (e.g., "price,mc" or "dau")
          example: PRICE
        - in: query
          name: symbols
          schema:
            type: string
          required: true
          description: >-
            Comma-separated list of symbols. Accepts crypto symbols (e.g.,
            `btc`, `eth`) and equity symbols prefixed with `eq-` (e.g.,
            `eq-coin`, `eq-nvda`).
          example: btc,eq-coin,eq-nvda
        - in: query
          name: startDate
          schema:
            type: string
            format: date
          required: true
          description: Start date in YYYY-MM-DD format
          example: '2026-01-01'
        - in: query
          name: endDate
          schema:
            type: string
            format: date
          required: true
          description: End date in YYYY-MM-DD format
          example: '2026-02-01'
        - in: query
          name: summarize
          schema:
            type: boolean
          description: When true, calculates percent change from startDate to endDate
        - $ref: '#/components/parameters/Granularity'
        - $ref: '#/components/parameters/Limit'
        - in: query
          name: APIKey
          schema:
            type: string
          required: true
          description: Your Artemis API key
      responses:
        '200':
          description: Metric data for the requested symbols and date range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponse'
              example:
                data:
                  symbols:
                    btc:
                      PRICE:
                        - date: '2026-01-01'
                          val: 88727.670042497
                        - date: '2026-01-02'
                          val: 89926.279249534
                        - date: '2026-01-03'
                          val: 90593.854431804
                    eq-coin:
                      PRICE:
                        - date: '2026-01-01'
                          val: 226.14
                        - date: '2026-01-02'
                          val: 236.53
                        - date: '2026-01-03'
                          val: 236.53
                    eq-nvda:
                      PRICE:
                        - date: '2026-01-01'
                          val: 186.5
                        - date: '2026-01-02'
                          val: 188.85
                        - date: '2026-01-03'
                          val: 188.85
      x-codeSamples:
        - lang: python
          source: |
            import os
            from datetime import date
            from artemis import Artemis

            client = Artemis()
            response = client.fetch_metrics(
                metric_names="PRICE",
                api_key=os.environ["ARTEMIS_API_KEY"],
                symbols="btc,eq-coin,eq-nvda",
                start_date=date(2026, 1, 1),
                end_date=date(2026, 2, 1),
            )
            print(response.data)
components:
  parameters:
    Granularity:
      name: granularity
      in: query
      description: Time-bucket granularity for returned series.
      schema:
        type: string
        enum:
          - DAY
          - WEEK
          - MONTH
          - QUARTER
          - YEAR
        default: DAY
    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

````