Swiftpack.co - sebj/Steam as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by sebj.
sebj/Steam 0.1.0
A Swift package to interact directly with Steam.
⭐️ 8
🕓 1 year ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/sebj/Steam.git", from: "0.1.0")

💨 Steam

Swift Compatibility: 5.3 Platform Compatibility: MIT License Build & Test

A Swift package to directly interact with Steam.

  • Login to a Steam account (via password or 2FA code)
  • Retrieve basic user info
    • Steam identifier
    • Account flags
    • Steam Community vanity profile URL
    • Friends list Steam identifiers & friend status
  • Add/remove friends


Swift Package Manager (Xcode):

  1. From the File menu, select Swift Packages › Add Package Dependency…
  2. Enter "https://github.com/sebj/steam" into the package repository URL text field

Swift Package Manager (standalone):

Add the following to the dependencies of your Package.swift file:

.package(url: "https://github.com/sebj/Steam.git", .upToNextMinor(from: "0.1.0"))


  1. Choose a server from SteamServer.defaultServers or fetch the latest Steam server list using SteamServersFetcher.
  2. Instantiate a SteamService and connect to the chosen server (connect).
  3. login
  4. Receive user information and friends list, and use any functions that require user authentication (addFriend, removeFriend etc) as desired.


Several Steam Protobufs from SteamDatabase/Protobufs and their converted Swift models (via Swift Protobuf) are bundled with this library, as Swift packages do not currently support running scripts/custom build phase actions (which would ideally be used to clone the Protobufs repo, convert and copy the relevant files).

Related Libraries


Stars: 8
Last commit: 6 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

1 year ago


  • Login via password, 2FA, or shared login key
  • Receive basic info and friends list identifiers for the logged in user
  • Add/remove friends
  • Set friends list UI mode

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics