---
title: "Latest price snapshots"
method: GET
path: "/v1/market/snapshots"
---

# Latest price snapshots

`GET /v1/market/snapshots`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/market/snapshots`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Use this route to populate a bounded quote view from stored latest snapshots. Supply `symbols` as a comma-separated list, or one `ticker` alias. Results preserve request order, but a missing requested symbol is reported in `degradedState.missingSymbols` rather than represented as a zero price. Inspect each row's `asOf`, `freshness`, `provenance`, `sourceRights`, and `revision` before presenting a value as current. See [API conventions](https://docs.secapi.ai/api-conventions).

## Query parameters

- `symbols` string
- `ticker` string

## Response `200`

Stored latest-market snapshots in request order, with a degraded-state indicator when requested symbols are absent.

- MarketSnapshotList
  - `dataAsOf` string
  - `freshnessStatus` 'fresh' | 'stale' | 'degraded' | 'unknown'
  - `methodologyVersion` string
  - `materializationVersion` string
  - `object` 'list', required
  - `data` object[], required
    - `object` 'market_snapshot', required
    - `id` string, required
    - `createdAt` string, required
    - `livemode` boolean, required
    - `symbol` string, required
    - `name` string, nullable
    - `exchange` string, nullable
    - `currency` string, nullable
    - `asOf` string, required
    - `price` number, required
    - `change` number, nullable
    - `changePercent` number, nullable
    - `volume` integer, nullable
    - `marketCap` number, nullable
    - `previousClose` number, nullable
    - `provenance` object
      - `source` string, required
      - `sourceLabel` string
      - `sourceAgency` string
      - `canonicality` string
      - `fallbackPolicy` string
      - `accessionNumber` string, nullable, required
      - `filingUrl` string, uri, required
      - `acceptedAt` string, nullable
      - `retrievedAt` string, required
      - `parserVersion` string, required
    - `freshness` object
      - `status` 'fresh' | 'current' | 'archival' | 'stale' | 'degraded' | 'unknown', required
      - `asOf` string, required
      - `sourcePublishedAt` string, nullable
      - `lagMs` integer, nullable
    - `materialization` object
      - `parserVersion` string, required
      - `materializationVersion` string, required
    - `sourceRights` object
      - `source` string, required
      - `posture` 'public_safe' | 'contract_gated' | 'internal_only' | 'inventory_only' | 'review_required', required
      - `publicAvailability` string
      - `contractStatus` string
      - `restrictions` string[]
    - `revision` object
      - `sourcePublishedAt` string, nullable
      - `retrievedAt` string, required
      - `vintageId` string, nullable
      - `revisedFrom` string, nullable
    - `trace` object
  - `hasMore` boolean, required
  - `nextCursor` string, nullable, required
  - `queryPath` string, nullable, required
  - `queryPathReason` string, nullable, required
  - `policyYears` object, nullable, required
  - `degradedState` object, nullable
    - `status` 'partial', required
    - `reason` 'market_snapshots_not_materialized', required
    - `missingSymbols` string[], required
  - `requestId` string, required
  - `traceparent` string, required
  - `responseMode` string
  - `include` string[]

## Other responses

- `default`: Contract-aware error response

---

[API](https://skmtc.dev/turos/apis/turos-api.md) · [All operations](https://skmtc.dev/turos/apis/turos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/turos/apis/turos-api/revisions/a68d3ec80a56?raw)
