fkrzski / php-steam-api-sdk
Framework-agnostic PHP SDK for the Steam Web API, built on Saloon.
Fund package maintenance!
0.2.0
2026-06-08 05:59 UTC
Requires
- php: ^8.5.0
- saloonphp/rate-limit-plugin: ^2.0
- saloonphp/saloon: ^4.0
Requires (Dev)
- laravel/pao: ^1.1
- laravel/pint: ^1.29.1
- pestphp/pest: ^4.0.0
- pestphp/pest-plugin-type-coverage: ^4.0.0
- phpstan/phpstan: ^2.1.54
- rector/rector: ^2.4.2
- symfony/var-dumper: ^8.0.8
This package is auto-updated.
Last update: 2026-07-22 20:25:45 UTC
README
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
composer require fkrzski/php-steam-api-sdk
Quickstart
use Fkrzski\SteamApiSdk\Http\Requests\ISteamUser\GetPlayerSummariesRequest; use Fkrzski\SteamApiSdk\SteamConfig; use Fkrzski\SteamApiSdk\SteamConnector; use Fkrzski\SteamApiSdk\ValueObjects\SteamId; $connector = new SteamConnector(new SteamConfig(apiKey: 'YOUR_STEAM_API_KEY')); $summaries = $connector ->send(new GetPlayerSummariesRequest([SteamId::fromSteamId64('76561198000000000')])) ->dto(); echo $summaries[0]->personaName;
Documentation
Full documentation — every request, the SteamId value object, configuration, DTOs, and the exception hierarchy — lives at docs.fkrzski.dev/php-steam-api-sdk.
License
MIT. See LICENSE.md.
