SteamWebApiLib
A .NET wrapper for the Steam API.
Install / Use
/learn @Vasar007/SteamWebApiLibREADME
SteamWebApiLib
SteamWepApiLib is a .NET wrapper for the Steam API. It provides a set of methods to retrieve various data from the Steam API. Library can interact with Steam Strorefront API and Steam Web API (each API provides a different set of data).
The Steam API is not officially available or documented. So, all data in this library was either collected by trial and error from unofficial API documentation, and is therefore provided as-is.
Installation
Install NuGet package.
Usage examples
using System;
using System.Threading.Tasks;
using SteamWebApiLib;
using SteamWebApiLib.Models.AppDetails;
using SteamWebApiLib.Models.BriefInfo;
using SteamWebApiLib.Models.Featured;
using SteamWebApiLib.Models.FeaturedCategories;
using SteamWebApiLib.Models.PackageDetails;
private static async Task Examples()
{
var steamApiClient = new SteamApiClient();
// Get full list of SteamApps.
SteamAppBriefInfoList steamAppList = await steamApiClient.GetAppListAsync();
Console.WriteLine($"Got {steamAppList.Apps.Length.ToString()} items.");
// Get details for SteamApp with ID 292030 (The Witcher 3: Wild Hunt).
SteamApp steamApp1 = await steamApiClient.GetSteamAppAsync(292030);
Console.WriteLine($"Got response for {steamApp1.Name}.");
// Get details for SteamApp with same ID for region US.
SteamApp steamApp2 = await steamApiClient.GetSteamAppAsync(292030, CountryCode.USA);
Console.WriteLine($"Got response for {steamApp2.Name}.");
// Get details for Package with ID 68179 (Don't Starve Together).
PackageInfo package1 = await steamApiClient.GetPackageInfoAsync(68179);
Console.WriteLine($"Got response for {package1.Name}.");
// Get details for Package with same ID for region JP.
PackageInfo package2 = await steamApiClient.GetPackageInfoAsync(68179, CountryCode.Japan);
Console.WriteLine($"Got response for {package2.Name}.");
// Get a list of featured games.
FeaturedApps featured1 = await steamApiClient.GetFeaturedAppsAsync();
Console.WriteLine($"Got {featured1.FeaturedWin.Length.ToString()} items for Windows.");
// Get a list of featured games for region DE.
FeaturedApps featured2 = await steamApiClient.GetFeaturedAppsAsync(CountryCode.Germany);
Console.WriteLine($"Got {featured2.FeaturedWin.Length.ToString()} items for Windows.");
// Get a list of featured games grouped by category.
FeaturedCategories featuredCategories1 = await steamApiClient.GetFeaturedCategoriesAsync();
Console.WriteLine($"Got {featuredCategories1.TopSellers.Items.Length.ToString()} top sellers items.");
// Get a list of featured games grouped by category for region US.
FeaturedCategories featuredCategories2 = await steamApiClient.GetFeaturedCategoriesAsync(CountryCode.USA);
Console.WriteLine($"Got {featuredCategories2.TopSellers.Items.Length.ToString()} top sellers items.");
}
Dependencies
Target .NET Standard 2.0 and version of C# is 7.1. Project uses further dependencies:
- Newtonsoft.Json v12.0.2;
- Polly v7.1.0.
You can install dependencies using NuGet package manager. Also all dependensies and this project have NuGet packages.
Additional info
As a basis for project were taken SteamStorefrontAPI and Narochno.Steam.
License information
This project is licensed under the terms of the Apache License 2.0.
Third party software and libraries used
Newtonsoft.Json
Copyright © 2007 James Newton-King
License: MIT
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
