Back to home

Frequently asked questions

The longer, deeper FAQ for SteamTools.games — what it does, what it does not, and what to do when something breaks.

Last updated: 2026-06-29

The block on the home page answers the six most-asked questions. This page is the longer version — the questions that come up a few times a month, the edge cases, the things that confuse people even after they have used the generator a few times. If your question is not here, the Discord is the fastest path to a real answer.

What is SteamTools.games, in one sentence?

A free, browser-based utility that produces the manifest and Lua pair SteamTools needs to unlock a game by App ID. It is a thin layer over Steam's public APIs and does not modify any game files on your machine.

Is this site affiliated with SteamTools, SteamDB, or Valve?

No. The site is operated by community members and is independent. The Steam name, the SteamTools name, and the SteamDB name are property of their respective owners and are used here for descriptive purposes only.

Why does the site exist when SteamTools already has a generator?

The official SteamTools generator is hosted on a third-party domain that has had reliability issues over the years. SteamTools.games was set up as a more resilient alternative. Both produce equivalent files; this site aims to be faster, more available, and more transparent about how it works.

How do I find the App ID for a game I own?

Three reliable ways, in order:

  1. From the store URL: open the game's store page, copy the number between /app/ and the next /. For example, https://store.steampowered.com/app/400/Portal/ -> 400.
  2. From SteamDB: search for the game, look at the canonical store URL at the top of the SteamDB app page, copy the number there.
  3. From your local Steam install: every installed game has a file appmanifest_<APPID>.acf in the steamapps directory. The number in the file name is the App ID.

There is a full walkthrough on a separate page.

Why does the generator return "App not found in the Steam store"?

Four common causes, in order of frequency:

  1. Wrong number. Most often this is a package ID, depot ID, or build ID, not an App ID. Confirm the number against the canonical store URL.
  2. Region-locked app. The generator currently queries cc=us. If the app is only sold in a specific region, the lookup returns empty.
  3. Delisted app. SteamDB keeps the record, but appdetails no longer returns it. SteamTools cannot work on delisted apps.
  4. Typo. A leading zero, a trailing space, or a thousands separator will all cause this error.

Why does the generator return a 429 error?

The generator enforces a minimum of 1.5 seconds between POST /api/generate calls per IP. If you send requests faster than that, you will get back a 429 with a Retry-After header. Steam's own upstream also rate-limits. If you see this, wait 5–10 seconds and retry.

If you are scripting against the API, the right pattern is exponential backoff with a cap at 10 seconds. There is no "API key" or elevated tier — every client gets the same rate limit.

Is the service safe? Do you store my data?

The service does not require an account, does not set tracking cookies, and does not write your search history to disk. The only data it processes in the short term is the search string and the App ID you confirm, and that is used for one request only. Server logs are rotated every 14 days. The Privacy Policy has the full details.

Why is the file called *.lua and what is in it?

The Lua file is a short script that tells SteamTools which depots to load for this app. It contains two lines: one to register the App ID and its depot decryption key, and one to point SteamTools at the specific build of the depot. The full breakdown is on the manifest files page.

Can I script the API?

Yes. The two endpoints are:

  • GET /api/search?query=<name-or-appid> — returns up to 5 matches as JSON.
  • POST /api/generate with a JSON body of { "appId": "<id>", "branch": "<optional>" } — returns the manifest URL, the Lua URL, the validated game name and image, and a short instructions list.

Both are subject to the per-IP rate limit (300 ms for search, 1.5 s for generate). There is no API key, no usage quota, and no per-IP cap beyond the rate limit. Please do not script the service at a rate higher than 1 request per 1.5 seconds.

Can I embed the generator in my own site?

The endpoint is a public, no-auth JSON API. You can use it from your own frontend as long as you respect the rate limit. The site does not have a documented CORS policy beyond the defaults; if you run into CORS issues, drop a note in the Discord.

What does the "Recent" strip on the home page actually do?

It reads from a single localStorage key (steamtools.recent.v1) and renders the most recent App IDs you have generated in the last 30 days. Nothing is sent to a server. You can clear it at any time from your browser's site data settings.

I found a bug / the generator is wrong about an app. What do I do?

The fastest path is the Discord. Drop the App ID, the URL you used, and what you expected to happen, and a moderator will route it to the right person. Most issues get triaged within an hour.

Is there a way to support the project?

There is no donation page, no Patreon, no merch. The site is funded out of pocket by a small group of community members and kept deliberately small so that the cost stays trivial. If you want to support the project, the most useful thing is to report bugs in the Discord and to tell other SteamTools users about the site.

Why are some apps missing from the "Popular games" section?

The Popular Games section is curated by a small group of moderators and updates monthly. If a game you think should be there is not, message the Discord and it will probably be added in the next refresh.

What happens if the service goes down?

A notice will go on the blog and a banner will go on the home page first. If the service is down for an extended period, a pinned message in the Discord will point to a working alternative.

The service is small enough that a single maintainer can re-deploy it in about ten minutes on a fresh VPS, so extended outages are unlikely. Brief blips do happen, mostly when Steam's API itself is having a bad day; those resolve on their own.