Модели
Все модели — подклассы BaseModel из Pydantic v2. Импорт из steam_fetcher или steam_fetcher.models:
from steam_fetcher import GameDetails, UserProfile, PlayerCount
# или
from steam_fetcher.models import GameDetails, UserProfile, PlayerCount
Модели игр
GameDetails
Полная информация об игре из Steam Store API. Возвращается методом get_game().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
name |
str |
Название игры |
type |
AppType |
Тип приложения (game, dlc, demo и т.д.) |
is_free |
bool |
Бесплатная ли игра |
short_description |
str \| None |
Краткое описание |
about_the_game |
str \| None |
Раздел «Об игре» (HTML) |
detailed_description |
str \| None |
Полное описание (HTML) |
supported_languages |
list[str] |
Поддерживаемые языки |
header_image |
HttpUrl \| None |
URL обложки |
website |
HttpUrl \| None |
URL официального сайта |
developers |
list[str] |
Разработчики |
publishers |
list[str] |
Издатели |
price |
Price \| None |
Цена (None если бесплатная) |
platforms |
Platforms \| None |
Поддерживаемые платформы |
metacritic |
Metacritic \| None |
Оценка Metacritic |
categories |
list[Category] |
Категории Steam |
genres |
list[Genre] |
Жанры |
screenshots |
list[Screenshot] |
URL скриншотов |
movies |
list[Movie] |
URL трейлеров |
release_date |
ReleaseDate \| None |
Дата выхода |
dlc_count |
int |
Количество DLC |
achievements |
int |
Общее количество достижений |
recommendations |
int |
Количество рекомендаций |
required_age |
int |
Минимальный возраст |
AppType
StrEnum типов приложений Steam:
from steam_fetcher import AppType
AppType.GAME # "game"
AppType.DLC # "dlc"
AppType.DEMO # "demo"
AppType.MOD # "mod"
AppType.VIDEO # "video"
AppType.SERIES # "series"
AppType.EPISODE # "episode"
AppType.BUNDLE # "bundle"
AppType.ADVERTISING # "advertising"
Price
| Поле |
Тип |
Описание |
currency |
str |
Код валюты (например, "USD") |
initial |
float |
Начальная цена в центах |
final |
float |
Цена после скидки (центы) |
discount_percent |
int |
Процент скидки (0–100) |
initial_formatted |
str |
Форматированная начальная цена |
final_formatted |
str |
Форматированная конечная цена |
| Поле |
Тип |
По умолчанию |
Описание |
windows |
bool |
False |
Поддержка Windows |
mac |
bool |
False |
Поддержка macOS |
linux |
bool |
False |
Поддержка Linux |
| Поле |
Тип |
Описание |
score |
int |
Оценка Metacritic (0–100) |
url |
HttpUrl |
URL рецензии на Metacritic |
Category / Genre
| Поле |
Тип |
Описание |
id |
int |
ID категории/жанра |
description |
str |
Название категории/жанра |
Screenshot
| Поле |
Тип |
Описание |
id |
int |
ID скриншота |
path_thumbnail |
HttpUrl |
URL миниатюры |
path_full |
HttpUrl |
URL полного разрешения |
Movie
| Поле |
Тип |
Описание |
id |
int |
ID трейлера |
name |
str |
Название трейлера |
thumbnail |
HttpUrl |
URL миниатюры |
webm_max |
HttpUrl \| None |
URL WebM макс. качества |
mp4_max |
HttpUrl \| None |
URL MP4 макс. качества |
ReleaseDate
| Поле |
Тип |
Описание |
coming_soon |
bool |
Ещё не вышла |
date |
str \| None |
Строка даты выхода (например, "Sep 27, 2023") |
Модели игроков
PlayerCount
Возвращается методом get_player_count().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
player_count |
int |
Текущее количество онлайн-игроков |
ReviewSummary
Возвращается методом get_reviews().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
total |
int |
Всего отзывов |
positive |
int |
Положительных |
negative |
int |
Отрицательных |
score |
int |
Оценка (0–10) |
score_description |
str |
Например, "Very Positive" |
review_type |
str |
Фильтр типа отзывов |
purchase_type |
str |
Фильтр типа покупки |
cursor |
str |
Курсор для пагинации |
reviews |
list[Review] |
Список отзывов |
Review
Отдельный отзыв пользователя.
| Поле |
Тип |
Описание |
recommendation_id |
str |
ID рекомендации |
author_steam_id |
str |
Steam ID автора |
language |
str |
Язык отзыва |
review |
str |
Текст отзыва |
timestamp_created |
int |
Время создания (Unix timestamp) |
voted_up |
bool |
Положительный ли отзыв |
votes_up |
int |
Количество голосов «полезно» |
votes_funny |
int |
Количество голосов «смешно» |
weighted_vote_score |
float |
Взвешенная оценка полезности |
comment_count |
int |
Количество комментариев |
steam_purchase |
bool |
Куплено ли через Steam |
received_for_free |
bool |
Получено ли бесплатно |
GlobalAchievement
Глобальный процент получения одного достижения.
| Поле |
Тип |
Описание |
name |
str |
API-имя достижения |
percent |
float |
Процент игроков, получивших достижение |
GlobalAchievements
Возвращается методом get_global_achievement_percentages().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
achievements |
list[GlobalAchievement] |
Список достижений с процентами |
AchievementSchema
Определение достижения из схемы игры.
| Поле |
Тип |
Описание |
name |
str |
API-имя достижения |
display_name |
str |
Отображаемое название |
description |
str \| None |
Описание достижения |
icon |
str \| None |
URL иконки (получено) |
icon_gray |
str \| None |
URL иконки (не получено) |
StatSchema
Определение статистики из схемы игры.
| Поле |
Тип |
Описание |
name |
str |
API-имя статистики |
display_name |
str |
Отображаемое название |
GameSchema
Возвращается методом get_game_schema().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
game_name |
str |
Название игры |
achievements |
list[AchievementSchema] |
Определения достижений |
stats |
list[StatSchema] |
Определения статистик |
StatEntry
Значение отдельной статистики пользователя.
| Поле |
Тип |
Описание |
name |
str |
API-имя статистики |
value |
int \| float |
Значение |
UserStats
Возвращается методом get_user_stats().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
app_id |
int |
ID приложения в Steam |
game_name |
str |
Название игры |
stats |
list[StatEntry] |
Список статистик пользователя |
SteamSpyDetails
Возвращается методом get_steamspy_details().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
name |
str |
Название игры |
developer |
str |
Разработчик |
publisher |
str |
Издатель |
score_rank |
str |
Ранг оценки |
positive |
int |
Положительных отзывов |
negative |
int |
Отрицательных отзывов |
userscore |
int |
Пользовательская оценка |
owners |
str |
Диапазон владельцев (напр. "50,000,000 .. 100,000,000") |
average_forever |
int |
Среднее время игры за всё время (минуты) |
average_2weeks |
int |
Среднее время игры за 2 недели (минуты) |
median_forever |
int |
Медианное время игры за всё время (минуты) |
median_2weeks |
int |
Медианное время игры за 2 недели (минуты) |
peak_ccu |
int |
Пиковое количество одновременных игроков |
price |
str |
Цена в центах |
discount |
int |
Текущая скидка (0–100) |
tags |
dict[str, int] |
Теги с количеством голосов |
AppListEntry
Запись в списке приложений Steam (IStoreService).
| Поле |
Тип |
Описание |
appid |
int |
ID приложения в Steam |
name |
str |
Название приложения |
last_modified |
int |
Время последнего изменения (Unix timestamp) |
price_change_number |
int |
Номер изменения цены |
AppList
Возвращается методом get_app_list().
| Поле |
Тип |
Описание |
apps |
list[AppListEntry] |
Список приложений |
have_more_results |
bool |
Есть ли ещё результаты |
last_appid |
int |
Последний app ID (для пагинации) |
Модели поиска
SearchResult
Возвращается методом search().
| Поле |
Тип |
Описание |
term |
str |
Поисковый запрос |
total |
int |
Количество результатов |
entries |
list[SearchEntry] |
Результаты поиска |
SearchEntry
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
name |
str |
Название игры |
icon |
str \| None |
URL миниатюры |
price |
str \| None |
Форматированная цена |
platforms |
Platforms \| None |
Поддерживаемые платформы |
Модели пользователей
UserProfile
Возвращается методом get_user_profile().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
username |
str |
Отображаемое имя |
real_name |
str \| None |
Настоящее имя (если публичное) |
avatar |
Avatar |
URL аватаров |
profile_url |
HttpUrl |
URL профиля в Steam Community |
country_code |
str \| None |
Код страны ISO 3166-1 alpha-2 |
state_code |
str \| None |
Код региона/штата |
time_created |
int \| None |
Дата создания аккаунта (Unix timestamp) |
last_logoff |
int \| None |
Последний выход (Unix timestamp) |
is_public |
bool |
Публичный ли профиль |
persona_state |
int \| None |
Текущий статус (0=Offline, 1=Online и т.д.) |
game_id |
str \| None |
ID текущей игры (если в игре) |
game_extra_info |
str \| None |
Название текущей игры (если в игре) |
Avatar
| Поле |
Тип |
Описание |
small |
HttpUrl |
Аватар 32x32 |
medium |
HttpUrl |
Аватар 64x64 |
full |
HttpUrl |
Аватар 184x184 |
UserLibrary
Возвращается методом get_user_library().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
game_count |
int |
Всего игр |
games |
list[LibraryGame] |
Игры в библиотеке |
LibraryGame
| Поле |
Тип |
По умолчанию |
Описание |
app_id |
int |
|
ID приложения в Steam |
name |
str \| None |
None |
Название игры |
playtime_forever |
int |
0 |
Общее время игры (минуты) |
playtime_2weeks |
int \| None |
None |
Время игры за 2 недели (минуты) |
img_icon_url |
str \| None |
None |
Хеш иконки игры |
icon_url |
str \| None |
computed |
Полный URL иконки (вычисляется из app_id и img_icon_url) |
last_played |
int \| None |
None |
Последняя игровая сессия (Unix timestamp) |
GameAchievements
Возвращается методом get_user_achievements().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
game_name |
str |
Название игры |
achievements |
list[Achievement] |
Список достижений |
Achievement
| Поле |
Тип |
Описание |
api_name |
str |
API-имя достижения |
achieved |
bool |
Получено ли |
unlock_time |
int \| None |
Время получения (Unix timestamp) |
name |
str \| None |
Отображаемое название |
description |
str \| None |
Описание достижения |
Friend
Запись о друге пользователя.
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID друга |
relationship |
str |
Тип отношений (например, "friend") |
friend_since |
int |
Дата добавления в друзья (Unix timestamp) |
FriendList
Возвращается методом get_user_friends().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID владельца |
friends |
list[Friend] |
Список друзей |
PlayerBan
Информация о банах пользователя. Возвращается методом get_user_bans().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
community_banned |
bool |
Бан в сообществе |
vac_banned |
bool |
Наличие VAC-бана |
number_of_vac_bans |
int |
Количество VAC-банов |
days_since_last_ban |
int |
Дней с последнего бана |
number_of_game_bans |
int |
Количество игровых банов |
economy_ban |
str |
Статус бана в торговле (например, "none") |
RecentGame
Недавно запускавшаяся игра.
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
name |
str |
Название игры |
playtime_2weeks |
int |
Время игры за 2 недели (минуты) |
playtime_forever |
int |
Общее время игры (минуты) |
img_icon_url |
str \| None |
URL иконки игры |
RecentlyPlayed
Возвращается методом get_recently_played().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
total_count |
int |
Общее количество недавних игр |
games |
list[RecentGame] |
Список недавних игр |
Badge
Отдельный значок пользователя.
| Поле |
Тип |
Описание |
badge_id |
int |
ID значка |
level |
int |
Уровень значка |
completion_time |
int |
Время получения (Unix timestamp) |
xp |
int |
Количество XP за значок |
scarcity |
int |
Количество владельцев значка |
UserBadges
Возвращается методом get_user_badges().
| Поле |
Тип |
Описание |
steam_id |
str |
64-битный Steam ID |
badges |
list[Badge] |
Список значков |
player_xp |
int |
Общий XP игрока |
player_level |
int |
Уровень Steam |
WishlistItem
Элемент списка желаемого. Возвращается методом get_wishlist().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
priority |
int |
Приоритет в списке желаемого |
date_added |
int |
Дата добавления (Unix timestamp) |
Модели новостей
NewsItem
Отдельная новость.
| Поле |
Тип |
Описание |
gid |
str |
Уникальный ID новости |
title |
str |
Заголовок |
url |
str |
URL новости |
author |
str |
Автор |
contents |
str |
Содержимое (HTML или BBCode) |
date |
int |
Дата публикации (Unix timestamp) |
feed_name |
str |
Название фида (например, "steam_community_announcements") |
AppNews
Возвращается методом get_news().
| Поле |
Тип |
Описание |
app_id |
int |
ID приложения в Steam |
items |
list[NewsItem] |
Список новостей |