Difference between revisions of "User:RJackson/StorefrontAPI"
m (Put a warning noting this api is not intended for public use, and more info about filters.) |
m (Updated appdetails result, added "(Optional)" tag where it was missing, added "controller_support" and "legal_notice", and updated observed values for "type") |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
Rough documentation for the storefront API - exposed via Big Picture mode. Data is returned in JSON format. | Rough documentation for the storefront API - exposed via Big Picture mode. Data is returned in JSON format. | ||
+ | |||
+ | == Global parameters == | ||
+ | Parameters observed to be used on all methods: | ||
+ | :;{{API optional|cc}}: Country code for method to return appropriate currency values. | ||
+ | :;{{API optional|l}}: For localized strings; takes English name of language (none of those fancy ISO distractions). | ||
+ | :;{{API optional|v}}: Unknown. | ||
== Shared data structures == | == Shared data structures == | ||
Line 31: | Line 37: | ||
==== Parameters ==== | ==== Parameters ==== | ||
− | |||
− | |||
− | |||
==== Result data ==== | ==== Result data ==== | ||
Line 47: | Line 50: | ||
==== Parameters ==== | ==== Parameters ==== | ||
− | |||
− | |||
− | |||
:;{{API optional|trailer}}: Unknown. | :;{{API optional|trailer}}: Unknown. | ||
Line 91: | Line 91: | ||
==== Parameters ==== | ==== Parameters ==== | ||
:;appids: CSV of app IDs to return details of. | :;appids: CSV of app IDs to return details of. | ||
− | |||
− | |||
− | |||
:;{{API optional|filters}}: CSV list of keys to return. | :;{{API optional|filters}}: CSV list of keys to return. | ||
::The filter <code>basic</code> returns the following keys: | ::The filter <code>basic</code> returns the following keys: | ||
Line 110: | Line 107: | ||
:::;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 116: | Line 114: | ||
::;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 132: | Line 137: | ||
::::;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 140: | Line 151: | ||
::::;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 164: | Line 193: | ||
:::::;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 173: | Line 202: | ||
:::;release_date: | :::;release_date: | ||
::::;coming_soon: Boolean, true if unreleased; false if released. | ::::;coming_soon: Boolean, true if unreleased; false if released. | ||
− | ::::;date: | + | ::::;date: Format is localized, according to the <code>cc</code> parameter passed. Is an empty string when date is unannounced. |
− | |||
− | |||
=== appuserdetails === | === appuserdetails === | ||
+ | Information about apps & users in the context of the Steam account logged in to storefront. | ||
<pre>GET http://store.steampowered.com/api/appuserdetails/</pre> | <pre>GET http://store.steampowered.com/api/appuserdetails/</pre> | ||
==== Parameters ==== | ==== Parameters ==== | ||
:;appids: CSV of app IDs to return details of. | :;appids: CSV of app IDs to return details of. | ||
− | :;{{API optional| | + | |
− | :;{{API optional| | + | ==== Result data ==== |
− | :;{{API optional| | + | :;''App ID'': |
+ | ::;success: | ||
+ | ::;data: | ||
+ | :::;{{API optional|friendswant}}: | ||
+ | ::::;steamid: | ||
+ | ::::;playtime_twoweeks: | ||
+ | ::::;playtime_total: | ||
+ | :::;{{API optional|friendsown}}: | ||
+ | ::::;steamid: | ||
+ | ::::;playtime_twoweeks: | ||
+ | ::::;playtime_total: | ||
+ | :::;recommendations: | ||
+ | ::::;totalfriends: | ||
+ | ::::;{{API optional|friends}}: | ||
+ | :::::;steamid: | ||
+ | :::::;timestamp: | ||
+ | :::::;recommendation: | ||
+ | :::::;commentcount; | ||
+ | :::;added_to_wishlist: | ||
+ | :::;{{API optional|is_owned}}: 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. | ||
+ | <pre>GET http://store.steampowered.com/api/messages/</pre> | ||
+ | ==== Parameters ==== | ||
+ | :;gids: ID of the message. | ||
+ | |||
+ | ==== Result data ==== | ||
+ | :;gid: ID for the message. | ||
+ | :;linkurl: | ||
+ | :;button_text: Text for the button linking to <code>linkurl</code> | ||
+ | :;partner: | ||
+ | :;image: URL of the messages image. | ||
+ | :;association: vOv | ||
+ | ::;type: | ||
+ | ::;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: |
Revision as of 22:50, 22 January 2018
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.
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.
- filters (Optional)
- CSV list of keys to return.
- 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