---
title: "Skinory CS2 Index: latest level and market cap per category"
method: GET
path: "/api/v1/index"
---

# Skinory CS2 Index: latest level and market cap per category

`GET /api/v1/index`

## Request

- Base URL: `https://skinory.io`
- URL: `https://skinory.io/api/v1/index`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in header `X-Api-Key`

Latest daily snapshot of the Skinory CS2 Index: a chain-linked price index (100 at the first snapshot of each category) weighted by the previous day listed value, with the estimated market cap, median price, item count, cross-market spread and 1, 7 and 30 day changes for all items and each category. Snapshots are taken once per UTC day from the stored price feeds and are not revised. Methodology: /methodology#index. CC BY 4.0, attribution required. Cached for five minutes.

## Query parameters

- `lang` 'en' | 'ru' | 'pt' | 'es' | 'de' | 'nl' | 'fr' | 'pl' | 'tr' | 'zh' | 'zh-Hant' | 'ja' | 'ko' | 'vi' | 'id' | 'ms' | 'tl' | 'hi' | 'ar' | 'fa' | 'he'

## Response `200`

Latest snapshot

- object
  - `methodVersion` string, required
  - `supplyAssumption` 'assumption', required
  - `name` 'Skinory CS2 Index', required
  - `url` string, required
  - `methodology` string, required
  - `date` string, date, nullable, required: UTC day of the latest snapshot
  - `pricedAt` string, date-time, nullable, required: Time of the price feeds behind the snapshot
  - `currency` 'USD', required
  - `supplyMultiplier` number, nullable, required
  - `license` string, required
  - `attribution` string, required
  - `categories` object[], required
    - `id` 'all' | 'knives' | 'gloves' | 'rifles' | 'pistols' | 'smgs' | 'heavy' | 'equipment' | 'cases' | 'stickers' | 'capsules' | 'keychains' | 'agents' | 'patches' | 'music-kits' | 'graffiti' | 'pins' | 'keys', required
    - `name` string, required
    - `url` string, required: Category page on the site
    - `level` number, nullable, required: Chain-linked price index, 100 at baseDate; null when fewer than five items could be matched with the previous snapshot
    - `baseDate` string, date, nullable, required
    - `change` object, required: Percent change against the stored snapshot 1, 7 and 30 days earlier (up to two days older when a day is missing); null when there is no such snapshot
      - `d1` number, nullable, required
      - `d7` number, nullable, required
      - `d30` number, nullable, required
    - `cap` number, nullable, required: Estimated market capitalization in USD: listedValue × supplyMultiplier
    - `listedValue` number, nullable, required: Sum of price × listed quantity on the Skinport and Market.CSGO feeds, USD
    - `capChange` object, required: Percent change against the stored snapshot 1, 7 and 30 days earlier (up to two days older when a day is missing); null when there is no such snapshot
      - `d1` number, nullable, required
      - `d7` number, nullable, required
      - `d30` number, nullable, required
    - `medianPrice` number, nullable, required: Median price of the priced items, USD
    - `items` integer, required: Items with a price and at least one listing
    - `spread` number, nullable, required: Median over items quoted by at least three market feeds of (median ask / lowest ask − 1), percent

## Other responses

- `401`: unauthorized: the Authorization or X-Api-Key header carries a malformed, unknown or revoked API key; send no key header to be served anonymously

## Changes

- **2026-10-23** `07ab93f8464a`: 2 info
  - added the required property `methodVersion` to the response with the `200` status
  - added the required property `supplyAssumption` to the response with the `200` status
- **2026-10-16** `38da5d6025c3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/skinory/apis/skinory-api/changes/api/v1/index/get.md)

---

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