Open
Conversation
Exports profile, game library (with playtime stats), and friend list via Steam Web API. Uses API key auth — no browser login needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Steam connector that exports profile, game library with playtime stats, and friend list via the Steam Web API. Uses API key authentication — no browser login needed.
Includes JSON schemas for all 3 scopes and a registry entry.
Test plan
Steam Connector Report
Date: 2026-03-12
Agent: Claude Opus 4.6
Connector:
valve/steam-playwright.jsIterations: 1
Decision log
api.steampowered.com) with free API keys — went straight to API-key auth viahttpFetch, no browser login neededpage.requestInput()for API key + Steam ID, withprocess.envfallback for automationpage.closeBrowser()immediately after collecting credentials since all data comes via HTTP API, not browserGetPlayerSummaries) with 300ms delay between batchesSurprises
GetFriendListreturns 401 when the user's friend list privacy is set to non-public — not a permissions error on the API key itself, just a per-user privacy setting. Connector handles this gracefully (empty array, no error)GetOwnedGameswithinclude_played_free_games=1returns free-to-play games too, which significantly inflates the game count vs. what users see in their Steam libraryFriction
path.resolve(connectorDir, '..', 'schemas')— had to place schemas inconnectors/schemas/notconnectors/valve/schemas/for validation to pass. This was non-obvious.What worked well
page.httpFetch()worked perfectly for all endpoints, no cookie/session complications