Loading…

Workshop

Accepted Steam Workshop submissions, grouped by acceptance week.

Workshop submissions, grouped by publish week

GET/api/workshop

Workshop submissions, accepted or not, grouped by the week they were published in (weeks run Friday to Thursday, UTC) and paginated by week rather than by item — so a page is six weeks of submissions, not six submissions. Each week carries its own item count, and the newest week comes first.

sort orders the items inside each week and never the weeks themselves. search matches an item name, type or collection.

Parameters

NameInRequiredDescription
pagequeryno1-based week-page index. Defaults to 1.
pageSizequerynoWeeks per page. Defaults to 6, max 26.
searchquerynoMatch against item name, type, or collection.
itemTypequerynoFilter by exact item type (e.g. "Assault Rifle").
sortquerynoItem order within each week. Defaults to price_desc.

One of: price_desc, price_asc, newest, name_asc, name_desc

Request

curl "https://api.scmm.app/api/workshop?page=1"

Response 200 · application/json · object

  • array<object>
  • totalWeeks*number
  • totalItems*number
  • page*number
  • pageSize*number

Full details of one workshop submission

GET/api/workshop/{id}

One submission with its creator, acceptance date, tags, preview media and — where the item reached the store — the item it became. The {id} is either id a submission carries: the guid this API returns as id, or the numeric Steam published-file id it returns as workshopFileId.

Parameters

NameInRequiredDescription
idpathyesThe submission guid (id) or its numeric Steam published-file id (workshopFileId) — both are on every row of GET /api/workshop. Any other value answers 404.

Request

curl "https://api.scmm.app/api/workshop/<id>"

Response 200 · application/json · object

  • status*enum

    One of: accepted, pending, denied

  • tags*array<string>
  • previewUrls*array<string>
  • id*string
  • workshopFileId*string | null
  • title*string
  • creatorName*string
  • thumbnailUrl*string | null
  • acceptedOn*string | null
  • workshopFileUrl*string | null
  • itemType*string | null
  • itemShortName*string | null
  • description*string | null

Files attached to a workshop submission

GET/api/workshop/{id}/files

The media a creator uploaded with a submission: preview images and, where there is one, a video. Each entry carries its type and a URL. The {id} is either id a submission carries: the guid this API returns as id, or the numeric Steam published-file id it returns as workshopFileId.

Parameters

NameInRequiredDescription
idpathyesThe submission guid (id) or its numeric Steam published-file id (workshopFileId) — both are on every row of GET /api/workshop. Any other value answers 404.

Request

curl "https://api.scmm.app/api/workshop/<id>/files"

Response 200 · application/json · array<object>

  • id*string
  • url*string
  • type*string

One creator’s workshop submissions, newest first

GET/api/workshop/creator/{steamId}

Every submission from one creator, accepted or not, as a flat list, newest first, with no week grouping. Takes a 64-bit Steam id; a value that is not one returns an empty list rather than an error, because a creator id that resolves to nobody and a creator with no accepted submissions are the same answer to a caller.

Parameters

NameInRequiredDescription
steamIdpathyesCreator's SteamID64.

Request

curl "https://api.scmm.app/api/workshop/creator/<steamId>"

Response 200 · application/json · array<object>

  • id*string
  • workshopFileId*string | null
  • title*string
  • thumbnailUrl*string | null
  • createdOn*string
  • acceptedOn*string | null
  • creatorName*string | null
  • creatorAvatarUrl*string | null
  • creatorId*string | null
  • itemType*string | null
  • itemShortName*string | null
  • itemCollection*string | null