Overview

Introduction

A typed, cached Python wrapper for Valorant content data.

valorant-assets-api wraps the public Valorant content API in one Python client that returns typed objects instead of raw dictionaries. The package is built for applications, scripts, and notebooks that need stable game metadata without repeating HTTP plumbing, response mapping, and local caching.

The wrapper tracks the same major data classes that the upstream Valorant API exposes, but the experience is SDK-shaped rather than endpoint-shaped. Each resource page in this site shows the client methods you call, the models you receive, and the wrapper behaviors layered on top of the raw API.

→ Quickstart
Construct a client, make a few real calls, and inspect typed fields.
→ Resource reference
Jump straight to the resource-oriented reference section.
  • One ValorantAPI client for the main public /v1 content endpoints.
  • Typed @apimodel resources and nested helper models.
  • Built-in caching through pypercache.
  • Wrapper helpers for common lookup flows like display-name search, active events, current season lookup, and flattened contract rewards.
  • Media URL fields wrapped as CachedMediaAsset for optional disk downloads.

These docs follow the upstream resource-per-page scanning model, but each page is adapted to the Python API surface. You can open a resource page like Weapons to see the relevant client methods and the schema you get back in the same place.

Overview

Installation

Install the package and understand the runtime baseline.

Install the published package when you want the wrapper in an application environment:

pip install valorant-assets-api

Install the project in editable mode for local development and testing:

pip install -e .[test]

Requirements

  • Python >=3.11
  • requests>=2.31.0
  • pypercache>=0.1.9

What installation gives you

After installation, the package exports the main client, the shared enums, the root resource models, and CachedMediaAsset from the package root:

from valorant_assets_api import Language, ValorantAPI, Weapon
The package depends on the public Valorant content API. Calls that miss cache still require network access to https://valorant-api.com.
Overview

Quickstart

Construct a client and make a few real calls in under ten minutes.

Start with a default client and a few calls that exercise the main lookup styles:

from valorant_assets_api import ValorantAPI

api = ValorantAPI()

agents = api.list_agents(playable_only=True)
brimstone = api.find_agent("Brimstone", playable_only=True)
bind_map = api.find_map("Bind")
version = api.get_version()

print(agents[0].display_name)
print(brimstone.role.display_name if brimstone and brimstone.role else "No role")
print(bind_map.coordinates if bind_map else "No coordinates")
print(version.version)

What to notice

  • list_* methods return typed collections.
  • get_* methods fetch one typed object by UUID.
  • find_* helpers are convenience lookups for interactive or display-name-driven flows.
  • Returned objects expose nested models and enums directly.
The default client uses a temp-directory SQLite cache with a 24 hour expiry. Repeated calls are expected to hit cache for mostly static metadata.
Concepts

Caching and freshness

How the wrapper stores and reuses HTTP responses by default.

Caching is part of the package's normal usage model, not an optional afterthought. Most endpoints expose content metadata that changes slowly, so the default client stores responses locally and reuses them across calls.

Defaults

SettingDefaultMeaning
cache_pathtemp SQLite pathStores cached responses on disk
default_expiry60 * 60 * 24Freshness window for most endpoints
timeout20Request timeout in seconds
request_log_pathNoneLogging disabled by default

Resource-specific freshness

Some endpoints override the default expiry in the client implementation:

  • Competitive tiers use a 12 hour expiry.
  • Missions and objectives use a 30 minute expiry.
  • Version metadata uses a 1 hour expiry.

Practical guidance

  • Keep the default cache for scripts and exploratory work.
  • Set cache_path explicitly when you want a reproducible project-local cache file.
  • Lower expiry values when you are validating freshness-sensitive behavior.
  • Enable request logging when you need to confirm which calls miss cache.
Cached media files are separate from the HTTP response cache. Resource metadata lives in the API cache, while downloaded images and audio files live under download_directory.
Concepts

Typed models and enums

How payloads become typed Python objects and enum-backed fields.

The wrapper hydrates API payloads into typed Python objects using @apimodel definitions from valorant_assets_api.models. That means resource pages can document the client call and the resulting schema together.

What typed hydration changes

  • You access fields as attributes instead of dictionary keys.
  • Nested objects such as Agent.role or Weapon.weapon_stats are hydrated into nested models.
  • Enum-backed fields are coerced into exported enums where possible.
  • Timestamp fields are converted to datetime objects.

Exported models vs nested helper models

The package root exports the main top-level resource models. Many resource pages also include nested helper models that are not exported from valorant_assets_api.__init__, but they still matter when you inspect real responses.

When a field type is written as Enum | str | None, the client tries to coerce known values into the enum while still tolerating unexpected upstream values.

Shared references

Concepts

Media assets and disk downloads

How string-like media URLs become disk-fetchable assets.

Many response fields that look like plain media URLs are wrapped as CachedMediaAsset instances during model hydration. You can still treat them like strings, but the wrapper also lets you download and reuse them on disk.

How it works

  • A media field remains string-like, so str(asset) and normal URL usage still work.
  • The wrapper attaches API and resource context during hydration.
  • cache_to_disk() downloads or relocates the asset into download_directory.
  • fetch_from_disk() ensures the file exists locally and returns a Path.

Requirements

To fetch media files, construct the client with download_directory:

from valorant_assets_api import ValorantAPI

api = ValorantAPI(download_directory="cache/media")
agent = api.get_agent("add6443a-41bd-e414-f6ad-e58d267f4e95")
local_icon = agent.display_icon.fetch_from_disk()
Disk download methods raise ValueError when download_directory is not configured on the client.

See CachedMediaAsset for the helper reference and Agents or Weapons for real resource fields that use it.

Guides

Common lookup patterns

Consistent collection, UUID, and helper lookup flows across resources.

The client surface follows a consistent set of lookup patterns across resource types.

Collection lookups

Use list_* methods when you want a full collection of a resource type:

agents = api.list_agents(playable_only=True)
weapons = api.list_weapons()

UUID lookups

Use get_* methods when you already have a resource identifier:

agent = api.get_agent(agent_uuid)
weapon = api.get_weapon(weapon_uuid)

Display-name helpers

Some resources expose find_* helpers:

  • find_agent()
  • find_map()
  • find_weapon()

These helpers first try an exact case-insensitive display-name match, then a substring match.

Wrapper helpers

The client also exposes task-shaped helpers:

  • get_active_events() filters event windows against current or injected UTC time.
  • get_current_season() returns the current active season or None.
  • list_contract_rewards() flattens contract chapter rewards into one list.
Guides

Localization

Using the Language enum and language-aware resource methods.

Many content endpoints accept a language argument. The wrapper exposes the supported values through the Language enum while still accepting plain strings when that is more convenient.

from valorant_assets_api import Language, ValorantAPI

api = ValorantAPI()
weapons = api.list_weapons(language=Language.JA_JP)

Coverage

Localization support is resource-specific. The relevant resource pages document language only for methods that actually accept it in client.py.

Resources without language support in the current client implementation include:

  • Ceremonies
  • Competitive tiers
  • Missions
  • Objectives
  • Version
Use the enum when you want discoverable supported values. Use a string when the value comes from config or user input.
Guides

Client configuration

Constructor options and session-level customization points.

Construct ValorantAPI with defaults when you want the standard cached wrapper behavior, or override specific settings when your environment needs tighter control.

ValorantAPI(
  *, cache_path: str | None = DEFAULT_CACHE_PATH,
  default_expiry: int | float = DEFAULT_EXPIRY_SECONDS,
  request_log_path: str | None = DEFAULT_REQUEST_LOG_PATH,
  download_directory: str | None = DEFAULT_DOWNLOAD_DIRECTORY,
  timeout: int | float | None = DEFAULT_TIMEOUT,
  session: requests.Session | None = None
)
ParameterTypeDefaultRequiredDescription
cache_pathstr | Nonetemp SQLite pathnoLocation for the HTTP response cache
default_expiryint | float86400noDefault freshness window in seconds
request_log_pathstr | NoneNonenoOptional request log file path
download_directorystr | NoneNonenoRoot directory for downloaded media assets
timeoutint | float | None20noRequest timeout in seconds
sessionrequests.Session | NoneNonenoOptional custom session

Session behavior

If you do not pass a session, the client creates one with:

  • Accept: application/json
  • User-Agent: valorant-api-wrapper/0.1.2

Use a custom session when you need shared headers, custom adapters, or request instrumentation beyond the built-in defaults.

Guides

Notebook walkthrough

When to use the repository notebook instead of the static docs.

The repository includes a guided notebook at notebooks/valorant_assets_api_tutorial.ipynb.

Use the notebook for an interactive walkthrough of:

  • package installation and setup
  • client construction
  • localization
  • UUID lookups
  • helper methods
  • cache configuration
  • typed model inspection
The embedded export below is a read-only preview of the executed notebook. Open the full export in a separate tab when you want native width, your browser's page search, or the original notebook source.
Notebook export

Executed HTML walkthrough

This is a non-interactive export

Reference

Agents

Playable and non-playable agent data, plus role, ability, and voice metadata.

Agents maps to the upstream /agents resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/agents

Playable and non-playable agent data, plus role, ability, and voice metadata.

Client methods

list_agents

List agent resources.

list_agents(*, language: LanguageLike = None, playable_only: bool = False)

Returns: List[Agent]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.
playable_onlyboolFalsenoWhen true, requests only playable agents from the collection endpoint.

Notes

Set playable_only=True to request only playable characters.

get_agent

Fetch one agent by UUID.

get_agent(agent_uuid: str, *, language: LanguageLike = None)

Returns: Agent

Parameters

ParameterTypeDefaultRequiredDescription
agent_uuidstr-yesUUID of the target agent.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

find_agent

Find an agent by display name.

find_agent(name: str, *, language: LanguageLike = None, playable_only: bool = False)

Returns: Agent | None

Parameters

ParameterTypeDefaultRequiredDescription
namestr-yesDisplay name string used for wrapper-side matching.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.
playable_onlyboolFalsenoWhen true, requests only playable agents from the collection endpoint.

Notes

The helper matches exact case-insensitive names before substring matches.

Schema

Agent

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
descriptionstr | None-
developer_namestr | NonedeveloperName
release_datedatetime | NonereleaseDate
character_tagslist[str] | NonecharacterTags
display_iconAssetUrldisplayIcon
display_icon_smallAssetUrldisplayIconSmall
bust_portraitAssetUrlbustPortrait
full_portraitAssetUrlfullPortrait
full_portrait_v2AssetUrlfullPortraitV2
killfeed_portraitAssetUrlkillfeedPortrait
minimap_portraitAssetUrlminimapPortrait
home_screen_promo_tile_imageAssetUrlhomeScreenPromoTileImage
backgroundAssetUrl-
background_gradient_colorslist[str]backgroundGradientColors
asset_pathstr | NoneassetPath
is_full_portrait_right_facingboolisFullPortraitRightFacing
is_playable_characterboolisPlayableCharacter
is_available_for_testboolisAvailableForTest
is_base_contentboolisBaseContent
roleRole | None-
recruitment_dataRecruitmentData | NonerecruitmentData
abilitieslist[Ability]-
voice_lineVoiceLine | NonevoiceLine

Role

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
descriptionstr | None-
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath

Ability

FieldTypeAPI alias
slotstr-
display_namestr | NonedisplayName
descriptionstr | None-
display_iconAssetUrldisplayIcon

VoiceLine

FieldTypeAPI alias
min_durationNumericminDuration
max_durationNumericmaxDuration
media_listlist[MediaAsset]mediaList

RecruitmentData

FieldTypeAPI alias
counter_idstr | NonecounterId
milestone_idstr | NonemilestoneId
milestone_thresholdint | NonemilestoneThreshold
use_level_vp_cost_overridebool | NoneuseLevelVpCostOverride
level_vp_cost_overrideint | NonelevelVpCostOverride
start_datedatetime | NonestartDate
end_datedatetime | NoneendDate

MediaAsset

FieldTypeAPI alias
idint | None-
wwiseAssetUrl-
waveAssetUrl-

Notes

  • Agent media fields such as display_icon and full_portrait are wrapped as CachedMediaAsset values.
  • Playable filtering is a wrapper-level convenience on top of the collection endpoint.
Reference

Buddies

Gun buddy collection and buddy level metadata.

Buddies maps to the upstream /buddies resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/buddies

Gun buddy collection and buddy level metadata.

Client methods

list_buddies

List buddy resources.

list_buddies(*, language: LanguageLike = None)

Returns: List[Buddy]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_buddy

Fetch one buddy by UUID.

get_buddy(buddy_uuid: str, *, language: LanguageLike = None)

Returns: Buddy

Parameters

ParameterTypeDefaultRequiredDescription
buddy_uuidstr-yesUUID of the target buddy.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Buddy

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
is_hidden_if_not_ownedbool | NoneisHiddenIfNotOwned
theme_uuidstr | NonethemeUuid
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath
levelsLazy[list[BuddyLevel]]-

BuddyLevel

FieldTypeAPI alias
uuidstr-
charm_levelint | NonecharmLevel
hide_if_not_ownedbool | NonehideIfNotOwned
display_namestrdisplayName
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath

Notes

  • levels is represented as a nested lazy list on the hydrated buddy model.
Reference

Bundles

Store bundle metadata and associated imagery.

Bundles maps to the upstream /bundles resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/bundles

Store bundle metadata and associated imagery.

Client methods

list_bundles

List bundle resources.

list_bundles(*, language: LanguageLike = None)

Returns: List[Bundle]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_bundle

Fetch one bundle by UUID.

get_bundle(bundle_uuid: str, *, language: LanguageLike = None)

Returns: Bundle

Parameters

ParameterTypeDefaultRequiredDescription
bundle_uuidstr-yesUUID of the target bundle.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Bundle

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
display_name_sub_textstr | NonedisplayNameSubText
descriptionstr | None-
extra_descriptionstr | NoneextraDescription
promo_descriptionstr | NonepromoDescription
display_iconAssetUrldisplayIcon
display_icon_2AssetUrldisplayIcon2
display_icon_3AssetUrldisplayIcon3
vertical_promo_imageAssetUrlverticalPromoImage
use_additional_contextbool | NoneuseAdditionalContext
logo_iconAssetUrllogoIcon
asset_pathstr | NoneassetPath

Notes

  • Bundle image fields are wrapped as CachedMediaAsset values when present.
Reference

Ceremonies

Ceremony metadata with lightweight schema coverage.

Ceremonies maps to the upstream /ceremonies resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/ceremonies

Ceremony metadata with lightweight schema coverage.

Client methods

list_ceremonies

List ceremony resources.

list_ceremonies()

Returns: List[Ceremony]

Parameters

This method does not take caller-supplied parameters.

get_ceremony

Fetch one ceremony by UUID.

get_ceremony(ceremony_uuid: str)

Returns: Ceremony

Parameters

ParameterTypeDefaultRequiredDescription
ceremony_uuidstr-yesUUID of the target ceremony.

Schema

Ceremony

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
asset_pathstr | NoneassetPath

Notes

  • This resource does not expose language in the current client implementation.
Reference

Competitive Tiers

Competitive rank set data and nested tier definitions.

Competitive Tiers maps to the upstream /competitivetiers resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/competitivetiers

Competitive rank set data and nested tier definitions.

Client methods

list_competitive_tiers

List competitive tier sets.

list_competitive_tiers()

Returns: List[CompetitiveTierSet]

Parameters

This method does not take caller-supplied parameters.

Notes

The client applies a 12 hour expiry override.

get_competitive_tier_set

Fetch one competitive tier set by UUID.

get_competitive_tier_set(tier_set_uuid: str)

Returns: CompetitiveTierSet

Parameters

ParameterTypeDefaultRequiredDescription
tier_set_uuidstr-yesUUID of the target competitive tier set.

Notes

The client applies a 12 hour expiry override.

Schema

CompetitiveTierSet

FieldTypeAPI alias
uuidstr-
asset_object_namestr | NoneassetObjectName
asset_pathstr | NoneassetPath
tiersLazy[list[CompetitiveTier]]-

CompetitiveTier

FieldTypeAPI alias
tierint-
tier_namestrtierName
divisionstr-
division_namestrdivisionName
colorstr | None-
background_colorstr | NonebackgroundColor
small_iconAssetUrlsmallIcon
large_iconAssetUrllargeIcon
rank_triangle_down_iconAssetUrlrankTriangleDownIcon
rank_triangle_up_iconAssetUrlrankTriangleUpIcon

Notes

  • This resource does not expose language in the current client implementation.
Reference

Content Tiers

Content tier metadata used across skins and rewards.

Content Tiers maps to the upstream /contenttiers resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/contenttiers

Content tier metadata used across skins and rewards.

Client methods

list_content_tiers

List content tier resources.

list_content_tiers(*, language: LanguageLike = None)

Returns: List[ContentTier]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_content_tier

Fetch one content tier by UUID.

get_content_tier(content_tier_uuid: str, *, language: LanguageLike = None)

Returns: ContentTier

Parameters

ParameterTypeDefaultRequiredDescription
content_tier_uuidstr-yesUUID of the target content tier.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

ContentTier

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
dev_namestr | NonedevName
rankint | None-
juice_valueint | NonejuiceValue
juice_costint | NonejuiceCost
highlight_colorstr | NonehighlightColor
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath

Notes

  • No extra wrapper notes for this resource.
Reference

Contracts

Contract data, reward schedules, and flattened reward helper output.

Contracts maps to the upstream /contracts resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/contracts

Contract data, reward schedules, and flattened reward helper output.

Client methods

list_contracts

List contract resources.

list_contracts(*, language: LanguageLike = None)

Returns: List[Contract]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_contract

Fetch one contract by UUID.

get_contract(contract_uuid: str, *, language: LanguageLike = None)

Returns: Contract

Parameters

ParameterTypeDefaultRequiredDescription
contract_uuidstr-yesUUID of the target contract.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

list_contract_rewards

Flatten all chapter levels from one contract.

list_contract_rewards(contract_uuid: str, *, language: LanguageLike = None)

Returns: List[ContractLevel]

Parameters

ParameterTypeDefaultRequiredDescription
contract_uuidstr-yesUUID of the target contract.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Notes

This helper returns ContractLevel items rather than a top-level exported model.

Schema

Contract

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
display_iconAssetUrldisplayIcon
ship_itbool | NoneshipIt
use_level_vp_cost_overridebool | NoneuseLevelVPCostOverride
level_vp_cost_overrideint | NonelevelVPCostOverride
free_reward_schedule_uuidstr | NonefreeRewardScheduleUuid
contentLazy[ContractContent]-
asset_pathstr | NoneassetPath

ContractContent

FieldTypeAPI alias
relation_typestr | NonerelationType
relation_uuidstr | NonerelationUuid
chaptersLazy[list[ContractChapter]]-
premium_reward_schedule_uuidstr | NonepremiumRewardScheduleUuid
premium_vp_costint | NonepremiumVPCost

ContractChapter

FieldTypeAPI alias
is_epilogueboolisEpilogue
levelslist[ContractLevel]-
free_rewardslist[Reward] | NonefreeRewards

ContractLevel

FieldTypeAPI alias
rewardReward | None-
xpint-
vp_costint | NonevpCost
is_purchasable_with_vpbool | NoneisPurchasableWithVP
dough_costint | NonedoughCost
is_purchasable_with_doughbool | NoneisPurchasableWithDough

Reward

FieldTypeAPI alias
typestr-
uuidstr-
amountint-
is_highlightedboolisHighlighted

Notes

  • list_contract_rewards() is wrapper-specific and does not map to a direct endpoint.
Reference

Currencies

Currency metadata and reward icon fields.

Currencies maps to the upstream /currencies resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/currencies

Currency metadata and reward icon fields.

Client methods

list_currencies

List currency resources.

list_currencies(*, language: LanguageLike = None)

Returns: List[Currency]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_currency

Fetch one currency by UUID.

get_currency(currency_uuid: str, *, language: LanguageLike = None)

Returns: Currency

Parameters

ParameterTypeDefaultRequiredDescription
currency_uuidstr-yesUUID of the target currency.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Currency

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
display_name_singularstr | NonedisplayNameSingular
display_iconAssetUrldisplayIcon
large_iconAssetUrllargeIcon
reward_preview_iconAssetUrlrewardPreviewIcon
asset_pathstr | NoneassetPath

Notes

  • No extra wrapper notes for this resource.
Reference

Events

Event metadata plus wrapper-level active window filtering.

Events maps to the upstream /events resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/events

Event metadata plus wrapper-level active window filtering.

Client methods

list_events

List event resources.

list_events(*, language: LanguageLike = None)

Returns: List[Event]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_event

Fetch one event by UUID.

get_event(event_uuid: str, *, language: LanguageLike = None)

Returns: Event

Parameters

ParameterTypeDefaultRequiredDescription
event_uuidstr-yesUUID of the target event.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_active_events

Return currently active events.

get_active_events(*, language: LanguageLike = None, now: datetime | None = None)

Returns: List[Event]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.
nowdatetime | NoneNonenoOptional UTC timestamp used instead of the current time.

Notes

The helper compares event windows against now or the current UTC time.

Schema

Event

FieldTypeAPI alias
uuidstr-
display_namestr | NonedisplayName
short_display_namestr | NoneshortDisplayName
start_timedatetime | NonestartTime
end_timedatetime | NoneendTime
asset_pathstr | NoneassetPath

Notes

  • get_active_events() is a wrapper helper layered on top of list_events().
Reference

Gamemodes

Gamemode metadata and nested game rule overrides.

Gamemodes maps to the upstream /gamemodes resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/gamemodes

Gamemode metadata and nested game rule overrides.

Client methods

list_gamemodes

List gamemode resources.

list_gamemodes(*, language: LanguageLike = None)

Returns: List[Gamemode]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_gamemode

Fetch one gamemode by UUID.

get_gamemode(gamemode_uuid: str, *, language: LanguageLike = None)

Returns: Gamemode

Parameters

ParameterTypeDefaultRequiredDescription
gamemode_uuidstr-yesUUID of the target gamemode.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Gamemode

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
descriptionstr | None-
durationstr | None-
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath
team_roleslist[str] | NoneteamRoles
game_feature_overrideslist[GameFeatureOverride] | NonegameFeatureOverrides
game_rule_bool_overrideslist[GameRuleBoolOverride] | NonegameRuleBoolOverrides
allows_match_timeoutsbool | NoneallowsMatchTimeouts
allows_custom_game_replaysbool | NoneallowsCustomGameReplays
is_minimap_hiddenbool | NoneisMinimapHidden
is_team_voice_allowedbool | NoneisTeamVoiceAllowed
orb_countint | NoneorbCount
rounds_per_halfint | NoneroundsPerHalf
economy_typestr | NoneeconomyType
list_view_icon_tallAssetUrllistViewIconTall

GameFeatureOverride

FieldTypeAPI alias
feature_namestrfeatureName
statebool-

GameRuleBoolOverride

FieldTypeAPI alias
rule_namestrruleName
statebool-

Notes

  • No extra wrapper notes for this resource.
Reference

Gear

Gear metadata, nested shop data, and descriptive detail rows.

Gear maps to the upstream /gear resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/gear

Gear metadata, nested shop data, and descriptive detail rows.

Client methods

list_gear

List gear resources.

list_gear(*, language: LanguageLike = None)

Returns: List[Gear]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_gear

Fetch one gear item by UUID.

get_gear(gear_uuid: str, *, language: LanguageLike = None)

Returns: Gear

Parameters

ParameterTypeDefaultRequiredDescription
gear_uuidstr-yesUUID of the target gear item.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Gear

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
descriptionstr | None-
descriptionslist[str] | None-
detailslist[GearDetail] | None-
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath
shop_dataShopData | NoneshopData

GearDetail

FieldTypeAPI alias
namestr-
valuestr | None-

ShopData

FieldTypeAPI alias
costint | None-
categorystr | None-
shop_order_priorityint | NoneshopOrderPriority
category_textstr | NonecategoryText
grid_positionShopGridPosition | NonegridPosition
can_be_trashedbool | NonecanBeTrashed
imageAssetUrl-
new_imageAssetUrlnewImage
new_image_2AssetUrlnewImage2
asset_pathstr | NoneassetPath

ShopGridPosition

FieldTypeAPI alias
rowint | None-
columnint | None-

Notes

  • No extra wrapper notes for this resource.
Reference

Level Borders

Level border metadata and progression display fields.

Level Borders maps to the upstream /levelborders resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/levelborders

Level border metadata and progression display fields.

Client methods

list_level_borders

List level border resources.

list_level_borders(*, language: LanguageLike = None)

Returns: List[LevelBorder]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_level_border

Fetch one level border by UUID.

get_level_border(level_border_uuid: str, *, language: LanguageLike = None)

Returns: LevelBorder

Parameters

ParameterTypeDefaultRequiredDescription
level_border_uuidstr-yesUUID of the target level border.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

LevelBorder

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
starting_levelintstartingLevel
level_numberintlevelNumber
level_number_appearancestr | NonelevelNumberAppearance
small_player_card_appearancestr | NonesmallPlayerCardAppearance
asset_pathstr | NoneassetPath

Notes

  • No extra wrapper notes for this resource.
Reference

Maps

Map metadata, coordinate helpers, and nested callout positions.

Maps maps to the upstream /maps resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/maps

Map metadata, coordinate helpers, and nested callout positions.

Client methods

list_maps

List map resources.

list_maps(*, language: LanguageLike = None)

Returns: List[MapInfo]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_map

Fetch one map by UUID.

get_map(map_uuid: str, *, language: LanguageLike = None)

Returns: MapInfo

Parameters

ParameterTypeDefaultRequiredDescription
map_uuidstr-yesUUID of the target map.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

find_map

Find a map by display name.

find_map(name: str, *, language: LanguageLike = None)

Returns: MapInfo | None

Parameters

ParameterTypeDefaultRequiredDescription
namestr-yesDisplay name string used for wrapper-side matching.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Notes

The helper matches exact case-insensitive names before substring matches.

Schema

MapInfo

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
narrative_descriptionstr | NonenarrativeDescription
tactical_descriptionstr | NonetacticalDescription
coordinatesstr | None-
display_iconAssetUrldisplayIcon
list_view_iconAssetUrllistViewIcon
list_view_icon_tallAssetUrllistViewIconTall
splashAssetUrl-
stylized_background_imageAssetUrlstylizedBackgroundImage
premier_background_imageAssetUrlpremierBackgroundImage
asset_pathstr | NoneassetPath
map_urlstr | NonemapUrl
x_multiplierNumericxMultiplier
y_multiplierNumericyMultiplier
x_scalar_to_addNumericxScalarToAdd
y_scalar_to_addNumericyScalarToAdd
calloutsLazy[list[Callout] | None] | None-

Callout

FieldTypeAPI alias
region_namestrregionName
super_regionstr | NonesuperRegion
super_region_namestr | NonesuperRegionName
locationPosition3D-
scale_3dPosition3D | Nonescale3D
rotationRotation3D | None-

Position3D

FieldTypeAPI alias
xfloat | int-
yfloat | int-
zfloat | int-

Rotation3D

FieldTypeAPI alias
pitchfloat | int-
yawfloat | int-
rollfloat | int-

Notes

  • Map image fields are wrapped as CachedMediaAsset values when present.
Reference

Missions

Mission metadata and nested objective progress rows.

Missions maps to the upstream /missions resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/missions

Mission metadata and nested objective progress rows.

Client methods

list_missions

List mission resources.

list_missions()

Returns: List[Mission]

Parameters

This method does not take caller-supplied parameters.

Notes

The client applies a 30 minute expiry override.

get_mission

Fetch one mission by UUID.

get_mission(mission_uuid: str)

Returns: Mission

Parameters

ParameterTypeDefaultRequiredDescription
mission_uuidstr-yesUUID of the target mission.

Notes

The client applies a 30 minute expiry override.

Schema

Mission

FieldTypeAPI alias
uuidstr-
display_namestr | NonedisplayName
titlestr | None-
typeMissionType | str | None-
xp_grantint | NonexpGrant
progress_to_completeint | NoneprogressToComplete
activation_datedatetime | NoneactivationDate
expiration_datedatetime | NoneexpirationDate
tagslist[str] | None-
objectiveslist[MissionObjectiveProgress] | None-
asset_pathstr | NoneassetPath

MissionObjectiveProgress

FieldTypeAPI alias
objective_uuidstrobjectiveUuid
valueint-

Notes

  • This resource does not expose language in the current client implementation.
Reference

Objectives

Objective metadata used by mission payloads.

Objectives maps to the upstream /objectives resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/objectives

Objective metadata used by mission payloads.

Client methods

list_objectives

List objective resources.

list_objectives()

Returns: List[Objective]

Parameters

This method does not take caller-supplied parameters.

Notes

The client applies a 30 minute expiry override.

get_objective

Fetch one objective by UUID.

get_objective(objective_uuid: str)

Returns: Objective

Parameters

ParameterTypeDefaultRequiredDescription
objective_uuidstr-yesUUID of the target objective.

Notes

The client applies a 30 minute expiry override.

Schema

Objective

FieldTypeAPI alias
uuidstr-
directivestr | None-
asset_pathstr | NoneassetPath

Notes

  • This resource does not expose language in the current client implementation.
Reference

Player Cards

Player card metadata and the associated art variants.

Player Cards maps to the upstream /playercards resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/playercards

Player card metadata and the associated art variants.

Client methods

list_player_cards

List player card resources.

list_player_cards(*, language: LanguageLike = None)

Returns: List[PlayerCard]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_player_card

Fetch one player card by UUID.

get_player_card(card_uuid: str, *, language: LanguageLike = None)

Returns: PlayerCard

Parameters

ParameterTypeDefaultRequiredDescription
card_uuidstr-yesUUID of the target player card.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

PlayerCard

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
is_hidden_if_not_ownedbool | NoneisHiddenIfNotOwned
theme_uuidstr | NonethemeUuid
display_iconAssetUrldisplayIcon
small_artAssetUrlsmallArt
wide_artAssetUrlwideArt
large_artAssetUrllargeArt
asset_pathstr | NoneassetPath

Notes

  • Art fields such as small_art, wide_art, and large_art are wrapped as CachedMediaAsset values.
Reference

Player Titles

Player title metadata and title text fields.

Player Titles maps to the upstream /playertitles resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/playertitles

Player title metadata and title text fields.

Client methods

list_player_titles

List player title resources.

list_player_titles(*, language: LanguageLike = None)

Returns: List[PlayerTitle]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_player_title

Fetch one player title by UUID.

get_player_title(title_uuid: str, *, language: LanguageLike = None)

Returns: PlayerTitle

Parameters

ParameterTypeDefaultRequiredDescription
title_uuidstr-yesUUID of the target player title.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

PlayerTitle

FieldTypeAPI alias
uuidstr-
display_namestr | NonedisplayName
title_textstr | NonetitleText
is_hidden_if_not_ownedbool | NoneisHiddenIfNotOwned
asset_pathstr | NoneassetPath

Notes

  • No extra wrapper notes for this resource.
Reference

Seasons

Season metadata plus the helper for selecting the active season.

Seasons maps to the upstream /seasons resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/seasons

Season metadata plus the helper for selecting the active season.

Client methods

list_seasons

List season resources.

list_seasons(*, language: LanguageLike = None)

Returns: List[Season]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_season

Fetch one season by UUID.

get_season(season_uuid: str, *, language: LanguageLike = None)

Returns: Season

Parameters

ParameterTypeDefaultRequiredDescription
season_uuidstr-yesUUID of the target season.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_current_season

Return the active season.

get_current_season(*, language: LanguageLike = None, now: datetime | None = None)

Returns: Season | None

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.
nowdatetime | NoneNonenoOptional UTC timestamp used instead of the current time.

Notes

The helper compares season windows against now or the current UTC time and returns None when nothing is active.

Schema

Season

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
titlestr | None-
typestr | None-
parent_uuidstr | NoneparentUuid
start_timedatetime | NonestartTime
end_timedatetime | NoneendTime
asset_pathstr | NoneassetPath

Notes

  • get_current_season() is a wrapper helper layered on top of list_seasons().
Reference

Sprays

Spray metadata, art assets, and nested spray levels.

Sprays maps to the upstream /sprays resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/sprays

Spray metadata, art assets, and nested spray levels.

Client methods

list_sprays

List spray resources.

list_sprays(*, language: LanguageLike = None)

Returns: List[Spray]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_spray

Fetch one spray by UUID.

get_spray(spray_uuid: str, *, language: LanguageLike = None)

Returns: Spray

Parameters

ParameterTypeDefaultRequiredDescription
spray_uuidstr-yesUUID of the target spray.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Spray

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
categorystr | None-
theme_uuidstr | NonethemeUuid
display_iconAssetUrldisplayIcon
full_iconAssetUrlfullIcon
full_transparent_iconAssetUrlfullTransparentIcon
animation_gifAssetUrlanimationGif
animation_pngAssetUrlanimationPng
hide_if_not_ownedbool | NonehideIfNotOwned
is_null_spraybool | NoneisNullSpray
asset_pathstr | NoneassetPath
levelsLazy[list[SprayLevel]]-

SprayLevel

FieldTypeAPI alias
uuidstr-
spray_levelint | NonesprayLevel
display_namestrdisplayName
display_iconAssetUrldisplayIcon
asset_pathstr | NoneassetPath

Notes

  • Animation and icon fields are wrapped as CachedMediaAsset values when present.
Reference

Themes

Theme metadata and store artwork fields.

Themes maps to the upstream /themes resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/themes

Theme metadata and store artwork fields.

Client methods

list_themes

List theme resources.

list_themes(*, language: LanguageLike = None)

Returns: List[Theme]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_theme

Fetch one theme by UUID.

get_theme(theme_uuid: str, *, language: LanguageLike = None)

Returns: Theme

Parameters

ParameterTypeDefaultRequiredDescription
theme_uuidstr-yesUUID of the target theme.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Schema

Theme

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
display_iconAssetUrldisplayIcon
store_featured_imageAssetUrlstoreFeaturedImage
asset_pathstr | NoneassetPath

Notes

  • No extra wrapper notes for this resource.
Reference

Weapons

Weapon metadata, nested stats, shop data, skins, chromas, and damage ranges.

Weapons maps to the upstream /weapons resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/weapons

Weapon metadata, nested stats, shop data, skins, chromas, and damage ranges.

Client methods

list_weapons

List weapon resources.

list_weapons(*, language: LanguageLike = None)

Returns: List[Weapon]

Parameters

ParameterTypeDefaultRequiredDescription
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

get_weapon

Fetch one weapon by UUID.

get_weapon(weapon_uuid: str, *, language: LanguageLike = None)

Returns: Weapon

Parameters

ParameterTypeDefaultRequiredDescription
weapon_uuidstr-yesUUID of the target weapon.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

find_weapon

Find a weapon by display name.

find_weapon(name: str, *, language: LanguageLike = None)

Returns: Weapon | None

Parameters

ParameterTypeDefaultRequiredDescription
namestr-yesDisplay name string used for wrapper-side matching.
languageLanguageLikeNonenoLocalization code for endpoints that expose translated content.

Notes

The helper matches exact case-insensitive names before substring matches.

Schema

Weapon

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
categoryWeaponCategory | str | None-
default_skin_uuidstr | NonedefaultSkinUuid
display_iconAssetUrldisplayIcon
kill_stream_iconAssetUrlkillStreamIcon
asset_pathstr | NoneassetPath
weapon_statsWeaponStats | NoneweaponStats
shop_dataShopData | NoneshopData
skinsLazy[list[WeaponSkin]]-

WeaponStats

FieldTypeAPI alias
fire_ratefloat | int | NonefireRate
magazine_sizeint | NonemagazineSize
run_speed_multiplierfloat | int | NonerunSpeedMultiplier
equip_time_secondsfloat | int | NoneequipTimeSeconds
reload_time_secondsfloat | int | NonereloadTimeSeconds
first_bullet_accuracyfloat | int | NonefirstBulletAccuracy
shotgun_pellet_countint | NoneshotgunPelletCount
wall_penetrationWallPenetration | str | NonewallPenetration
featureWeaponStatsFeature | str | None-
fire_modestr | NonefireMode
alt_fire_typeAltFireType | str | NonealtFireType
ads_statsAdsStats | NoneadsStats
alt_shotgun_statsAltShotgunStats | NonealtShotgunStats
air_burst_statsAirBurstStats | NoneairBurstStats
damage_rangeslist[DamageRange] | NonedamageRanges

WeaponSkin

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
theme_uuidstr | NonethemeUuid
content_tier_uuidstr | NonecontentTierUuid
display_iconAssetUrldisplayIcon
wallpaperAssetUrl-
asset_pathstr | NoneassetPath
chromaslist[WeaponChroma]-
levelslist[WeaponSkinLevel]-

WeaponSkinLevel

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
level_itemstr | NonelevelItem
display_iconAssetUrldisplayIcon
streamed_videoAssetUrlstreamedVideo
asset_pathstr | NoneassetPath

WeaponChroma

FieldTypeAPI alias
uuidstr-
display_namestrdisplayName
display_iconAssetUrldisplayIcon
full_renderAssetUrlfullRender
swatchAssetUrl-
streamed_videoAssetUrlstreamedVideo
asset_pathstr | NoneassetPath

DamageRange

FieldTypeAPI alias
range_start_metersfloat | intrangeStartMeters
range_end_metersfloat | intrangeEndMeters
head_damagefloat | intheadDamage
body_damagefloat | intbodyDamage
leg_damagefloat | intlegDamage

AdsStats

FieldTypeAPI alias
zoom_multiplierfloat | int | NonezoomMultiplier
fire_ratefloat | int | NonefireRate
run_speed_multiplierfloat | int | NonerunSpeedMultiplier
burst_countint | NoneburstCount
first_bullet_accuracyfloat | int | NonefirstBulletAccuracy

AltShotgunStats

FieldTypeAPI alias
shotgun_pellet_countint | NoneshotgunPelletCount
burst_ratefloat | int | NoneburstRate

AirBurstStats

FieldTypeAPI alias
shotgun_pellet_countint | NoneshotgunPelletCount
burst_distancefloat | int | NoneburstDistance

ShopData

FieldTypeAPI alias
costint | None-
categorystr | None-
shop_order_priorityint | NoneshopOrderPriority
category_textstr | NonecategoryText
grid_positionShopGridPosition | NonegridPosition
can_be_trashedbool | NonecanBeTrashed
imageAssetUrl-
new_imageAssetUrlnewImage
new_image_2AssetUrlnewImage2
asset_pathstr | NoneassetPath

ShopGridPosition

FieldTypeAPI alias
rowint | None-
columnint | None-

Notes

  • Weapon and skin image or video fields are wrapped as CachedMediaAsset values when present.
Reference

Version

Current Valorant client and manifest version metadata.

Version maps to the upstream /version resource family and groups the wrapper methods with the typed models you inspect after hydration.

Endpoint family

https://valorant-api.com/v1/version

Current Valorant client and manifest version metadata.

Client methods

get_version

Fetch the current version metadata.

get_version()

Returns: ValorantVersion

Parameters

This method does not take caller-supplied parameters.

Notes

The client applies a 1 hour expiry override.

Schema

ValorantVersion

FieldTypeAPI alias
manifest_idstr | NonemanifestId
branchstr | None-
versionstr | None-
build_versionstr | NonebuildVersion
engine_versionstr | NoneengineVersion
riot_client_versionstr | NoneriotClientVersion
riot_client_buildstr | NoneriotClientBuild
build_datedatetime | NonebuildDate

Notes

  • This resource does not expose language in the current client implementation.
Appendix

Enums

Exported enum values used across the resource reference.

The wrapper exports a small set of enums that appear across multiple resource pages.

Language

  • EN_US = en-US
  • ES_ES = es-ES
  • FR_FR = fr-FR
  • DE_DE = de-DE
  • IT_IT = it-IT
  • JA_JP = ja-JP
  • KO_KR = ko-KR
  • PL_PL = pl-PL
  • PT_BR = pt-BR
  • RU_RU = ru-RU
  • TH_TH = th-TH
  • TR_TR = tr-TR
  • VI_VN = vi-VN
  • ZH_CN = zh-CN
  • ZH_TW = zh-TW
  • ID_ID = id-ID
  • AR_AE = ar-AE

WeaponCategory

  • SIDEARM = EEquippableCategory::Sidearm
  • SMG = EEquippableCategory::SMG
  • RIFLE = EEquippableCategory::Rifle
  • SNIPER = EEquippableCategory::Sniper
  • SHOTGUN = EEquippableCategory::Shotgun
  • HEAVY = EEquippableCategory::Heavy
  • MELEE = EEquippableCategory::Melee

WallPenetration

  • LOW = EWallPenetrationDisplayType::Low
  • MEDIUM = EWallPenetrationDisplayType::Medium
  • HIGH = EWallPenetrationDisplayType::High

AltFireType

  • ADS = EWeaponAltFireDisplayType::ADS
  • AIR_BURST = EWeaponAltFireDisplayType::AirBurst
  • SHOTGUN = EWeaponAltFireDisplayType::Shotgun

WeaponStatsFeature

  • ROF_INCREASE = EWeaponStatsFeature::ROFIncrease
  • DOUBLE_ZOOM = EWeaponStatsFeature::DoubleZoom
  • SILENCED = EWeaponStatsFeature::Silenced

MissionType

  • BTE = EAresMissionType::BTE
  • DAILY = EAresMissionType::Daily
  • WEEKLY = EAresMissionType::Weekly
  • NPE = EAresMissionType::NPE
Appendix

CachedMediaAsset

String-like media URL helper with optional disk fetching.

CachedMediaAsset is the wrapper's string-like media helper. Resource pages use it for fields such as Agent.display_icon, PlayerCard.large_art, or WeaponSkin.streamed_video.

Helper surface

CachedMediaAsset.url

Returns the original remote URL as a string.

CachedMediaAsset.filepath

Returns the cached local Path when the asset has already been downloaded or relocated, otherwise None.

CachedMediaAsset.cache_to_disk()

Downloads or relocates the asset into the client's download_directory and returns the same CachedMediaAsset.

CachedMediaAsset.fetch_from_disk()

Ensures the file exists locally and returns its Path.

Behavior notes

  • The helper subclasses str, so you can pass it where a URL string is expected.
  • The cache key for local media files is derived from the media URL.
  • Repeated downloads reuse cached files instead of re-fetching when possible.
  • Missing client attachment or missing download_directory raises ValueError.

See Media assets and disk downloads for the conceptual guide.