Steamworks Documentation
Authentication using Web API Keys
Some Web API methods return publicly accessible data and do not require authorization when called. Other methods may require you to use a unique API key. There are also methods that return sensitive data or perform a protected action and require special access permissions. These APIs require a publisher key, which you will need to create before calling any of them. In cases where an API key is required, it can be provided either as a standard parameter or by setting the 'x-webapi-key' request header value.

User Keys

The standard user keys are available to everyone, all that is required is a Steam account and the domain name that will be associated with this key.

You will also need to agree to the Steam Web API Terms of Use.

You can create a user Web API key from the registration page on the Steam Community.

Publisher Keys

Game developers can create Web API keys that are associated with their Steamworks publisher account. These keys can be used to access both public and publisher only Web API methods.

Each publisher key is associated with a Steamworks publisher group. Publisher only Web API methods control key access by:
  • Publisher Group App ID - Some publisher methods require that the appid value provided in the request is associated with the key's publisher group.
  • Key Permissions - All publisher methods have a permission group that must be associated with the request's key. See the Steamworks Web API reference to determine what permission is required for each method.
  • IP Whitelist - Each publisher key can also be locked to a specific set of calling IP addresses.

The four types of Web API Key Permissions are:
  • Microtransactions for initializing, finalizing, and reconciling in-game purchases.
  • Sales Data calls to the IPartnerFinancialService API.
  • Economy calls for games that use the Steam Inventory Service.
  • General API calls for things like authenticating a user or checking ownership of a DLC-- everything not included in the above three permissions.

webapi_key_permissions.png
Publisher Web API keys provide access to sensitive user data and protected methods. These keys are intended to be used for Web API requests that originate from secure publisher servers. The keys must be stored securely, and must not be distributed with a game client. All Web API requests that contain Web API keys should be made over HTTPS.

Creating a Publisher Web API Key

To create a publisher Web API key, you will need to have administrator permissions within an existing Steamworks account. If you are not an administrator yourself, you can see a list of administrators for your partner account by visiting your Steamworks Home Page and viewing the list on the right-hand side. Any one of them can create your Publisher Web API Key or can promote you to admin if appropriate.

To create a Publisher Web API key:
  1. As a user with administrative rights in your Steamworks account, visit your groups list by going to Users & Permissions, then Manage Groups.
  2. Select an existing group or create a group. We recommend creating a dedicated group to control Web API key game access.
  3. Ensure the applications associated with the group are correct before creating a key.
  4. Select Create WebAPI Key.
  5. Select the set of desired key permissions.
  6. Select Save Changes
  7. The newly created key will display in the right-hand sidebar of that page.