Difference between revisions of "User:RJackson/StorefrontAPI"
(Found an messages method! Go me!) |
(Clarify and rephrase language around price_overview and multiple app IDs) |
||
(10 intermediate revisions by 6 users not shown) | |||
Line 51: | Line 51: | ||
==== Parameters ==== | ==== Parameters ==== | ||
:;{{API optional|trailer}}: Unknown. | :;{{API optional|trailer}}: Unknown. | ||
+ | :;{{API optional|extra}}: controller. | ||
==== Result data ==== | ==== Result data ==== | ||
Line 90: | Line 91: | ||
==== Parameters ==== | ==== Parameters ==== | ||
− | :;appids: CSV of app IDs to return details of. | + | :;appids: CSV of app IDs to return details of.<br /> |
− | :;{{API optional|filters}}: CSV list of keys to return. | + | |
+ | ::If you request information about more than 1 appid, you'll need to set filters parameter to value "price_overview," otherwise the server will respond with a "null" and the status code 400 Bad Request. If you use multiple appids and try to use multiple filters or any other filter, the server will respond with null. This might be a bug from steam's server side. | ||
+ | :;{{API optional|filters}}: CSV list of keys to return, e.g. "name,platforms,price_overview". If you use multiple appids, you must set this parameter to "price_overview". | ||
::The filter <code>basic</code> returns the following keys: | ::The filter <code>basic</code> returns the following keys: | ||
:::;type: | :::;type: | ||
Line 107: | Line 110: | ||
:::;pc_requirements: | :::;pc_requirements: | ||
:::;mac_requirements: | :::;mac_requirements: | ||
+ | :::;linux_requirements: | ||
::Any key names except those listed under <code>basic</code> are acceptable as filter values. | ::Any key names except those listed under <code>basic</code> are acceptable as filter values. | ||
Line 113: | Line 117: | ||
::;success: | ::;success: | ||
::;data: | ::;data: | ||
− | :::;type: | + | :::;type: Observed values: "game", "dlc", "demo", "advertising", "mod", "video". |
:::;name: | :::;name: | ||
:::;steam_appid: | :::;steam_appid: | ||
:::;required_age: | :::;required_age: | ||
+ | :::;{{API optional|controller_support}}: Whether the app has controller support. Known values: | ||
+ | ::::* partial | ||
+ | ::::* full | ||
:::;{{API optional|dlc}}: Array of app ids. | :::;{{API optional|dlc}}: Array of app ids. | ||
:::;detailed_description: String (html). | :::;detailed_description: String (html). | ||
:::;about_the_game: String (html). | :::;about_the_game: String (html). | ||
+ | :::;short_description: String (html). | ||
+ | :::;{{API optional|fullgame}}: Shown for movies or demos. | ||
+ | ::::;appid: Can be null. | ||
+ | ::::;name: Can be "Uninitialized". | ||
:::;supported_languages: String (html). | :::;supported_languages: String (html). | ||
:::;header_image: URL to image. | :::;header_image: URL to image. | ||
Line 129: | Line 140: | ||
::::;minimum: String (html). | ::::;minimum: String (html). | ||
::::;recommended: String (html). | ::::;recommended: String (html). | ||
− | :::;developers: Array of strings | + | :::;linux_requirements: Array |
+ | ::::;minimum: String (html). | ||
+ | ::::;recommended: String (html). | ||
+ | :::;{{API optional|legal_notice}}: | ||
+ | :::;{{API optional|developers}}: Array of strings | ||
:::;publishers: Array of strings. | :::;publishers: Array of strings. | ||
− | :::; | + | :::;{{API optional|demos}}: Whether there are demos available for this app. |
+ | ::::;appid: Demo app's id. | ||
+ | ::::;description: To note the demo's restrictions. | ||
:::;{{API optional|price_overview}}: Omitted if free-to-play. | :::;{{API optional|price_overview}}: Omitted if free-to-play. | ||
::::;currency: Currency prices are denoted in. | ::::;currency: Currency prices are denoted in. | ||
Line 137: | Line 154: | ||
::::;final: Post-discount price. | ::::;final: Post-discount price. | ||
::::;discount_percent: | ::::;discount_percent: | ||
− | :::;platforms: Booleans | + | :::;packages: Array of package IDs. |
+ | :::;package_groups: Array of purchase options | ||
+ | ::::;name: Observed values: <code>default</code>, <code>subscriptions</code> | ||
+ | ::::;title: | ||
+ | ::::;description: | ||
+ | ::::;selection_text: If display_type is 1, this describes what the subs represent. | ||
+ | ::::;save_text: Marketing text about the massive savings you'll get! | ||
+ | ::::;display_type: Numeric value noting how it should be displayed on store pages. | ||
+ | :::::;0 - list subs as seperate purchase blocks. | ||
+ | :::::;1 - list subs in a dropdown box, contained within a single purchase block for the package group. | ||
+ | ::::;is_recurring_subscription: | ||
+ | ::::;subs: Array of subscriptions in this package group. | ||
+ | :::::;packageid: | ||
+ | :::::;percent_savings_text: | ||
+ | :::::;percent_savings: | ||
+ | :::::;option_text: | ||
+ | :::::;option_description: | ||
+ | :::;platforms: Booleans. | ||
::::;windows: | ::::;windows: | ||
::::;mac: | ::::;mac: | ||
+ | ::::;linux: | ||
:::;{{API optional|metacritic}}: | :::;{{API optional|metacritic}}: | ||
::::;score: | ::::;score: | ||
::::;url: | ::::;url: | ||
− | :::;categories:Array. | + | :::;{{API optional|categories}}:Array. |
::::;id: | ::::;id: | ||
::::;description: | ::::;description: | ||
− | :::;genres:Array. | + | :::;{{API optional|genres}}:Array. |
::::;id: | ::::;id: | ||
::::;description: | ::::;description: | ||
− | :::;screenshots: Array. | + | :::;{{API optional|screenshots}}: Array. |
::::;id: | ::::;id: | ||
::::;path_thumbnail: URL to image. | ::::;path_thumbnail: URL to image. | ||
::::;path_full: URL to image. | ::::;path_full: URL to image. | ||
− | :::;movies: Array. | + | :::;{{API optional|movies}}: Array. |
::::;id: | ::::;id: | ||
::::;name: | ::::;name: | ||
Line 161: | Line 196: | ||
:::::;max: URL of max-quality video. | :::::;max: URL of max-quality video. | ||
::::;highlight: Boolean; not sure it's purpose. | ::::;highlight: Boolean; not sure it's purpose. | ||
− | :::;recommendations: | + | :::;{{API optional|recommendations}}: |
::::;total: Int | ::::;total: Int | ||
:::;{{API optional|achievements}}: | :::;{{API optional|achievements}}: | ||
Line 199: | Line 234: | ||
:::::;commentcount; | :::::;commentcount; | ||
:::;added_to_wishlist: | :::;added_to_wishlist: | ||
+ | :::;{{API optional|is_owned}}: Omitted when false | ||
=== messages === | === messages === | ||
Line 215: | Line 251: | ||
::;type: | ::;type: | ||
::;id: | ::;id: | ||
+ | |||
+ | === packagedetails === | ||
+ | <pre>GET http://store.steampowered.com/api/packagedetails/</pre> | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :;packageids: CSV of package IDs to return details of. | ||
+ | |||
+ | ==== Result data ==== | ||
+ | :;''Package ID'': | ||
+ | ::;success: | ||
+ | ::;data: | ||
+ | :::;name: | ||
+ | :::;page_image: Header image on the storefront page. | ||
+ | :::;{{API optional|header_image}}: Header image but scaled to the same size as appdetails' header_image images. | ||
+ | :::;apps: Array of apps the package contains. | ||
+ | ::::;id: | ||
+ | ::::;name: | ||
+ | :::;price: | ||
+ | ::::;currency: Currency prices are denoted in. | ||
+ | ::::;initial: Pre-discount price. | ||
+ | ::::;final: Post-discount price. | ||
+ | ::::;discount_percent: | ||
+ | ::::;individual: The sum of each individual app's price. | ||
+ | :::;platforms: Booleans. | ||
+ | ::::;windows: | ||
+ | ::::;mac: | ||
+ | ::::;linux: | ||
+ | :::;release_date: | ||
+ | ::::;coming_soon: Boolean, true if unreleased; false if released. | ||
+ | ::::;date: Format is localized, according to the <code>cc</code> parameter passed. Is an empty string when date is unannounced. | ||
+ | |||
+ | === salepage === | ||
+ | <pre>GET http://store.steampowered.com/api/salepage/</pre> | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :;id: ID of the sale. | ||
+ | |||
+ | ==== Result data ==== | ||
+ | :;status: | ||
+ | :;id: Sale ID | ||
+ | :;name: 'Default' observed, seemingly unused. | ||
+ | :;available: Date-range of the sale, formatted as <code>%b %d - %b %d</code> | ||
+ | :;items: Array of apps in the sale. | ||
+ | ::;id: App ID | ||
+ | ::;name: Name of app | ||
+ | ::;type: Type of app, usually seen as string but represented as an int here; enum structure not known. | ||
+ | :::;0 - game: |
Latest revision as of 18:23, 1 September 2020
This API is not actively documented, under development, and not meant for public consumption. It may change at any time without notice. |
Rough documentation for the storefront API - exposed via Big Picture mode. Data is returned in JSON format.
Contents
Global parameters
Parameters observed to be used on all methods:
- cc (Optional)
- Country code for method to return appropriate currency values.
- l (Optional)
- For localized strings; takes English name of language (none of those fancy ISO distractions).
- v (Optional)
- Unknown.
App info
- id
- type
- name
- discounted
- discounted_percent
- original_price
- Pre-discount application price.
- final_price
- Post-discount application price.
- currency
- What currency prices are denoted in.
- large_capsule_image
- URL of large-capsule image.
- small_capsule_image
- URL of small-capsule image.
- discount_expiration (Optional)
- Unix timestamp of when the discount noted above :expires. Is not provided if the app is not discounted.
- headline (Optional)
- Headline to atop large-capsule widget.
- controller_support (Optional)
- Whether the app has controller support. Known values:
- partial
- full
- purchase_package (Optional)
- Subscription ID for purchasing the app.
Known methods
featured
Data about apps featured on storefront.
GET http://store.steampowered.com/api/featured/
Parameters
Result data
featuredcategories
Even more data about featured apps.
GET http://store.steampowered.com/api/featuredcategories/
Parameters
- trailer (Optional)
- Unknown.
- extra (Optional)
- controller.
Result data
- N
-
- id
- name
- items
- An array of objects, with differing app structures dependant upon N.id:
- cat_spotlight
-
- name
- header_image
- body
- url
- cat_dailydeal
- See #App info
- specials
-
- id
- name
- items
- An array of objects denoting app information; see #App info.
- coming_soon
-
- id
- name
- items
- An array of objects denoting app information; see #App info.
- top_sellers
-
- id
- name
- items
- An array of objects denoting app information; see #App info.
- new_releases
-
- id
- name
- items
- An array of objects denoting app information; see #App info.
- genres
-
- id
- name
- trailerslideshow
-
- id
- name
- status
appdetails
GET http://store.steampowered.com/api/appdetails/
Parameters
- appids
- CSV of app IDs to return details of.
- If you request information about more than 1 appid, you'll need to set filters parameter to value "price_overview," otherwise the server will respond with a "null" and the status code 400 Bad Request. If you use multiple appids and try to use multiple filters or any other filter, the server will respond with null. This might be a bug from steam's server side.
- filters (Optional)
- CSV list of keys to return, e.g. "name,platforms,price_overview". If you use multiple appids, you must set this parameter to "price_overview".
- The filter
basic
returns the following keys:- type
- name
- steam_appid
- required_age
- dlc
- detailed_description
- about_the_game
- supported_languages
- detailed_description
- supported_languages
- header_image
- website
- pc_requirements
- mac_requirements
- linux_requirements
- Any key names except those listed under
basic
are acceptable as filter values.
Result data
- App ID
-
- success
- data
-
- type
- Observed values: "game", "dlc", "demo", "advertising", "mod", "video".
- name
- steam_appid
- required_age
- controller_support (Optional)
- Whether the app has controller support. Known values:
- partial
- full
- dlc (Optional)
- Array of app ids.
- detailed_description
- String (html).
- about_the_game
- String (html).
- short_description
- String (html).
- fullgame (Optional)
- Shown for movies or demos.
- appid
- Can be null.
- name
- Can be "Uninitialized".
- supported_languages
- String (html).
- header_image
- URL to image.
- website
- pc_requirements
- Array
- minimum
- String (html).
- recommended
- String (html).
- mac_requirements
- Array
- minimum
- String (html).
- recommended
- String (html).
- linux_requirements
- Array
- minimum
- String (html).
- recommended
- String (html).
- legal_notice (Optional)
- developers (Optional)
- Array of strings
- publishers
- Array of strings.
- demos (Optional)
- Whether there are demos available for this app.
- appid
- Demo app's id.
- description
- To note the demo's restrictions.
- price_overview (Optional)
- Omitted if free-to-play.
- currency
- Currency prices are denoted in.
- initial
- Pre-discount price.
- final
- Post-discount price.
- discount_percent
- packages
- Array of package IDs.
- package_groups
- Array of purchase options
- name
- Observed values:
default
,subscriptions
- title
- description
- selection_text
- If display_type is 1, this describes what the subs represent.
- save_text
- Marketing text about the massive savings you'll get!
- display_type
- Numeric value noting how it should be displayed on store pages.
- 0 - list subs as seperate purchase blocks.
- 1 - list subs in a dropdown box, contained within a single purchase block for the package group.
- is_recurring_subscription
- subs
- Array of subscriptions in this package group.
- packageid
- percent_savings_text
- percent_savings
- option_text
- option_description
- platforms
- Booleans.
- windows
- mac
- linux
- metacritic (Optional)
-
- score
- url
- categories (Optional)
- Array.
- id
- description
- genres (Optional)
- Array.
- id
- description
- screenshots (Optional)
- Array.
- id
- path_thumbnail
- URL to image.
- path_full
- URL to image.
- movies (Optional)
- Array.
- id
- name
- thumbnail
- webm
-
- 480
- URL of 480p video.
- max
- URL of max-quality video.
- highlight
- Boolean; not sure it's purpose.
- recommendations (Optional)
-
- total
- Int
- achievements (Optional)
-
- total
- Int
- highlighted
- Array
- name
- path
- URL to achievement icon.
- release_date
-
- coming_soon
- Boolean, true if unreleased; false if released.
- date
- Format is localized, according to the
cc
parameter passed. Is an empty string when date is unannounced.
appuserdetails
Information about apps & users in the context of the Steam account logged in to storefront.
GET http://store.steampowered.com/api/appuserdetails/
Parameters
- appids
- CSV of app IDs to return details of.
Result data
- App ID
-
- success
- data
-
- friendswant (Optional)
-
- steamid
- playtime_twoweeks
- playtime_total
- friendsown (Optional)
-
- steamid
- playtime_twoweeks
- playtime_total
- recommendations
-
- totalfriends
- friends (Optional)
-
- steamid
- timestamp
- recommendation
- commentcount;
- added_to_wishlist
- is_owned (Optional)
- Omitted when false
messages
Messages that are displayed to users either in a dedicated section of Big Picture mode, or as their own window when a user launches Steam or closes a game.
GET http://store.steampowered.com/api/messages/
Parameters
- gids
- ID of the message.
Result data
- gid
- ID for the message.
- linkurl
- button_text
- Text for the button linking to
linkurl
- partner
- image
- URL of the messages image.
- association
- vOv
- type
- id
packagedetails
GET http://store.steampowered.com/api/packagedetails/
Parameters
- packageids
- CSV of package IDs to return details of.
Result data
- Package ID
-
- success
- data
-
- name
- page_image
- Header image on the storefront page.
- header_image (Optional)
- Header image but scaled to the same size as appdetails' header_image images.
- apps
- Array of apps the package contains.
- id
- name
- price
-
- currency
- Currency prices are denoted in.
- initial
- Pre-discount price.
- final
- Post-discount price.
- discount_percent
- individual
- The sum of each individual app's price.
- platforms
- Booleans.
- windows
- mac
- linux
- release_date
-
- coming_soon
- Boolean, true if unreleased; false if released.
- date
- Format is localized, according to the
cc
parameter passed. Is an empty string when date is unannounced.
salepage
GET http://store.steampowered.com/api/salepage/
Parameters
- id
- ID of the sale.
Result data
- status
- id
- Sale ID
- name
- 'Default' observed, seemingly unused.
- available
- Date-range of the sale, formatted as
%b %d - %b %d
- items
- Array of apps in the sale.
- id
- App ID
- name
- Name of app
- type
- Type of app, usually seen as string but represented as an int here; enum structure not known.
- 0 - game