Skip to content

About

A tiny utility for exporting select data from your Steam account, requiring an API key and your (or any) Steam64 ID.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Steam Library Data Exporter

This is a small application that exports your Steam library to a JSON file. It's written in C# and uses the Steam web API to fetch your library data. The exported JSON file can be used for various purposes, such as creating a snapshot/export of your library, sharing it with friends, or importing it into other applications.

Personally, I use it to feed it to LLMs and AIs like ChatGPT to get recommendations for games I might like (and actually have the time to play -- single code monkey dad got little in the way of free time) based on my previous library playing habits, detailed personal preferences explained to them, favorite genres and specific features (such as couch co-op for playing with friends or family). I also use it to analyze my library and see which games I have played the most, which ones I haven't played at all, and which ones I might want to play in the future.

Running Requirements

  • .NET 10.0 or higher

Limitations

  • You need to have your own Steam API key to use this application. You can get one for free from the Steam API Key page. The use of an actual domain is NOT required at all, you can use something random like localhost or whatever to generate a key. The key is associated to your Steam account, so make sure to keep it safe and DO NOT share it with anyone.
  • You need your Steam64 ID for the app to know which account to check. If you haven't set a custom URL for your Steam profile, you can find your Steam64 ID by going to your profile page and looking at the URL. It should look something like https://steamcommunity.com/profiles/12345678901234567 — that 17 digit number is your Steam64 ID. If you have set a custom URL for your profile, you can find your Steam64 ID by using Steam ID Finder or similar services.
  • Your user profile and games visibility must be set to Public in order for the application to fetch your library data. If your data is set to private, the application will not be able to access your library info and will return an error. You can change your profile settings back to what they were after exporting your data. These settings can be changed by going to your Steam profile, clicking on "Edit Profile", then "Privacy Settings", and setting the appropriate options to Public. The settings you need to change are "My Profile" and "Game Details". You can set them to "Friends Only" or "Private" after exporting your data if you wish.

Usage

  1. Run the app.
  2. Provide your Steam API key when prompted.
  3. Provide your Steam64 ID when prompted.
  4. The app will fetch your library data and export it to a JSON file on your environment desktop. The file will be named SteamGames.json.

Output

The application creates a SteamGames.json file on your desktop that contains a simplified version of your Steam library data in JSON format. The exported data will be in the following format:

[
  {
    "AppId": integer,
    "Name": string,
    "PlaytimeForever": TimeSpan,
    "PlaytimeLast2Weeks": TimeSpan (nullable),
    "HasAchievements": boolean (nullable),
    "TotalAchievements": integer (nullable),
    "ObtainedAchievements": integer (nullable),
    "AchievementPercentage": double (nullable),
    "LastPlayed": UnixTimeSeconds (nullable)
  }
]

Here is an example output of the exported JSON file with real app data:

[
  {
    "AppId": 1675830,
    "Name": "1000xRESIST",
    "PlaytimeForever": "20:16:00",
    "PlaytimeLast2Weeks": "11:42:00",
    "HasAchievements": true,
    "TotalAchievements": 32,
    "ObtainedAchievements": 32,
    "AchievementPercentage": 100,
    "LastPlayed": "2026-08-20T15:51:06+00:00"
  },
  {
    "AppId": 302190,
    "Name": "Amerzone: The Explorer's Legacy (1999)",
    "PlaytimeForever": "00:00:00",
    "PlaytimeLast2Weeks": null,
    "HasAchievements": null,
    "TotalAchievements": null,
    "ObtainedAchievements": null,
    "AchievementPercentage": null,
    "LastPlayed": null
  },
  {
    "AppId": 769670,
    "Name": "Gecata by Movavi 5 - Game Recording Software",
    "PlaytimeForever": "00:38:00",
    "PlaytimeLast2Weeks": null,
    "HasAchievements": null,
    "TotalAchievements": null,
    "ObtainedAchievements": null,
    "AchievementPercentage": null,
    "LastPlayed": "2025-08-08T22:39:00+00:00"
  }
]

About

A tiny utility for exporting select data from your Steam account, requiring an API key and your (or any) Steam64 ID.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages