---
title: "Get underlying stock price"
method: GET
path: "/api/v1/underlying/{symbol}/price"
tags: ["Trading Market Data"]
---

# Get underlying stock price

`GET /api/v1/underlying/{symbol}/price`

## Request

- Base URL: `https://rwa-api.anchored.finance/rwa/trading`
- URL: `https://rwa-api.anchored.finance/rwa/trading/api/v1/underlying/{symbol}/price`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in header `x-api-nonce`
  - API key in header `x-api-ts`
  - API key in header `x-api-sign`
  - API key in header `x-api-chain-id`
  - API key in header `x-api-p`
- TypeScript: <https://skmtc.dev/synfutures/apis/anchored-trading-partner-api/docs/api/v1/underlying/:symbol/price/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `symbol` string, required

## Response `200`

OK

- BaseResponseMarketTickerBasicInfoDto: Base Response
  - `code` integer: if not 200, it means error
  - `errMsg` string: if code not 200,this is error message
  - `data` MarketTickerBasicInfoDto: Chain-independent market ticker basic info
    - `symbol` string: Stock symbol, e.g. AAPL
    - `contractAddress` string: Contract address, e.g. 0x1234567890123456789012345678901234567890
    - `contractSymbol` string: Contract symbol, e.g. AAPL
    - `onChainDecimals` integer: On-chain decimals, e.g. 18
    - `name` string: Full company name
    - `exchange` string: Listing exchange, e.g. NASDAQ
    - `status` 'active' | 'inactive': Asset status, e.g. active
    - `about` string: Company description / about text
    - `logoUrl` string: Logo image URL
    - `pdfUrl` string: Prospectus / PDF URL
    - `tags` string[]: Stock tags
    - `sectors` string[]: Stock sectors
    - `price` number: Latest price
    - `change24H` number: Price change over the last 24 h
    - `change24HPercent` number: Price change percentage over the last 24 h
    - `delayed` boolean: Whether the price is delayed (15-min) rather than real-time
    - `priceSource` 'PRIMARY' | 'SECONDARY': Price source tier: PRIMARY (real-time) or SECONDARY (fallback). Not the same as statistics.priceSource, which is the data provider (pyth / alpaca)
    - `volume24H` integer: Trading volume over the last 24 h
    - `open24H` number: Opening price of the current daily bar
    - `close24H` number: Closing price of the previous daily bar (or current close during regular session)
    - `high24H` number: Intraday high
    - `low24H` number: Intraday low
    - `tradable` boolean: Whether the asset is tradable
    - `fractionable` boolean: Whether the asset supports fractional shares
    - `overnightTradable` boolean: Whether the asset is tradable during overnight sessions
    - `fractionalEhEnabled` boolean: Whether fractional extended-hours trading is enabled
    - `marketCap` number: Market cap from FMP profile. Deprecated: use statistics.marketCap
    - `lastDividend` number: Last dividend per share (from FMP profile)
    - `dividendYield` number: Dividend yield ≈ lastDividend / price (FMP). Deprecated: use statistics.dividendYield
    - `averageVolume` number: Average daily volume (from FMP profile)
    - `currentSession` MarketSessionRespDto: US equity session + session-scoped trade price (per Go MarketSession)
      - `type` string: regular | overnight | pre-market | after-hours | closed
      - `name` string: Human-readable session label
      - `feed` string: Alpaca latest-trades feed key, e.g. iex, delayed_sip, overnight
      - `startTime` integer: Session start (unix seconds, ET-based wall clock)
      - `endTime` integer: Session end (unix seconds, ET-based wall clock)
      - `active` boolean
      - `price` number: Last trade price for this session's feed
      - `change` number: Session price minus reference close (see Go sessionInfo.change)
      - `changePercent` number: change / reference close, truncated like Go
      - `priceTime` integer: Unix seconds for session trade timestamp
      - `delayed` boolean: Whether the session price is delayed (15-min) rather than real-time
      - `priceSource` string: Price source tier: PRIMARY (real-time) or SECONDARY (fallback)
    - `tradingDay` MarketTradingDayDto: All trading sessions of the current trading day, or of the next one when the market is closed
      - `date` string: Trading date in America/New_York (yyyy-MM-dd)
      - `sessions` MarketTradingSessionDto[]: Sessions in time order. The overnight session starts at 20:00 ET on the previous calendar day. A session missing from the exchange calendar (e.g. after-hours on an early-close day) is omitted. No session is active while the market is closed (weekend, holiday, after the last session).
        - `type` 'overnight' | 'pre-market' | 'regular' | 'after-hours': Session type, same values as currentSession.type
        - `startTime` integer: Session start, unix seconds (inclusive)
        - `endTime` integer: Session end, unix seconds (exclusive)
        - `active` boolean: Whether the session was in progress when the cache was refreshed (see lastUpdateTimestamp)
      - `lastUpdateTimestamp` integer: Unix seconds when this was computed; active flags are as of this time
    - `quote` MarketQuoteRespDto: Latest NBBO quote
      - `timestamp` integer: timestamp (unix seconds)
      - `bidPrice` number: bid price
      - `bidSize` number: bid size
      - `askPrice` number: ask price
      - `askSize` number: ask size
    - `statistics` StockStatisticsDto: Stock statistics computed in-house from SEC filings and prices. A metric that cannot be computed is null and should be hidden. Ratios such as dividend yield, ROE and ROA are fractions (0.15 = 15%).
      - `price` number: Price used for the price-dependent metrics
      - `priceTime` integer: Unix seconds of the 1-minute bar the price comes from
      - `priceSource` 'pyth' | 'alpaca': Data provider of the price these statistics were computed with. Not the same as basicInfo.priceSource, which is the price tier (PRIMARY / SECONDARY)
      - `high52w` number: Highest regular-session price over the last 252 trading days, split-adjusted
      - `low52w` number: Lowest regular-session price over the last 252 trading days, split-adjusted
      - `high52wDate` string: Trading date of the 52-week high (yyyy-MM-dd)
      - `low52wDate` string: Trading date of the 52-week low (yyyy-MM-dd)
      - `marketCap` number: Market cap in USD: price x shares outstanding
      - `epsTtm` number: Diluted EPS, sum of the last 4 reported quarters
      - `peTtm` number: Price / EPS (TTM); null when EPS <= 0
      - `psTtm` number: Market cap / revenue (TTM); null when revenue <= 0
      - `pb` number: Market cap / latest shareholders' equity; null when equity <= 0
      - `dividendTtm` number: Cash dividends per share with ex-dates in the past 365 days, split-adjusted; 0 for non-payers
      - `dividendYieldTtm` number: Dividend (TTM) / price as a fraction (0.0045 = 0.45%); 0 for non-payers
      - `ev` number: Enterprise value in USD: market cap + total debt - cash and short-term investments
      - `evToEbitda` number: EV / EBITDA (TTM); null when EBITDA <= 0
      - `roe` number: Net income (TTM) / average shareholders' equity, as a fraction
      - `roa` number: Net income (TTM) / average total assets, as a fraction
      - `fcfTtm` number: Free cash flow (TTM) in USD: operating cash flow - capital expenditures
      - `debtToEquity` number: Total debt / shareholders' equity; null when equity <= 0
      - `fiscalPeriodEnd` string: Last fiscal quarter end covered by the financial metrics (yyyy-MM-dd)
      - `lastUpdateTimestamp` integer: Unix seconds when the statistics were computed
    - `lastUpdateTimestamp` integer: Unix seconds when this cache entry was last updated
    - `isActive` boolean
  - `uuid` string: every request has a uuid
  - `t` integer: server time

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/synfutures/apis/anchored-trading-partner-api.md) - [All operations](https://skmtc.dev/synfutures/apis/anchored-trading-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/synfutures/apis/anchored-trading-partner-api/revisions/8df20ab57300?raw)
