PHPackages                             teemocell/steam-web-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. teemocell/steam-web-api

ActiveLibrary

teemocell/steam-web-api
=======================

A modern Steam Web API client for PHP and Laravel 10+

00

Since Jul 20Compare

[ Source](https://github.com/TeemoCell/SteamWebAPI)[ Packagist](https://packagist.org/packages/teemocell/steam-web-api)[ RSS](/packages/teemocell-steam-web-api/feed)WikiDiscussions Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Steam Web API
=============

[](#steam-web-api)

[![Unit Tests](https://github.com/TeemoCell/SteamWebAPI/actions/workflows/php.yml/badge.svg)](https://github.com/TeemoCell/SteamWebAPI/actions/workflows/php.yml)[![Latest Stable Version](https://camo.githubusercontent.com/db01f640c466f28959325f91cc4f8213ee60577f2e77ccf4b80c9dd8a5bc711d/68747470733a2f2f706f7365722e707567782e6f72672f7465656d6f63656c6c2f737465616d2d7765622d6170692f762f737461626c652e737667)](https://packagist.org/packages/teemocell/steam-web-api)[![Total Downloads](https://camo.githubusercontent.com/e22bda01641feeb0dfc3052e5529d75b7066a02e8f750d316a2d515fc475eb1b/68747470733a2f2f706f7365722e707567782e6f72672f7465656d6f63656c6c2f737465616d2d7765622d6170692f646f776e6c6f6164732e737667)](https://packagist.org/packages/teemocell/steam-web-api)[![License](https://camo.githubusercontent.com/0139e27adc0f0fa4d8a2209379d3a84f6202ddb0e6aef4cb29dc7986e7f05147/68747470733a2f2f706f7365722e707567782e6f72672f7465656d6f63656c6c2f737465616d2d7765622d6170692f6c6963656e73652e737667)](https://packagist.org/packages/teemocell/steam-web-api)

A modern PHP client for the Steam Web API with optional Laravel integration.

Requirements
------------

[](#requirements)

- PHP 8.2 or newer
- Laravel 12.61.1 or newer, or Laravel 13.12.0 or newer, when used inside Laravel
- A [Steam Web API key](https://steamcommunity.com/dev/apikey)

Installation
------------

[](#installation)

```
composer require teemocell/steam-web-api
```

Quick start
-----------

[](#quick-start)

```
use TeemoCell\SteamWebApi\Client;

$steam = new Client(apiKey: $_ENV['STEAM_API_KEY']);

$player = $steam
    ->user(76561197960287930)
    ->GetPlayerSummaries()[0];

echo $player->personaName;
```

The package uses the `TeemoCell\SteamWebApi` PHP namespace.

Laravel
-------

[](#laravel)

Add the API key to `.env`:

```
STEAM_API_KEY=your-key-here
```

The package registers `TeemoCell\SteamWebApi\Client` as a singleton through Laravel package discovery:

```
use TeemoCell\SteamWebApi\Client;

final class SteamProfileController
{
    public function __invoke(Client $steam, string $steamId)
    {
        return $steam->user($steamId)->GetPlayerSummaries();
    }
}
```

Publish the configuration only when it needs to be customized:

```
php artisan vendor:publish --provider="TeemoCell\SteamWebApi\SteamApiServiceProvider"
```

Supported services
------------------

[](#supported-services)

- `ISteamNews`
- `IPlayerService`
- `ISteamUser`
- `ISteamUserStats`
- `IStoreService`
- `IPublishedFileService`
- `ISteamWebAPIUtil`
- read-only `IGameServersService`
- publisher-key methods for `ISteamUser`, `ISteamNews` and `IInventoryService`
- experimental public Steam Community inventories

Legacy Store and Steam Community endpoints remain available for backwards compatibility.

Public Community inventories include assets, names, descriptions, images and market metadata. Steam does not officially document this Community endpoint, so the client is explicitly experimental:

```
$inventory = $steam->communityInventory()->GetInventory(
    steamId: $steamId,
    appId: 730,
    contextId: 2,
);
```

Publisher keys can use the official inventory service for their own apps:

```
$publisher = (new Client(apiKey: $publisherKey))->publisher();
$items = $publisher->GetInventory($appId, $steamId);
$definitions = $publisher->GetItemDefs($appId);
$prices = $publisher->GetPriceSheet($currency);
```

`GetPriceSheet()` returns Inventory Service store prices, not Community Market resale prices.

Documentation
-------------

[](#documentation)

Full installation, configuration, endpoint and migration documentation is available in the [GitHub Wiki](https://github.com/TeemoCell/SteamWebAPI/wiki):

- [Installation](https://github.com/TeemoCell/SteamWebAPI/wiki/Installation)
- [Configuration](https://github.com/TeemoCell/SteamWebAPI/wiki/Configuration)
- [Laravel integration](https://github.com/TeemoCell/SteamWebAPI/wiki/Laravel-Integration)
- [Client usage](https://github.com/TeemoCell/SteamWebAPI/wiki/Client-Usage)
- [Endpoint reference](https://github.com/TeemoCell/SteamWebAPI/wiki/Endpoints)
- [Community inventories](https://github.com/TeemoCell/SteamWebAPI/wiki/Endpoints-Community-Inventory)
- [Error handling](https://github.com/TeemoCell/SteamWebAPI/wiki/Error-Handling)
- [Migration guide](https://github.com/TeemoCell/SteamWebAPI/wiki/Migration-Guide)

Testing
-------

[](#testing)

Run the deterministic offline suite:

```
php vendor/bin/phpunit --filter "AppListTest|ClientConstructionTest|CommunityInventoryTest|CurrentApiEndpointsTest|UserStatsResponseTest|LaravelClientBindingTest"
```

The complete suite contains live Steam API tests and requires `STEAM_API_KEY`.

Security
--------

[](#security)

Never expose normal API keys, publisher keys or game-server login tokens in client-side code, logs, issues or committed files. Publisher methods must only run on a trusted server.

Contributing
------------

[](#contributing)

Bug reports and pull requests are welcome through the [GitHub issue tracker](https://github.com/TeemoCell/SteamWebAPI/issues).

Contributors
------------

[](#contributors)

- [Stygiansabyss](https://github.com/stygiansabyss)
- [nicekiwi](https://github.com/nicekiwi)
- [rannmann](https://github.com/rannmann)
- [Amegatron](https://github.com/Amegatron)
- [mjmarianetti](https://github.com/mjmarianetti)
- [MaartenStaa](https://github.com/MaartenStaa)
- [JRizzle88](https://github.com/JRizzle88)
- [jastend](https://github.com/jastend)
- [Teakowa](https://github.com/Teakowa)
- [Ben Sherred](https://github.com/bensherred)

License
-------

[](#license)

This package is open-source software licensed under the [MIT License](LICENSE).

###  Health Score

9

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4383252d3143b78c773da5a7a118735ff04a5aae7b6765ca876ac5c001b7bed1?d=identicon)[TeemoCell](/maintainers/TeemoCell)

### Embed Badge

![Health badge](/badges/teemocell-steam-web-api/health.svg)

```
[![Health](https://phpackages.com/badges/teemocell-steam-web-api/health.svg)](https://phpackages.com/packages/teemocell-steam-web-api)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
