Skip to main content

ContentDto

Contains all game content information including characters, maps, skins, and more.
version
str
required
The content version identifier
characters
List[ContentItemDto]
required
List of all VALORANT agents/characters
maps
List[ContentItemDto]
required
List of all available maps
chromas
List[ContentItemDto]
required
List of all weapon skin chromas
skins
List[ContentItemDto]
required
List of all weapon skins
skinLevels
List[ContentItemDto]
required
List of all weapon skin levels
equips
List[ContentItemDto]
required
List of all equippable items (weapons, melee, etc.)
gameModes
List[ContentItemDto]
required
List of all game modes
totems
List[ContentItemDto]
required
List of all totems
sprays
List[ContentItemDto]
required
List of all sprays
sprayLevels
List[ContentItemDto]
required
List of all spray levels
charms
List[ContentItemDto]
required
List of all gun buddies/charms
charmLevels
List[ContentItemDto]
required
List of all charm levels
playerCards
List[ContentItemDto]
required
List of all player cards
playerTitles
List[ContentItemDto]
required
List of all player titles
acts
List[ActDto]
required
List of all acts and episodes
ceremonies
List[ContentItemDto]
required
List of all ceremonies

Example

import asyncio
from valaw import Client

async def main():
    client = Client(token="YOUR_API_KEY", cluster="americas")
    
    # Get content with English localization
    content = await client.GET_getContent(region="na", locale="en-us")
    
    print(f"Content Version: {content.version}")
    print(f"\nCharacters ({len(content.characters)}):")
    for character in content.characters:
        print(f"  - {character.name} (ID: {character.id})")
    
    print(f"\nMaps ({len(content.maps)}):")
    for map_item in content.maps:
        print(f"  - {map_item.name}")
    
    print(f"\nActive Acts:")
    for act in content.acts:
        if act.isActive:
            print(f"  - {act.name} (Type: {act.type})")
    
    await client.close()

asyncio.run(main())

ContentItemDto

Represents a single content item (agent, map, skin, etc.).
name
str
required
The English name of the content item
id
str
required
The unique identifier for this content item
assetName
str
required
The internal asset name
localizedNames
LocalizedNamesDto | None
Localized names for this content item in all supported languages
assetPath
str | None
The path to the asset (optional)

Example

# Find a specific character
content = await client.GET_getContent(region="na", locale="en-us")

jett = next((char for char in content.characters if char.name == "Jett"), None)
if jett:
    print(f"Name: {jett.name}")
    print(f"ID: {jett.id}")
    print(f"Asset: {jett.assetName}")
    
    if jett.localizedNames:
        print(f"Japanese Name: {jett.localizedNames.ja_JP}")
        print(f"Korean Name: {jett.localizedNames.ko_KR}")

ActDto

Represents an act or episode in VALORANT.
name
str
required
The name of the act/episode
id
str
required
The unique identifier for this act
isActive
bool
required
Whether this act is currently active
type
str
required
The type of act (“act”, “episode”, etc.)
localizedNames
LocalizedNamesDto | None
Localized names for this act in all supported languages
parentId
str | None
The parent episode ID if this is an act

Example

# Find the current active act
content = await client.GET_getContent(region="na")

active_acts = [act for act in content.acts if act.isActive]
for act in active_acts:
    print(f"Active {act.type}: {act.name}")
    print(f"Act ID: {act.id}")
    if act.parentId:
        print(f"Part of Episode: {act.parentId}")

LocalizedNamesDto

Contains localized names for content items in all supported languages.
ar_AE
str
required
Arabic (UAE)
de_DE
str
required
German (Germany)
en_GB
str
required
English (UK)
en_US
str
required
English (US)
es_ES
str
required
Spanish (Spain)
es_MX
str
required
Spanish (Mexico)
fr_FR
str
required
French (France)
id_ID
str
required
Indonesian (Indonesia)
it_IT
str
required
Italian (Italy)
ja_JP
str
required
Japanese (Japan)
ko_KR
str
required
Korean (South Korea)
pl_PL
str
required
Polish (Poland)
pt_BR
str
required
Portuguese (Brazil)
ru_RU
str
required
Russian (Russia)
th_TH
str
required
Thai (Thailand)
tr_TR
str
required
Turkish (Turkey)
vi_VN
str
required
Vietnamese (Vietnam)
zh_CN
str
required
Chinese (Simplified)
zh_TW
str
required
Chinese (Traditional)

Example

# Display an agent name in multiple languages
content = await client.GET_getContent(region="na", locale="en-us")

phoenix = next((char for char in content.characters if char.name == "Phoenix"), None)
if phoenix and phoenix.localizedNames:
    print("Phoenix in different languages:")
    print(f"English: {phoenix.localizedNames.en_US}")
    print(f"Japanese: {phoenix.localizedNames.ja_JP}")
    print(f"Korean: {phoenix.localizedNames.ko_KR}")
    print(f"Spanish: {phoenix.localizedNames.es_ES}")
    print(f"French: {phoenix.localizedNames.fr_FR}")
    print(f"German: {phoenix.localizedNames.de_DE}")

Supported Locales

When calling GET_getContent(), you can specify a locale parameter for faster response times:
  • ar-ae - Arabic (UAE)
  • de-de - German
  • en-gb - English (UK)
  • en-us - English (US)
  • es-es - Spanish (Spain)
  • es-mx - Spanish (Mexico)
  • fr-fr - French
  • id-id - Indonesian
  • it-it - Italian
  • ja-jp - Japanese
  • ko-kr - Korean
  • pl-pl - Polish
  • pt-br - Portuguese (Brazil)
  • ru-ru - Russian
  • th-th - Thai
  • tr-tr - Turkish
  • vi-vn - Vietnamese
  • zh-cn - Chinese (Simplified)
  • zh-tw - Chinese (Traditional)
# Get content with specific locale
content = await client.GET_getContent(region="na", locale="ja-jp")

Build docs developers (and LLMs) love