Skip to content
Start Trading

Get Snapshots

MarketDataGetSnapshotsResponse v1().instrumentData().marketData().getSnapshots(MarketDataGetSnapshotsParamsparams = MarketDataGetSnapshotsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/market-data/snapshot

Get market data snapshots for one or more securities.

ParametersExpand Collapse
MarketDataGetSnapshotsParams params
Optional<List<String>> instrumentIds

Comma-separated instrument IDs (UUID) or symbols (equity tickers or OSI option symbols). Required; accepts 1 to 100 IDs. Duplicate resolved ids collapse to a single row.

ReturnsExpand Collapse
class MarketDataGetSnapshotsResponse:
String instrumentId

Unique instrument identifier.

Session-level pricing and OHLV metrics. Always present; each inner field is independently nullable.

boolean ohlvApplicable

false only for instrument types with no OHLV by definition (e.g. an index instrument, whose price is a computed level rather than a traded security) — open/high/low/ohlv_date/cumulative_volume are then always absent. true otherwise, even when those fields simply haven’t loaded yet. Always serialized.

Optional<String> change

Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> changePercent

Percent change from previous close to the most recent last-sale-eligible trade. Absent under the same conditions as change. When a null/undefined value is observed, it indicates that there is no available data.

Optional<Long> cumulativeVolume

Cumulative traded volume for the current session, in shares for equities or contracts for options. Always reflects the current session, even when ohlv_date trails it. Absent when ohlv_applicable is false, or when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0
Optional<String> high

Session high. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> low

Session low. When a null/undefined value is observed, it indicates that there is no available data.

Optional<LocalDate> ohlvDate

Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
Optional<String> open

Session opening price, from the day’s OHLC bar. Absent when ohlv_applicable is false, or when the bar has not loaded yet. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> previousClose

Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> previousCloseUnadjusted

Unadjusted (raw) previous session close. Present only when a corporate-action adjustment exists for the previous close date; when no adjustment exists, previous_close is the raw close and this field is omitted. When a null/undefined value is observed, it indicates that there is no available data.

Optional<Boolean> shortSaleRestricted

Whether the SEC Rule 201 short-sale price test is currently restricting short sales in this security, from the trading-status feed.

true restricts non-exempt short sales at or below the national best bid. null means we have no answer, either because no trading status has been seen for this security yet or because Rule 201 does not cover this security type. A null is not a statement that short selling is unrestricted, and must not be treated as clear to short.

This is the current market condition, not a statement about whether Clear Street will reject your order. It is also distinct from is_short_prohibited on the instrument endpoints, which is a standing property of the security rather than a live circuit breaker. When a null/undefined value is observed, it indicates that there is no available data.

String symbol

Display symbol for the security.

DeprecatedOptional<Long> cumulativeVolume

Cumulative traded volume reported on the most recent trade, in shares for equities or contracts for options. Absent when no trade is available.

Deprecated: use session.cumulative_volume, the same value from the same source. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0
Optional<SnapshotGreeks> greeks

Theoretical price and Greeks for option instruments. None for equities, and for options whose Greeks have not yet been observed When a null/undefined value is observed, it indicates that there is no available data.

String delta

Delta: ∂V/∂S, range [-1, 1].

String gamma

Gamma: ∂²V/∂S².

String iv

Implied volatility, annualized (0.20 == 20%).

String rho

Rho per 1.0 rate point.

String theoPrice

Theoretical option price in USD per share.

String theta

Theta per trading day.

LocalDateTime timestamp

Timestamp when the Greeks were calculated.

formatdate-time
String vega

Vega per 1.0 vol point.

Optional<SnapshotQuote> lastQuote

Most recent quote if available. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> ask

Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

Optional<Long> askSize

Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.

formatint32
minimum0
Optional<LocalDateTime> askTimestamp

Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
Optional<String> askVenue

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best offer (NBBO). Absent when the ask side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> bid

Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

Optional<Long> bidSize

Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.

formatint32
minimum0
Optional<LocalDateTime> bidTimestamp

Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
Optional<String> bidVenue

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best bid (NBBO). Absent when the bid side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> midpoint

Midpoint of bid and ask. Absent when either side is missing. When a null/undefined value is observed, it indicates that there is no available data.

Optional<SnapshotLastTrade> lastTrade

Most recent last-sale-eligible trade if available. Omitted when the most recent known print is ineligible (e.g. an odd lot or an out-of-sequence report) rather than showing that print’s price. When a null/undefined value is observed, it indicates that there is no available data.

String price

Most recent last-sale eligible trade price. For index instruments, the current index level.

long size

Share quantity of the most recent last-sale eligible trade. Always 0 for index instruments, whose level is computed rather than traded.

formatint32
minimum0
Optional<LocalDateTime> timestamp

Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
Optional<String> venue

ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> name

Security name if available. When a null/undefined value is observed, it indicates that there is no available data.

Optional<Long> openInterest

Open interest (outstanding contracts) as of the most recent OPRA Refresh. Populated for options only; absent for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0

Get Snapshots

package com.clearstreet.api.example;

import com.clearstreet.api.client.ClearStreetClient;
import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient;
import com.clearstreet.api.models.v1.instrumentdata.marketdata.MarketDataGetSnapshotsParams;
import com.clearstreet.api.models.v1.instrumentdata.marketdata.MarketDataGetSnapshotsResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        ClearStreetClient client = ClearStreetOkHttpClient.builder()
            .fromEnv()
            .apiKey("My API Key")
            .build();

        MarketDataGetSnapshotsResponse response = client.v1().instrumentData().marketData().getSnapshots();
    }
}
{
  "data": [
    {
      "cumulative_volume": 12345678,
      "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8",
      "last_quote": {
        "ask": "210.14",
        "ask_size": 120,
        "ask_venue": "XNAS",
        "bid": "210.10",
        "bid_size": 100,
        "bid_venue": "XNAS",
        "midpoint": "210.12"
      },
      "last_trade": {
        "price": "210.12",
        "size": 150,
        "venue": "XNAS"
      },
      "name": "Apple Inc.",
      "session": {
        "change": "4.68",
        "change_percent": "2.2780",
        "cumulative_volume": 12345678,
        "high": "211.30",
        "low": "207.55",
        "ohlv_applicable": true,
        "ohlv_date": "2026-08-11",
        "open": "208.00",
        "previous_close": "205.44",
        "previous_close_unadjusted": "208.30"
      },
      "symbol": "AAPL"
    }
  ],
  "error": null,
  "metadata": {
    "request_id": "2d0c9159-8f5d-49ca-a861-0d8346fd11da"
  }
}
{
  "data": [
    {
      "cumulative_volume": null,
      "instrument_id": "b2b3b4b5-c2c3-d2d3-e2e3-e4e5e6e7e8e9",
      "last_quote": null,
      "last_trade": null,
      "name": "Microsoft Corporation",
      "session": {
        "ohlv_applicable": true
      },
      "symbol": "MSFT"
    }
  ],
  "error": {
    "code": 404,
    "details": [
      {
        "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
      }
    ],
    "message": "One or more instrument ids failed to be found"
  },
  "metadata": {
    "request_id": "95683d84-2863-43f0-8f0a-63537c3cef85"
  }
}
{
  "error": {
    "code": 400,
    "message": "At least one instrument_id is required"
  },
  "metadata": {
    "request_id": "3af8662e-2dd9-4c59-8d32-7c167377fb8f"
  }
}
{
  "error": {
    "code": 400,
    "message": "At most 100 instrument_ids are allowed per request"
  },
  "metadata": {
    "request_id": "3af8662e-2dd9-4c59-8d32-7c167377fb8f"
  }
}
{
  "error": {
    "code": 404,
    "details": [
      {
        "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
      }
    ],
    "message": "All instrument ids failed to be found"
  },
  "metadata": {
    "request_id": "95683d84-2863-43f0-8f0a-63537c3cef85"
  }
}
Returns Examples
{
  "data": [
    {
      "cumulative_volume": 12345678,
      "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8",
      "last_quote": {
        "ask": "210.14",
        "ask_size": 120,
        "ask_venue": "XNAS",
        "bid": "210.10",
        "bid_size": 100,
        "bid_venue": "XNAS",
        "midpoint": "210.12"
      },
      "last_trade": {
        "price": "210.12",
        "size": 150,
        "venue": "XNAS"
      },
      "name": "Apple Inc.",
      "session": {
        "change": "4.68",
        "change_percent": "2.2780",
        "cumulative_volume": 12345678,
        "high": "211.30",
        "low": "207.55",
        "ohlv_applicable": true,
        "ohlv_date": "2026-08-11",
        "open": "208.00",
        "previous_close": "205.44",
        "previous_close_unadjusted": "208.30"
      },
      "symbol": "AAPL"
    }
  ],
  "error": null,
  "metadata": {
    "request_id": "2d0c9159-8f5d-49ca-a861-0d8346fd11da"
  }
}
{
  "data": [
    {
      "cumulative_volume": null,
      "instrument_id": "b2b3b4b5-c2c3-d2d3-e2e3-e4e5e6e7e8e9",
      "last_quote": null,
      "last_trade": null,
      "name": "Microsoft Corporation",
      "session": {
        "ohlv_applicable": true
      },
      "symbol": "MSFT"
    }
  ],
  "error": {
    "code": 404,
    "details": [
      {
        "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
      }
    ],
    "message": "One or more instrument ids failed to be found"
  },
  "metadata": {
    "request_id": "95683d84-2863-43f0-8f0a-63537c3cef85"
  }
}
{
  "error": {
    "code": 400,
    "message": "At least one instrument_id is required"
  },
  "metadata": {
    "request_id": "3af8662e-2dd9-4c59-8d32-7c167377fb8f"
  }
}
{
  "error": {
    "code": 400,
    "message": "At most 100 instrument_ids are allowed per request"
  },
  "metadata": {
    "request_id": "3af8662e-2dd9-4c59-8d32-7c167377fb8f"
  }
}
{
  "error": {
    "code": 404,
    "details": [
      {
        "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
      }
    ],
    "message": "All instrument ids failed to be found"
  },
  "metadata": {
    "request_id": "95683d84-2863-43f0-8f0a-63537c3cef85"
  }
}