Hot.Game
Find the best prices
Sign in Sign up
Authorization
Hot.Game account
Sign up
You need to sign in to do this!
Sign in
Or sign in using other services:

Hot.Game API (v. 0.0.1)

We have always wanted to make Hot.Game a home for your games. But a home turns into a prison if you can’t leave it at any time. That’s why we decided to provide a public free API for all our users. By using it, you can automatically work with the catalog: export all your collections, subscriptions, and favorite games in a convenient machine-readable JSON format.

But of course, that’s not all. We also provide several convenient methods for enthusiasts who need information about the best game prices broken down by regions. This will be useful for many people who want to create helpful tools for gamers.

Also on this page you will find information on how to integrate your store with the Hot.Game catalog and about paid API options.

Warning: The API is currently in alpha testing. At the moment, we do not guarantee backward compatibility of new versions with previous ones, nor support for the current version. Please closely follow updates and news in our blog with Dev reports. The service is provided free of charge “as is” strictly for non-commercial use.

A stable release (v.1.0.0) is not planned in the near future.

In case of public usage, attribution of the information source (Hot.Game) is mandatory. If you wish to use our API for commercial purposes or in production, prior approval via support is required.

Basic principles

At the moment, many API methods are publicly available without any authorization or the need to obtain access keys/tokens. We hope to keep it this way in the future, but if there are abuses, we will have to restrict access to registered users only.

Authorization for methods that require it is not implemented in the API. Therefore, such methods are currently suitable only for use in browser extensions and bookmarklets. In the future, we plan to add some form of user authorization via the API.

Parameters are passed as URL parameters (query string), unless otherwise specified in the method and parameter description (many parameters are specified directly as part of the path). Square brackets in templates indicate an optional part of the URL.

Example JS request

Below is an example of an authorized request. Please note that such requests are only possible in browser extensions or bookmarklets. In the case of extensions, this code must be executed in the background context of the extension or in the content context of the Hot.Game page when the user is authorized.

async function fetchHotGameApi(url) { try { const r = await fetch(url, { method: 'GET', credentials: 'include', }); if (!r.ok) { return {isError: true, status: r.status, message: `HTTP error ${r.status}`}; } return await r.json(); } catch (e) { console.error('Some error occured', e); return { isError: true, error: e }; } } fetchHotGameApi('https://api.hot.game/user/my-games').then(console.log);

Data types

Currencies:
value
description
EUR
Euros (€)
KZT
Tenge (₸)
RUB
Rubles (₽)
UAH
Hryvnias (₴)
USD
Dollars ($)
Regions:
value
description
cis
CIS
ww
Region free
ua
Ukraine
ru
Russia
all
All regions
Collection types:
value
description
If the type is not specified (null value), it is a standard collection
not_played
Games the user has not played. Generated automatically during certain user actions
not_interested
Games the user is not interested in. Generated automatically during certain user actions
want_to_play
Games the user is interested in. Generated automatically during certain user actions

Getting basic API information

parameter
type
required
description

This method allows you to get basic information: the current version, the date of the last update, and a link to information about it (if there was a corresponding post in our blog).

Another important field is nextAPIIncompatibleUpdate, which may contain either false (if no incompatible API changes are planned), or an object with information about such an update. Of course, we will try to keep such updates to a minimum. But if you don’t want to manually track our Dev reports, this is a great way to set up automatic checks and notifications about critical changes.

https://api.hot.game/
{ "title": "Hot.Game API", "description": "This is API of Hot.Game Service.", "version": "0.0.1", "lastAPIUpdateDate": "25 Nov 2025 22:21:34 GMT", "lastAPIUpdateDateTimestamp": 1764109294, "lastUpdateDetails": "link_on_post_on_hgn", "nextAPIIncompatibleUpdate": { "version": "0.0.2", "details": "link_on_post_on_hgn", "plannedUpdateDate": "26 Nov 2025 22:21:34 GMT", "plannedUpdateDateTimestamp": 1764195694 }, "documentation": "https://hot.game/api", "support": "support@hot-game.info" }

Getting the entire game catalog

parameter
type
required
description

This method allows you to get a list of ALL games in our catalog. The amount of information for each game is limited, but you can then use other methods to get more detailed data about the games you need.

https://api.hot.game/method/all-games
[ { "HGID":4783, "title":"Evan\u0027s Remains", "slug":"Evans-Remains", "hg_link":"https:\/\/hot.game\/game\/Evans-Remains" }, { "HGID":6408, "title":"Doom 3: VR Edition", "slug":"Doom-3-VR-Edition", "hg_link":"https:\/\/hot.game\/game\/Doom-3-VR-Edition" }, ... ]

Getting basic game data

parameter
type
required
description
game-slug
String
yes
Game Slug can be found in the game URL on Hot.Game. Game links are formed as follows: https://hot.game/game/{game-slug}

* specified in the URL instead of {game-slug}
currency
optional
Conversion currency (converted prices are available in the converted_price field).

The main information available in this method is, of course, the minimum price of the game broken down by regions and platforms.

The converted_price field (present in each price) contains an array with information about the converted price in your current currency. The algorithm for determining the current currency is rather complex. If you want to guarantee a specific currency, it’s better to specify the currency parameter.

We do not recommend relying on the HGID field; its removal is being considered in the future, possibly to be replaced with a more universal identifier.

https://api.hot.game/game/Hogwarts-Legacy/main-info
{ "HGID": 5805, "title": "Hogwarts Legacy", "alt_title": "Хогвартс Наследие", "slug": "Hogwarts-Legacy", "release_date": "2023-02-10", "min_prices_by_region": { "all": [ { "currency": "RUB", "currency_symbol": "₽", "price": 445, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 445 }, "percent_discount": 87, "platform": "windows", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 4339, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 4339 }, "percent_discount": 30, "platform": "nintendo_switch", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 710, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 710 }, "percent_discount": 89, "platform": "ps_4", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 6499, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 6499 }, "percent_discount": 0, "platform": "nintendo_switch_2", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 502, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 502 }, "percent_discount": 93, "platform": "xbox_sx", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 828, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 828 }, "percent_discount": 86, "platform": "ps_5", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 710, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 710 }, "percent_discount": 89, "platform": "xbox_one", "region": "Все регионы", "region_code_name": "all", "region_short_name": "ВСЕ" } ], "ua": [ { "currency": "UAH", "currency_symbol": "₴", "price": 239, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 445 }, "percent_discount": 85, "platform": "windows", "region": "Украина", "region_code_name": "ua", "region_short_name": "UA" }, { "currency": "UAH", "currency_symbol": "₴", "price": 269, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 502 }, "percent_discount": 93, "platform": "xbox_sx", "region": "Украина", "region_code_name": "ua", "region_short_name": "UA" }, { "currency": "UAH", "currency_symbol": "₴", "price": 2438, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 4544 }, "percent_discount": 29, "platform": "xbox_one", "region": "Украина", "region_code_name": "ua", "region_short_name": "UA" } ], "cis": [ { "currency": "RUB", "currency_symbol": "₽", "price": 524, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 524 }, "percent_discount": 85, "platform": "windows", "region": "СНГ", "region_code_name": "cis", "region_short_name": "СНГ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 1108, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 1108 }, "percent_discount": 84, "platform": "xbox_sx", "region": "СНГ", "region_code_name": "cis", "region_short_name": "СНГ" }, { "currency": "RUB", "currency_symbol": "₽", "price": 4544, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 4544 }, "percent_discount": 29, "platform": "xbox_one", "region": "СНГ", "region_code_name": "cis", "region_short_name": "СНГ" } ], "ww": [ { "currency": "USD", "currency_symbol": "$", "price": 8.99, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 710 }, "percent_discount": 85, "platform": "windows", "region": "Без региональных ограничений (Region free)", "region_code_name": "ww", "region_short_name": "Мир" }, { "currency": "USD", "currency_symbol": "$", "price": 8.99, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 710 }, "percent_discount": 85, "platform": "ps_4", "region": "Без региональных ограничений (Region free)", "region_code_name": "ww", "region_short_name": "Мир" }, { "currency": "USD", "currency_symbol": "$", "price": 10.49, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 828 }, "percent_discount": 88, "platform": "xbox_sx", "region": "Без региональных ограничений (Region free)", "region_code_name": "ww", "region_short_name": "Мир" }, { "currency": "USD", "currency_symbol": "$", "price": 10.49, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 828 }, "percent_discount": 85, "platform": "ps_5", "region": "Без региональных ограничений (Region free)", "region_code_name": "ww", "region_short_name": "Мир" }, { "currency": "USD", "currency_symbol": "$", "price": 8.99, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 710 }, "percent_discount": 89, "platform": "xbox_one", "region": "Без региональных ограничений (Region free)", "region_code_name": "ww", "region_short_name": "Мир" } ], "ru": [ { "currency": "RUB", "currency_symbol": "₽", "price": 4339, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 4339 }, "percent_discount": 30, "platform": "nintendo_switch", "region": "Россия", "region_code_name": "ru", "region_short_name": "RU" }, { "currency": "RUB", "currency_symbol": "₽", "price": 2399, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 2399 }, "percent_discount": 63, "platform": "ps_4", "region": "Россия", "region_code_name": "ru", "region_short_name": "RU" }, { "currency": "RUB", "currency_symbol": "₽", "price": 6499, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 6499 }, "percent_discount": 0, "platform": "nintendo_switch_2", "region": "Россия", "region_code_name": "ru", "region_short_name": "RU" }, { "currency": "RUB", "currency_symbol": "₽", "price": 2899, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 2899 }, "percent_discount": 52, "platform": "ps_5", "region": "Россия", "region_code_name": "ru", "region_short_name": "RU" }, { "currency": "RUB", "currency_symbol": "₽", "price": 5999, "converted_price": { "currency": "RUB", "currency_symbol": "₽", "price": 5999 }, "percent_discount": 0, "platform": "xbox_one", "region": "Россия", "region_code_name": "ru", "region_short_name": "RU" } ] }, "hg_link": "https://hot.game/game/Hogwarts-Legacy" }

Getting data about my game

parameter
type
required
description
game-slug
String
yes
Game Slug can be found in the game URL on Hot.Game. Game links are formed as follows: https://hot.game/game/{game-slug}

* specified in the URL instead of {game-slug}

“My game information” is information about your “relationship” with a specific game. Whether you added it to favorites (saved field) or subscriptions (subscription field), whether you rated it (rating[vote] field), and whether you added it to any of your collections (collections field).

https://api.hot.game/game/Hogwarts-Legacy/my-game
{ "saved": true, "subscription": { "new_games": false, "region": "all", "currency": "UAH", "platforms": [ "windows" ] }, "rating": { "value":2.8, "vote": 4, "max": 4, "min": 1 }, "collections": [ { "slug": "382d97", "name": "Это на Новый Год 🎄" } ] }

Getting my games

parameter
type
required
description
page
Integer
optional
Specifies the page number. If not specified, the first page will be returned.

* specified in the URL instead of {page}
filters
Special
optional
If specified, sets filters and sorting. Identical to the filter string on the website, so we won’t describe the rather complex construction principles here. You can explore them using the filters on the site.

* specified in the URL instead of {filters}

Your games list is displayed with 100 games per page.

https://api.hot.game/user/my-games/2
{ "my_games": [ { "title": "Gothic 1 Remake", "slug": "Gothic-Remake", "hg_link": "https://hot.game/game/Gothic-Remake" }, ... ], "page": 2, "page_size": 100, "total_my_games_number": 382 }

Getting a list of my collections

parameter
type
required
description

A list of your collections with all the necessary information. The type field contains a value of collection type.

https://api.hot.game/user/my-collections
{ "collections": [ { "slug": "a01d9c", "name": "На позже", "public": false, "exclude_from_filters": false, "games_count": 2, "type": null }, { "slug": "0c9976", "name": "Не играл", "public": false, "exclude_from_filters": false, "games_count": 531, "type": "not_played" }, { "slug": "713345", "name": "Не интересует", "public": false, "exclude_from_filters": false, "games_count": 23, "type": "not_interested" }, { "slug": "5e5c13", "name": "Самая лучшая коллекция в мире", "public": true, "exclude_from_filters": false, "games_count": 1, "type": null }, { "slug": "7b58e9", "name": "Хочу поиграть", "public": false, "exclude_from_filters": false, "games_count": 44, "type": "want_to_play" }, { "slug": "382d97", "name": "Это на Новый Год 🎄", "public": true, "exclude_from_filters": false, "games_count": 9, "type": null } ] }

Getting collection contents

parameter
type
required
description
collection-slug
String
yes
Collection Slug can be found in the collection URL on Hot.Game. Collection links are formed as follows: https://hot.game/collection/{collection-slug}

* specified in the URL instead of {collection-slug}
page
Integer
optional
Specifies the page number. If not specified, the first page will be returned.

* specified in the URL instead of {page}

Collection information. Games are displayed with 100 games per page. If the collection is not public (public field – false), authorization will be required.

https://api.hot.game/collection/382d97
{ "slug": "382d97", "name": "Это на Новый Год 🎄", "public": true, "exclude_from_filters": false, "games_count": 9, "type": null, "page": 1, "page_size": 100, "games_in_collection": [ { "HGID": 5805, "title": "Hogwarts Legacy", "slug": "Hogwarts-Legacy", "hg_link": "https://hot.game/game/Hogwarts-Legacy" }, { "HGID": 3, "title": "Grand Theft Auto V", "slug": "grand-theft-auto-5", "hg_link": "https://hot.game/game/grand-theft-auto-5" }, { "HGID": 3595, "title": "S.T.A.L.K.E.R. 2: Heart of Chornobyl", "slug": "STALKER-2-Heart-of-Chernobyl", "hg_link": "https://hot.game/game/STALKER-2-Heart-of-Chernobyl" }, { "HGID": 2496, "title": "Baldur's Gate III", "slug": "Baldurs-Gate-3", "hg_link": "https://hot.game/game/Baldurs-Gate-3" }, { "HGID": 9798, "title": "Grand Theft Auto VI", "slug": "Grand-Theft-Auto-VI", "hg_link": "https://hot.game/game/Grand-Theft-Auto-VI" }, { "HGID": 9498, "title": "Indiana Jones and the Great Circle", "slug": "Indiana-Jones-and-the-Great-Circle", "hg_link": "https://hot.game/game/Indiana-Jones-and-the-Great-Circle" }, { "HGID": 71, "title": "The Witcher 3: Wild Hunt", "slug": "the-wtcher-3-wild-hunt", "hg_link": "https://hot.game/game/the-wtcher-3-wild-hunt" }, { "HGID": 9877, "title": "Mafia: The Old Country", "slug": "Mafia-The-Old-Country", "hg_link": "https://hot.game/game/Mafia-The-Old-Country" }, { "HGID": 9879, "title": "Alkahest", "slug": "Alkahest", "hg_link": "https://hot.game/game/Alkahest" } ] }

Paid options

If the publicly available methods are not enough for you, you can contact our support with a request for extended access or unique functionality. If you have a small request that is easy to implement, we will be happy to help you for free.

However, if you are interested in large volumes of data, especially valuable information from our catalog, or long-term support (in general, if you want to use the API to create a commercial project), access to such an API will be paid on a contractual basis. Approximate price: $20–$100 per month.

Integrating your store with the catalog

If you own a store (or represent one) and want your offers to be displayed in our catalog, please contact our support in any convenient way. We will be able to discuss the integration terms in more detail and help with any technical questions.

Stores are added to the catalog only after a preliminary review by the administration. Exact requirements and checks are not disclosed for security reasons. But in general, your store must be reliable (not fraudulent), and the quality of service must be at least satisfactory (response speed of support, error frequency, etc.).

Hot.Game supports 3 methods of store integration (data parsing): page-by-page HTML parsing (legacy, maintained for several old stores, no new ones are added), API integration (mainly for official stores with activation systems), XML feed and JSON feed parsing (the main and most efficient method).

Data we parse from the feed:
value
required
description
url
yes
Product URL in your store
title
optional (recommended)
Product title in your store. Although this field is optional, it is highly recommended. Without it, fast manual addition will be impossible (and more of your offers will not get into the catalog).
price
yes
Product price in your store
price_old
optional
Base full price of the product (without discount). The value is considered only in official stores with activation platforms (Steam, EGS, ...).
available
required / optional
Product availability in the store (availability for purchase). If this field is missing, the XML feed must not contain products unavailable for purchase. We strongly recommend using this value (rather than simply removing the product from XML), as it is much more reliable.
region
required / optional
Activation region. Without this value, your offers will be displayed only in the pseudo-region ALL, and the vast majority of our users will not see them.

Regions can be represented in any form. However, the recommended format is: "region, region (excluding excluded_region, excluded_region)". Sometimes you need to specify a region without part of it, which is exactly what “excluding” is used for. For example, "Worldwide (excluding Germany)" or "Europe, CIS (excluding RU and BY)". You can replace “excluding” with another word if needed. The parser can be customized to your specific format. The main thing is that it is stable and standardized, not written in arbitrary forms with different wording for each game.
activation
optional (recommended)
Activation system (Steam, EGS, GOG, Xbox, ...). Many of our users want to know the activation system before visiting the store website. The absence of this information may reduce the attractiveness of your offers.
platform
optional (recommended)
Which gaming platforms the product is for (Windows, Linux, PS4, Xbox S|X, ...). If specified, adding your prices to the catalog will be significantly faster (otherwise our moderators will have to assign platforms manually for each price).
type
required / optional
Product type: key, gift, shipped product. This field is required if you have shipped products. If all products are delivered digitally, the field is optional (though still recommended).
currency
optional
At the moment, this value is practically not used. It is assumed that prices in feeds are specified in a single (predefined) currency.
external_id
optional
External product IDs: these can be app_id/sub_id/bundle_id in Steam, identifiers in EGS, etc. And of course, HGID (the product ID on Hot.Game) is the most reliable identifier.

Having these IDs will allow your offers to be added fully automatically. However, you should know that these IDs must be very precise. Our catalog does not allow, for example, mixing Deluxe editions with Standard ones. That is, the ID must exactly correspond to a SPECIFIC PRODUCT.
promo_end_timestamp
optional
Promotion/discount end time. Currently not taken into account; in the future, this information is planned to be displayed in the catalog. This field will only be considered in stores where this information is accurate.
Feed examples:
... <response> ... <game> <title>Assassin's Creed: Syndicate</title> <url>link_to_item_in_shop</url> <price>487.00</price> <available>1</available> <region>Ukraine, Russia + CIS</region> <activation>Uplay</activation> <platform>windows</platform> <version>key</version> </game> <game> <title>Assassin's Creed: Unity</title> <url>link_to_item_in_shop</url> <price>453.00</price> <available>1</available> <region>Region Free</region> <activation>Uplay</activation> <platform>windows</platform> <version>key</version> </game> <game> <title>Assetto Corsa - Ultimate Edition</title> <url>link_to_item_in_shop</url> <price>681.00</price> <available>0</available> <region>Russia + CIS (excluding Azerbaijan and Tajikistan)</region> <activation>Steam</activation> <platform>windows</platform> <version>key</version> </game> ... </response> ... [ ... { "title": "Assassin's Creed: Syndicate", "url": "link_to_item_in_shop", "price": 487.00, "available": true, "region": "Ukraine, Russia + CIS", "activation": "Uplay", "platform": "windows", "version": "key", "steam_app_id": "368500" }, { "title": "Assassin's Creed: Unity", "url": "link_to_item_in_shop", "price": 453.00, "available": true, "region": "Region Free", "activation": "Uplay", "platform": "windows", "version": "key", "steam_app_id": "289650" }, { "title": "Assetto Corsa - Ultimate Edition", "url": "link_to_item_in_shop", "price": 681.00, "available": false, "region": "Russia + CIS (excluding Azerbaijan and Tajikistan)", "activation": "Steam", "platform": "windows", "version": "key", "steam_app_id": "244210", "steam_bundle_id": "6998" }, ... ] ...
Additional features:

Upon request, we provide stores with moderator accounts, which allow them to add new offers from their stores themselves (following the rules of our catalog). They can also force price updates for especially important products without waiting for scheduled updates (which happen several times a day).