https://github.com/bytedev/bytedev.steam
SDK for communicating with Steam Web APIs.
https://github.com/bytedev/bytedev.steam
Last synced: 1 day ago
JSON representation
SDK for communicating with Steam Web APIs.
- Host: GitHub
- URL: https://github.com/bytedev/bytedev.steam
- Owner: ByteDev
- License: mit
- Created: 2025-07-23T07:18:18.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2025-08-02T07:48:03.000Z (6 months ago)
- Last Synced: 2025-09-05T16:16:41.890Z (5 months ago)
- Language: C#
- Size: 51.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ci.appveyor.com/project/bytedev/ByteDev-Steam/branch/master)
[](https://www.nuget.org/packages/ByteDev.Steam)
[](https://github.com/ByteDev/ByteDev.Steam/blob/master/LICENSE)
# ByteDev.Steam
SDK for communicating with the Steam APIs.
## Installation
ByteDev.Steam is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:
`Install-Package ByteDev.Steam`
Further details can be found on the [nuget page](https://www.nuget.org/packages/ByteDev.Steam/).
## Release Notes
Releases follow semantic versioning.
Full details of the release notes can be viewed on [GitHub](https://github.com/ByteDev/ByteDev.Steam/blob/master/docs/RELEASE-NOTES.md).
## Usage
### API Key
A number of the API endpoints require that you have an API key.
To get a key goto: https://steamcommunity.com/dev/apikey.
You will require an existing account with Steam first to be able to then get a API key.
### `SteamApiClient`
`SteamApiClient` provides client functionality to communicate with the Steam APIs.
Create a `SteamApiClient` and call the required method:
```csharp
// Create an instance of HttpClient however you see fit
private static readonly HttpClient _httpClient = new ();
// ...
var config = new SteamApiClientConfig
{
ApiKey = "YourApiKey",
CacheAllAppsResponse = true
};
ISteamApiClient client = new SteamApiClient(_httpClient, config);
var response = await client.GetAllAppsAsync();
```
### `SteamApiClient` - Methods
Steam Web API (api.steampowered.com):
- `GetUserAsync` - Get user details for a specific user by their Steam ID.
- `GetUsersAsync` - Get user details for a number of users.
- `GetUserFriendsAsync` - Get friend details for a particular user.
- `GetPlayerBansAsync` - Get ban info for a particular user.
- `GetAllAppsAsync` - Get details (`AppId` and `Name`) of all apps (games) in the Steam library.
- `GetAppNewsAsync` - Get news for a particular app.
- `GetRecentlyPlayedGamesAsync` - Get recently played games for a particular user.
- `GetOwnedGamesAsync` - Get games owned by a particular user.
Steam Store API (store.steampowered.com):
- `GetAppDetailsAsync` - Get details for a particular app (game), including price overview.
- `GetAppReviewsAsync` - Get reviews for a particular app (game).
- `GetFeaturedAppsAsync` - Get featured apps (games) on the Steam Store.
- `SearchStoreAsync` - Search the Steam Store for items (apps etc.) matching a search term.
- `GetPackageDetailsAsync` - Get details for a particular package (collection of apps, DLC, etc.).
---
## Terms
- Steam ID (`string`) = unique ID to a Steam account or user.
- App ID (`int`) = unique ID for an application/game on Steam. For example `10` for Counter Strike.
- Package ID = collection of one or more games, DLC, or other content that can be purchased together as a single unit
---
## Further Info
- [Steamworks Documentation](https://partner.steamgames.com/doc/webapi/isteamapps)
- [Better Steam Web API Documentation](https://steamwebapi.azurewebsites.net/)
- [Value - Steam Web API](https://developer.valvesoftware.com/wiki/Steam_Web_API)
- [The Ultimate Steam Web API Guide](https://zuplo.com/blog/2024/10/04/what-is-the-steam-web-api)
- [Steam API Endpoints (Zudoku)](https://zudoku.dev/demo/~endpoints/~endpoints?api-url=https%3A%2F%2Fraw.githubusercontent.com%2Fzuplo%2FSteam-OpenAPI%2Frefs%2Fheads%2Fmain%2Fsteam-public.json#get-app-list-operation-of-i-steam-apps)
- [SO: Get Price Information](https://stackoverflow.com/questions/13784059/how-to-get-the-price-of-an-app-in-steam-webapi)
`ISteamStoreService` is now depreciated by Steam.