Account Management

Methods used to manage the user’s account.

User

GET /userData.json

Information about the logged in user.

GET /userData.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "country": "AT",
  "currencies": [
    {
      "code": "EUR",
      "symbol": "€"
    },
    {
      "code": "USD",
      "symbol": "$"
    }
  ],
  "selectedCurrency": {
    "code": "EUR",
    "symbol": "€"
  },
  "preferredLanguage": {
    "code": "en",
    "name": "English"
  },
  "ratingBrand": "PEGI",
  "isLoggedIn": true,
  "checksum": {
    "cart": null,
    "games": "c1fc44f3808bd755560e1b00d34451a1",
    "wishlist": "fcfd279ac1042f8baf8e659729ab1b89",
    "reviews_votes": null,
    "games_rating": null
  },
  "updates": {
    "messages": 0,
    "pendingFriendRequests": 0,
    "unreadChatMessages": 0,
    "products": 0,
    "forum": 0,
    "total": 0
  },
  "userId": "48628349971017",
  "username": "Yepoleb",
  "email": "mail@example.com",
  "personalizedProductPrices": [],
  "personalizedSeriesPrices": []
}
GET /user/set-redirect-url

Sets URL to redirect to after login. You shouldn’t need this with a native client which is always logged in.

Query Parameters:
 
  • url – Redirect URL, the only accepted value seems to be checkout

Example request:

GET /user/set-redirect-url?url=checkout HTTP/1.1
Host: embed.gog.com

Example response:

No content

GET /user/reviewTipsStatus.json

Checks if the user has read the tips that pop up before you can write your first review.

Example request:

GET /user/reviewTipsStatus.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "userId": "48628349971017",
  "readTips": false
}
GET /users/info/(int: user_id)

Returns the public information about a user.

Query Parameters:
 
  • expand (str) – Additional sections to request. Possible values: friendStatus, wishlistStatus, blockedStatus
Response JSON Object:
 
  • friendStatus.status (int) –
    • ANONYMOUS_USER = 0: No special relationship with this user.
    • INVITED_USER = 1: You have sent this user a friend request.
    • INVITED_BY_USER = 2: You have received a friend request from this user.
    • FRIEND = 3: You are friends with this user.
  • friendStatus.dateCreated (int) – Timestamp of when a friend request was sent or null.
  • friendStatus.dateAccepted (int) – Timestamp of when a friend request was accepted or null.
  • wishlistStatus.sharing (int) –
    • WISHLIST_PRIVATE = 0
    • WISHLIST_PUBLIC = 1
    • WISHLIST_FOR_FRIENDS = 2

Example request:

GET /users/info/48628349971017?expand=friendStatus,wishlistStatus,blockedStatus HTTP/1.1
Host: embed.gog.com

Example response:

{
  "id": "48628349971017",
  "username": "Yepoleb",
  "userSince": 1449237763,
  "avatars": {
    "small": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avs.jpg",
    "small2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avs2.jpg",
    "medium": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avm.jpg",
    "medium2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avm2.jpg",
    "large": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avl.jpg",
    "large2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avl2.jpg"
  },
  "friendStatus": {
    "id": "48628349971017",
    "status": 0,
    "dateCreated": null,
    "dateAccepted": null
  },
  "wishlistStatus": {
    "sharing": 2,
    "url": "https://embed.gog.com/u/Yepoleb/wishlist"
  },
  "blockedStatus": {
    "blocked": false
  },
  "chatStatus": {
    "url": "https://embed.gog.com/u/Yepoleb/chat",
    "isChatRestricted": false
  }
}

Games & Movies

GET /user/data/games

List of games and movies the account owns. Use GET /account/getFilteredProducts for more than just the IDs.

Example request:

GET /user/data/games HTTP/1.1
Host: embed.gog.com

Example response:

{
  "owned": [
    1207658691,
    1207658713,
    1207658805,
    1207658924,
    1207658930,
    1207658945,
    1207658957,
    1929434313,
    1949616134,
    1432207890,
    1444035366,
    1444036272,
    1443696086
  ]
}
GET /account/gameDetails/(int: game_id).json

Returns detailed information about a game. Seems to work with movies as well, but they have their own method.

Example request:

GET /account/gameDetails/1207658691.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "title": "Unreal Tournament 2004 Editor's Choice Edition",
  "backgroundImage": "//images-4.gog.com/ebed1d5546a4fa382d7d36db8aee7f298eac7db3a8dc2f4389120b5b7b3155a9",
  "cdKey": "",
  "textInformation": "",
  "downloads": [
    [
      "English",
      {
        "windows": [
          {
            "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer3",
            "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en",
            "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 1 of 3)",
            "version": null,
            "date": "",
            "size": "1 MB"
          },
          {
            "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer4",
            "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en",
            "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 2 of 3)",
            "version": null,
            "date": "",
            "size": "1.5 GB"
          },
          {
            "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer5",
            "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en",
            "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 3 of 3)",
            "version": null,
            "date": "",
            "size": "507 MB"
          }
        ]
      }
    ]
  ],
  "extras": [
    {
      "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6093",
      "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6093",
      "name": "manual (33 pages)",
      "type": "manuals",
      "info": 1,
      "size": "2 MB"
    },
    {
      "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6073",
      "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6073",
      "name": "HD wallpapers",
      "type": "wallpapers",
      "info": 12,
      "size": "115 MB"
    },
    {
      "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6083",
      "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6083",
      "name": "avatars",
      "type": "avatars",
      "info": 8,
      "size": "1 MB"
    }
  ],
  "dlcs": [],
  "tags": [],
  "isPreOrder": false,
  "releaseTimestamp": 1227585600,
  "messages": [],
  "changelog": null,
  "forumLink": "https://embed.gog.com/forum/unreal_series",
  "isBaseProductMissing": false,
  "missingBaseProduct": null
}
GET /account/movieDetails/(int: movie_id).json

Returns detailed information about a movie.

Example request:

GET /account/movieDetails/1207665463.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "title": "Art of Playing, The",
  "backgroundImage": "//images-1.gog.com/a3e48e4e370e2e7e9cdf648b712ff0506b994b404b64993e3fab4934294a4890",
  "cdKey": "",
  "textInformation": "",
  "downloads": [
    {
      "manualUrl": "/downlink/the_art_of_playing/en1video1",
      "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video1",
      "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video1",
      "name": "The Art of Playing (1080p)",
      "size": "1.1 GB"
    },
    {
      "manualUrl": "/downlink/the_art_of_playing/en1video2",
      "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video2",
      "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video2",
      "name": "The Art of Playing (720p)",
      "size": "382 MB"
    },
    {
      "manualUrl": "/downlink/the_art_of_playing/en1video3",
      "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video3",
      "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video3",
      "name": "The Art of Playing (576p)",
      "size": "163 MB"
    }
  ],
  "extras": [
    {
      "manualUrl": "/downlink/file/the_art_of_playing/34143",
      "downloaderUrl": "gogdownloader://the_art_of_playing/34143",
      "name": "wallpaper",
      "type": "wallpapers",
      "info": 1,
      "size": "1 MB"
    },
    {
      "manualUrl": "/downlink/file/the_art_of_playing/34213",
      "downloaderUrl": "gogdownloader://the_art_of_playing/34213",
      "name": "trailer",
      "type": "video",
      "info": 1,
      "size": "92 MB"
    },
    {
      "manualUrl": "/downlink/file/the_art_of_playing/34553",
      "downloaderUrl": "gogdownloader://the_art_of_playing/34553",
      "name": "subtitles (English)",
      "type": "game add-ons",
      "info": 1,
      "size": "1 MB"
    },
    {
      "manualUrl": "/downlink/file/the_art_of_playing/37973",
      "downloaderUrl": "gogdownloader://the_art_of_playing/37973",
      "name": "subtitle pack",
      "type": "game add-ons",
      "info": 1,
      "size": "1 MB"
    }
  ],
  "dlcs": [],
  "tags": [],
  "isPreOrder": false,
  "releaseTimestamp": 693612000,
  "messages": [],
  "changelog": null,
  "forumLink": "https://www.gog.com/forum/movies",
  "isBaseProductMissing": false,
  "missingBaseProduct": null
}
GET /user/games_rating.json

Returns the products the account has rated. Rating numbers are stars * 10

Example request:

GET /user/games_rating.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "games_rating": {
    "1207658957": 40,
    "1207659032": 50
  },
  "checksum": "175d07086bff9322646f1dad2749483e"
}
GET /user/review_votes.json

Returns review IDs the user has voted on.

Example request:

GET /user/review_votes.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "reviews": [
    123456,
    1112223
  ],
  "checksum": "76c03aa67251e46db3271adf4641b815"
}
POST /account/hideProduct/(int: product_id)

Hides a product from your library.

Example request:

POST /user/hideProduct/1430740458 HTTP/1.1
Host: embed.gog.com

Example response:

{}
POST /account/revealProduct/(int: product_id)

Unhides a product from your library.

Example request:

POST /user/revealProduct/1430740458 HTTP/1.1
Host: embed.gog.com

Example response:

{}

Wishlist

GET /user/wishlist.json

Returns the wishlist of the account.

Example request:

GET /user/wishlist.json HTTP/1.1
Host: embed.gog.com

Example response:

{
  "wishlist": {
    "1207658750": true,
    "1207658928": true,
    "1207658986": true,
    "1207659002": true,
    "1207659023": true,
    "1437553673": true,
    "1440407371": true,
    "1452863689": true,
    "1893001152": true,
    "1948823323": true
  },
  "checksum": "e7c70b9b758318ed2f08b4450272296c"
}
GET /user/wishlist/add/(int: product_id)

Adds a product to the wishlist and returns the new list.

Example request:

GET /user/wishlist/add/1207658750 HTTP/1.1
Host: embed.gog.com

Example response:

Same as GET /user/wishlist.json

GET /user/wishlist/remove/(int: product_id)

Removes a product from the wishlist and returns the new list.

Example request:

GET /user/wishlist/remove/1207658750 HTTP/1.1
Host: embed.gog.com

Example response:

Same as GET /user/wishlist.json

Tags

POST /account/tags/attach

Adds a tag to a product.

Query Parameters:
 
  • product_id (int) – Product ID to add the tag to
  • tag_id (int) – ID of the tag to attach

Example request:

POST /account/tags/attach?product_id=1430740458&tag_id=301045732 HTTP/1.1
Host: embed.gog.com

Example response:

{
  "success": true
}
POST /account/tags/detach

Removes a tag to a product.

Query Parameters:
 
  • product_id (int) – Product ID to remote the tag from
  • tag_id (int) – ID of the tag to detach

Example request:

POST /account/tags/detach?product_id=1430740458&tag_id=301045732 HTTP/1.1
Host: embed.gog.com

Example response:

{
  "success": true
}
POST /account/tags/add

Creates a new tag.

Query Parameters:
 
  • name (str) – Name of the new tag

Example request:

POST /account/tags/add?name=MYTAG HTTP/1.1
Host: embed.gog.com

Example response:

{
  "id": "301045732"
}
POST /account/tags/delete

Deletes a tag.

Query Parameters:
 
  • tag_id (int) – ID of the tag to delete

Example request:

POST /account/tags/delete?tag_id=301045732 HTTP/1.1
Host: embed.gog.com

Example response:

{
  "status": "deleted"
}
POST /account/tags/update

Updates the tag list. Data isn’t actually posted but included as a query parameter (wat!?).

Query Parameters:
 
  • tags (json) – URL-encoded json data of the tags

Example request:

POST /account/tags/update?tags=%5B%7B%22id%22:%22301045732%22... HTTP/1.1
Host: embed.gog.com

Example request data:

This is the urldecoded content of the query parameter.

[{
  "id": "372082953",
  "name": "MYTAG"
}, {
  "id": "243982903",
  "name": "COMPLETED",
  "productCount": "12"
}, {
  "id": "243982893",
  "name": "NEXT TO PLAY",
  "productCount": "4"
}, {
  "id": "243982883",
  "name": "BACKLOG",
  "productCount": "0"
}, {
  "id": "243982873",
  "name": "FAVORITE",
  "productCount": "0"
}]

Example response:

{
  "status": "updated"
}

Settings

GET /account/save_birthday/(str: date)

Sets the birthday.

Parameters:
  • date – Date in ISO 8601 format

Example request:

GET /account/save_birthday/2000-12-31 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_country/(str: country)

Sets the country.

Parameters:
  • country – Country as ISO 3166 code

Example request:

GET /account/save_country/AT HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_newsletter_subscription/(bool: subscribed)

Enable notifications for releases and announcements.

Parameters:
  • subscribed – 0 (unsubscribe), 1 (subscribe)

Example request:

GET /account/save_newsletter_subscription/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_promo_subscription/(bool: subscribed)

Enable notifications for promos and deals.

Parameters:
  • subscribed – 0 (unsubscribe), 1 (subscribe)

Example request:

GET /account/save_promo_subscription/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_wishlist_notification/(bool: subscribed)

Enable notifications for whishlist items on sale.

Parameters:
  • subscribed – 0 (unsubscribe), 1 (subscribe)

Example request:

GET /account/save_wishlist_notification/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_sharing_wishlist/(int: privacy)

Sets if the wishlist is public.

Parameters:
  • privacy – Can be 0 (nobody), 1 (everyone) or 2 (friends only)

Example request:

GET /account/save_sharing_wishlist/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_chat_privacy/(int: privacy)

Sets the chat privacy setting.

Parameters:
  • privacy – Can be 0 (nobody), 1 (anyone) or 2 (friends only)

Example request:

GET /account/save_chat_privacy/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /account/save_search_privacy/(bool: privacy)

Changes if the user can be found by name or email.

Parameters:
  • privacy
    • 0 (search disabled)
    • 1 (search enabled)

Example request:

GET /account/save_search_privacy/1 HTTP/1.1
Host: embed.gog.com

Example response:

{}
POST /account/logout_all_sessions

Example request:

GET /account/logout_all_sessions HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /user/changeCurrency/(str: currency)

Changes the default currency.

Parameters:
  • currency (str) – ISO 4217 currency code, currently available: USD, EUR, GBP, AUD, RUB, PLN, CAD, CHF, NOK, SEK and DKK. Please only use the ones listed in GET /userData.json.

Example request:

GET /user/changeCurrency/EUR HTTP/1.1
Host: embed.gog.com

Example response:

{}
GET /user/changeLanguage/(str: language)

Changes the used locale.

Parameters:
  • language (str) – Language to use, possible values: de-DE, en-US, fr-FR, pt-BR, ru-RU, zh-Hans

Example request:

GET /user/changeLanguage/de HTTP/1.1
Host: embed.gog.com

Example response:

{}
POST /account/save_shelf_background/(str: background_name)

Sets the library shelf style.

Parameters:
  • background_name (str) – One of wood, mate_black, glass, chrome, white, piano_black.

Example request:

GET /account/save_shelf_background/glass HTTP/1.1
Host: embed.gog.com

Example response:

{}
POST /account/avatar

Upload a profile avatar. This request uses the login.gog.com domain instead of the regular gog.com.

Example request:

POST /account/avatar HTTP/1.1
Host: login.gog.com

Content-Disposition: form-data; name="files[]"; filename="avatar.png"
Content-Type: image/png

Example response:

{
  "avatars": {
    "small": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs.jpg",
    "small_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs2.jpg",
    "medium": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm.jpg",
    "medium_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm2.jpg",
    "large": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl.jpg",
    "large_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl2.jpg"
  }
}

Friends

POST /friends/search

Search for GOG users.

Example request:

POST /friends/search HTTP/1.1
Host: embed.gog.com

{
  "query": "Yepoleb"
}

Example response:

{
  "id": "48628349971017",
  "galaxyUserId": "48628349957132247",
  "username": "Yepoleb",
  "userSince": 1449237763,
  "avatars": {
    "small": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs.jpg",
    "small2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs2.jpg",
    "medium": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm.jpg",
    "medium2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm2.jpg",
    "large": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl.jpg",
    "large2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl2.jpg"
  }
}
GET /friends/invite/(int: user_id)

Send a friend invite to a user. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/invite/17081829469374 HTTP/1.1
Host: embed.gog.com

Example response:

"ok"
GET /friends/remove/(int: user_id)

Removes a friend from your friends list. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/remove/17081829469374 HTTP/1.1
Host: embed.gog.com

Example response:

"ok"
GET /friends/invites/(int: user_id)/accept

Accepts a friend invite. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/invites/17081829469374/accept HTTP/1.1
Host: embed.gog.com

Example response:

"ok"
GET /friends/invites/(int: user_id)/decline

Declines a friend invite. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/invites/17081829469374/decline HTTP/1.1
Host: embed.gog.com

Example response:

"ok"
GET /users/(int: user_id)/block

Block communication from a user. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/17081829469374/block HTTP/1.1
Host: embed.gog.com

Example response:

"ok"
GET /users/(int: user_id)/unblock

Unblock communication from a user. Warning: Response is not an object and may break certain JSON decoders.

Example request:

POST /friends/17081829469374/unblock HTTP/1.1
Host: embed.gog.com

Example response:

"ok"