Skip to main content
Skin levels are the progressive upgrade tiers within a weapon skin, unlocked one at a time using Radianite Points. The first level (Level 1) is always included with the skin purchase and represents the base version of the skin. Subsequent levels add enhancements such as particle effects, custom animations, altered sound effects, or a finisher animation. You can use these endpoints to fetch all levels across all skins in a single request, or retrieve a specific level by its UUID.

Understanding levelItem values

The levelItem field describes what kind of upgrade a level adds. The first level of any skin always has levelItem: null since it is the baseline. The following values appear on higher levels:
levelItem valueDescription
EEquippableSkinLevelItem::VFXAdds custom particle visual effects to the weapon (muzzle flash, bullet tracers, etc.).
EEquippableSkinLevelItem::AnimationAdds custom animations (inspect, equip, or firing animations).
EEquippableSkinLevelItem::FinisherAdds a unique kill finisher animation shown when you eliminate an enemy.
EEquippableSkinLevelItem::SoundEffectsReplaces the weapon’s default audio with custom sound effects.
EEquippableSkinLevelItem::TransformationApplies a visual transformation to the weapon model itself.
EEquippableSkinLevelItem::KillCounterAdds a kill-counter display to the weapon.
EEquippableSkinLevelItem::TopFragUnlocks special effects for the top-fragging player.
EEquippableSkinLevelItem::InspectAndKillAdds a combined inspect animation and kill effect.
The set of levelItem values that appear in API responses reflects Valorant’s internal enum strings. New values may be added as Riot introduces new skin features.

GET /v1/weapons/skinlevels

Retrieve a list of all weapon skin levels across every skin in Valorant.

Query parameters

language
string
default:"en-US"
The locale used for all display name strings in the response. Accepts any Valorant-supported locale, for example en-US, de-DE, ja-JP, or zh-TW.

Example request

curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/weapons/skinlevels" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"

Response

status
number
required
HTTP status code of the response. 200 indicates success.
data
object[]
required
Array of skin level objects, one per level across all skins.

Response

{
  "status": 200,
  "data": [
    {
      "uuid": "9466088a-4ad8-cb08-ec9a-45aaba3a6acd",
      "displayName": ".EXE Ghost",
      "levelItem": null,
      "displayIcon": "https://valmedia.teamfortuna.xyz/weapons-skinlevels/9466088a-4ad8-cb08-ec9a-45aaba3a6acd/displayicon.png",
      "streamedVideo": null,
      "assetPath": "ShooterGame/Content/Equippables/Guns/Sidearms/Luger/Grid/Levels/LugerPistol_GridLv1_PrimaryAsset"
    }
  ]
}