Download the PHP package fkrzski/php-steam-api-sdk without Composer
On this page you can find all versions of the php package fkrzski/php-steam-api-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-steam-api-sdk
PHP Steam API SDK
Framework-agnostic PHP SDK for the Steam Web API, built on top of Saloon v4.
- Strong types (PHP 8.5, PHPStan max, 100% type coverage).
- Readonly DTOs with
DateTimeImmutableinstead of framework date objects. - Domain exception hierarchy rooted at
SteamApiException. - Daily 100 000-request rate limit baked in via
saloonphp/rate-limit-plugin. - Zero framework coupling — a Laravel bridge package ships separately.
Requirements
- PHP 8.5+
- Saloon 4+
Installation
Quickstart
Every Request::createDtoFromResponse() returns a readonly DTO — call ->dto() on the Saloon response to get it.
Value object: SteamId
SteamId is the only accepted identifier across the SDK. Build one from a verified 64-bit ID, or try to parse user input:
Available requests
Resolve a vanity URL
Player summaries (batch, ≤100 IDs)
Passing more than 100 IDs throws TooManySteamIdsException.
Owned games
User stats for a single game
Player achievements
Rate limiting
The Steam Web API allows 100 000 requests per API key per day. The connector enforces this through saloonphp/rate-limit-plugin and throws SteamRateLimitException once the budget is exhausted.
By default the limit is tracked in an in-memory MemoryStore, which only spans a single PHP process. For multi-process deployments (queue workers, FPM pools) inject a shared store:
Any implementation of Saloon\RateLimitPlugin\Contracts\RateLimitStore is accepted (Predis, PSR-16, file, Laravel cache, custom).
Exception hierarchy
Catch the root SteamApiException to handle every SDK failure uniformly.
Testing
The SDK uses Pest with Saloon's MockClient and recorded JSON fixtures in tests/Fixtures/Saloon/.
License
MIT. See LICENSE.md.