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

> Daily closing price for one or more equity symbols.




## OpenAPI

````yaml /openapi.documented.json get /data/api/PRICE/
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/PRICE/:
    get:
      tags:
        - Equities
      summary: Fetch Equity Price
      description: |
        Daily closing price for one or more equity symbols.
      operationId: fetchEquityPrice
      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: '2026-01-01'
        - in: query
          name: endDate
          schema:
            type: string
            format: date
          description: End date in YYYY-MM-DD format
          example: '2026-02-01'
        - $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: Equity price time-series
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponse'
              example:
                data:
                  symbols:
                    eq-nvda:
                      PRICE:
                        - date: '2026-01-01'
                          val: 186.5
                        - date: '2026-01-02'
                          val: 188.85
      x-codeSamples:
        - lang: python
          source: >
            import os

            from datetime import date

            from artemis import Artemis


            client = Artemis()

            response = client.equity.fetch_price(
                api_key=os.environ["ARTEMIS_API_KEY"],
                symbols="eq-nvda,eq-meta",
                start_date=date(2026, 1, 1),
                end_date=date(2026, 2, 1),
            )


            # response.data.symbols is keyed by symbol -> {metric: [{date, val},
            ...]}

            for symbol, metrics in response.data.symbols.items():
                latest = metrics["PRICE"][-1]
                print(f"{symbol}: ${latest.val:.2f} on {latest.date}")
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

````