We are allocating a portion of our Steam Deck LCD units for partners to test their titles. These are the same Steam Decks that are shipping to customers, there is no additional development software or hardware changes. Steam Deck dev kits are ready to ship, and we've opened up the Steam Deck Dev Kit request form. …
Promotions may involve other Steam products, or products/brands outside of Steam. These types of promotions are encouraged and many customers find value in them. However, under no circumstances is it okay to charge other developers to participate in a bundle or to sell access to a sale page or other page on Steam. [*][subsection]Paid Advertising Outside Steam[/subsection] Developers may want to run paid advertising campaigns to drive traffic to their Steam product pages. …
[section=CanTrade]CanTrade[/section] [code=http]GET https://partner.steam-api.com/ISteamEconomy/CanTrade/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=StartTrade]StartTrade[/section] [code=http]GET https://partner.steam-api.com/ISteamEconomy/StartTrade/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetFriendList]GetFriendList[/section] [code=http]GET https://partner.steam-api.com/ISteamUser/GetFriendList/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API user authentication key.…
[/td][/tr] [tr][td][b]vanityurl[/b][/td][td]string[/td][td]✔[/td][td]The vanity URL to get a SteamID for[/td][/tr] [tr][td][b]url_type[/b][/td][td]int32[/td][td][/td][td]The type of vanity URL. 1 (default): Individual profile, 2: Group, 3: Official game group[/td][/tr] [/table] …
[/section] If you believe your game or application is using a redistributable which is not listed in the app admin, but might be used by many other apps, please let us know in the [url=steamcommunity.com/groups/steamworks/discussions/]Steamworks Development Group[/url], and we might be able to get it added. If your redistributable or installer is uncommon or custom, you can use an [doclink=sdk/installscripts]install script[/doclink] to install it manually.…
Additional revenue share is accrued towards any 'Game' app or 'Application' app on Steam. To check your app type, navigate to the 'Edit Steamworks Settings' page, which is found under the 'Technical Tools' heading on the App Landing Page. Alternatively, you can use the following link, filling in your specific appID: https://partner.steamgames.com/apps/view/YourAppID [*] [b]Q. …
The Additional Revenue Share system has no way of knowing which app is more important in this case. If your app has recorded significant revenue since October 1st, 2018 (>$1,000,000 USD) please reach out to the Steam Finance team and we will update the reporting relationship for this package manually. …
In this case, clicking the "Buy on Steam" button from the widget will take customers to the Steam website with the item in their cart where they can easily complete the purchase process and pay with whatever method they prefer, including funds from their Steam Wallet. …
[section=GetAssetID]GetAssetID[/section] [code=http]GET https://partner.steam-api.com/IEconMarketService/GetAssetID/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetPopular]GetPopular[/section] [code=http]GET https://partner.steam-api.com/IEconMarketService/GetPopular/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetServerInfo]GetServerInfo[/section] [code=http]GET https://api.steampowered.com/ISteamWebAPIUtil/GetServerInfo/v1/[/code] This call has no additional parameters. [section=GetSupportedAPIList]GetSupportedAPIList[/section] [code=http]GET https://api.steampowered.com/ISteamWebAPIUtil/GetSupportedAPIList/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td][/td][td]The Steamworks Web API authentication key which is required to receive restricted methods.…
Is your interface reasonably sized on various resolutions? Can customers adjust resolution to make sure it fits natively on their monitor? These are all options that are pretty standard in successful PC titles. …
[b]Returns:[/b] bool [b]true[/b] if the game is hooking screenshots and is expected to handle them; otherwise, [b]false[/b]. [subsection=SetLocation]SetLocation[/subsection] [code=cpp]bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]hScreenshot[/b][/td][td][apitype]ISteamScreenshots::ScreenshotHandle[/apitype][/td][td]The handle to the screenshot to tag.…
[/td][/tr] [tr=k_cubUFSTagValueMax][td][b]k_cubUFSTagValueMax[/b][/td][td]int[/td][td]255[/td][td]The maximum length in bytes of a location metadata string set on a screenshot using [api]ISteamScreenshots::SetLocation[/api].[/td][/tr] [tr=k_nScreenshotMaxTaggedPublishedFiles][td][b]k_nScreenshotMaxTaggedPublishedFiles[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]32[/td][td]The maximum number of workshop items that can be tagged in a screenshot using [api]ISteamScreenshots::TagPublishedFile[/api].…
[/list] [/list] [section=initialization_and_shutdown]Initialization and Shutdown[/section] [subsection=SteamAPI_Init]SteamAPI_Init[/subsection] After you have the Steamworks API set up within your project you can start using it by calling [api]steam_api::SteamAPI_Init[/api] function to initialize the API. This will set up the global state and populate the interface pointers which are accessible via the global functions which match the name of the interface. …
Each callback consists of a struct containing a unique identifier and a small set of data. The callbacks are declared in the [code-inline]ISteam*.h[/code-inline] header files, grouped with the interface that it most closely belongs to. …
[/td][/tr] [tr][td][b]usPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port to bind to.[/td][/tr] [/table] Set the local IP and Port to bind to. This must be set before calling [api]ISteamClient::CreateLocalUser[/api]! [subsection=SetWarningMessageHook]SetWarningMessageHook[/subsection] [code=cpp]void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pFunction[/b][/td][td]SteamAPIWarningMessageHook_t[/td][td]Function pointer to the callback function.…
[b]Example:[/b] [code=cpp]extern "C" void __cdecl SteamAPIDebugTextHook( int nSeverity, const char *pchDebugText ) { ::OutputDebugString( pchDebugText ); if ( nSeverity >= 1 ) { // place to set a breakpoint for catching API errors int x = 3; x = x; } } void EnableWarningMessageHook() { SteamUtils()->SetWarningMessageHook( &SteamAPIDebugTextHook ); }[/code] [section=typedefs]Typedefs[/section] These are typedefs which are defined for use with ISteamClient. …
[section=AuthenticateUser]AuthenticateUser[/section] [code=http]POST https://partner.steam-api.com/ISteamUserAuth/AuthenticateUser/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]Should be the users steamid, unencrypted.…
[/td][/tr] [/table] [section=AuthenticateUserTicket]AuthenticateUserTicket[/section] [code=http]GET https://partner.steam-api.com/ISteamUserAuth/AuthenticateUserTicket/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]appid of game[/td][/tr] [tr][td][b]ticket[/b][/td][td]string[/td][td]✔[/td][td]Convert the binary ticket data from GetAuthTicketForWebApi into a hexadecimal string and pass that string in as this parameter.…
[section=ItemVoteSummary]ItemVoteSummary[/section] [code=http]POST https://partner.steam-api.com/ISteamPublishedItemVoting/ItemVoteSummary/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=UserVoteSummary]UserVoteSummary[/section] [code=http]POST https://partner.steam-api.com/ISteamPublishedItemVoting/UserVoteSummary/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetAllApprovalRequests]GetAllApprovalRequests[/section] [code=http]GET https://partner.steam-api.com/IPublishedFileModerationService/GetAllApprovalRequests/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=ProcessApprovalRequest]ProcessApprovalRequest[/section] [code=http]POST https://partner.steam-api.com/IPublishedFileModerationService/ProcessApprovalRequest/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section]Event Impression Locations[/section] Here is a quick run-down of what each location refers to: [list] [*][b]Library Home Page Impressions[/b] - This is when your event appears in the row of "What's New" section at the top of the Steam Library Home. Not all of your customers will see your event, as they may not sign in to Steam during the time where your event is valid, or they may have many other games posting events around the same time. …
Our suggested prices vary slightly from region to region, with the goals of providing fair prices for customers. We therefore limit gifting from lower-priced regions (e.g. South-East Asia) to higher-priced regions (e.g. North America). …
[/td][/tr] [tr][td][b]pchHost[/b][/td][td]const char *[/td][td]The host to set this cookie for.[/td][/tr] [tr][td][b]pchUrl[/b][/td][td]const char *[/td][td]The url to set this cookie for.[/td][/tr] [tr][td][b]pchCookie[/b][/td][td]const char *[/td][td]The cookie to set.…
[/td][/tr] [tr=k_EHTTPMethodGET][td][b]k_EHTTPMethodGET[/b][/td][td]1[/td][td]The HTTP Method is set to GET.[/td][/tr] [tr=k_EHTTPMethodHEAD][td][b]k_EHTTPMethodHEAD[/b][/td][td]2[/td][td]The HTTP Method is set to HEAD.…
. [*]For other commercial or government use you can enter into a royalty-free [url=https://www.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=1b290fb6-bf33-4529-b6b4-0c05174271f7&env=na1&acct=8eb740d5-3d42-42a7-b032-df44d160f47f&v=2]commercial/government use license[/url]. …