Loading…

Store

Item store snapshots, rotations and the predicted next update.

List every known store snapshot

GET/api/store

Every item-store rotation this site has captured, newest first, as identifiers only — the name, the id to fetch it with and when it started. It is the index for GET /api/store/{id}, and it carries no items or prices, so it is cheap enough to poll.

Request

curl "https://api.scmm.app/api/store"

Response 200 · application/json · array<object>

  • id*string
  • name*string
  • start*string | null
  • end*string | null

Get a specific store by id

GET/api/store/{id}

One store rotation with the items it featured, their store price and their current market price. Accepts either the store name or its guid, both as listed by GET /api/store.

Item order follows sort; the default is the ranking Steam itself publishes for the rotation. Money is in the resolved currency’s hundredths, and an item that has left the store keeps its original store price.

Parameters

NameInRequiredDescription
idpathyesStore identifier (slug or guid).
sortquerynoSort items by store/market column.
currencyqueryno3-letter currency code. Defaults to USD.

Request

curl "https://api.scmm.app/api/store/<id>?sort=<sort>"

Response 200 · application/json · object

  • array<object>
  • media*array<string> | null
  • notes*array<string> | null
  • publisherName*string | null
  • appPrimaryColour*string | null
  • guid*string
  • id*string
  • name*string
  • start*string | null
  • end*string | null
  • itemsThumbnailUrl*string | null
  • isDraft*boolean

Get the current store

GET/api/store/current

Returns the most recent store snapshot, including all featured items.

Parameters

NameInRequiredDescription
sortquerynoSort items by one of: topSellerIndex, marketRankIndex, storePrice, marketPrice, name.
currencyqueryno3-letter currency code. Defaults to USD.

Request

curl "https://api.scmm.app/api/store/current?sort=<sort>"

Response 200 · application/json · object

  • array<object>
  • media*array<string> | null
  • notes*array<string> | null
  • publisherName*string | null
  • appPrimaryColour*string | null
  • guid*string
  • id*string
  • name*string
  • start*string | null
  • end*string | null
  • itemsThumbnailUrl*string | null
  • isDraft*boolean

Predicted next store rotation

GET/api/store/nextUpdateTime

Learns the typical start time-of-day from recent rotations and rolls to the next Thursday, with overdue handling. Null when there is no rotation history.

Request

curl "https://api.scmm.app/api/store/nextUpdateTime"

Response 200 · application/json · object

  • timestamp*string

    Predicted next rotation time (ISO-8601).

  • timeRemaining*number

    Absolute milliseconds to (or past, when overdue) the predicted update.

  • timeDescription*string

    Humanised remaining time, e.g. "expected in roughly 4 days, 6 hours".

  • isOverdue*boolean

    True when the predicted update is in the past (overdue).

Timing of the active store rotation

GET/api/store/rotation

Lightweight, cacheable start/end of the active rotation plus the predicted next rotation time.

Request

curl "https://api.scmm.app/api/store/rotation"

Response 200 · application/json · object

  • start*string | null

    Active rotation start (ISO-8601).

  • end*string | null

    Active rotation end (ISO-8601); null when open-ended.

  • nextUpdateTime*string

    Predicted next rotation time (ISO-8601) — countdown target when end is null.

  • object | null