BYTETOOLS

SteamGPT API

Free Steam data API with no key: profile lookups, SteamID64 to STEAM_ and [U:1:] conversion, VAC and game bans, FACEIT stats and the public friend graph. Live example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 21 Aug 2026

What is the SteamGPT API?

SteamGPT is a free, key-free API for public Steam data. It converts between SteamID formats, returns profile summaries, VAC, game, community and trade ban status, FACEIT statistics and the public friend graph, with an explicit provenance block on every response.

The provenance block is what distinguishes this from a thin Steam proxy. Each data section arrives with `source`, `retrieved_at`, `age_seconds`, `fresh` and `cache_ttl`, so you know whether the online status you are about to display was fetched a minute ago or a day and a half ago. Branching on `provenance.fresh` rather than on whether a field happens to be populated is the difference between reporting 'currently offline' and reporting 'offline as of yesterday'.

Note that `steamid64` is a string throughout, deliberately. A 17-digit Steam id exceeds the range JSON numbers represent exactly, and parsing one numerically does not throw — it silently returns a different, valid-looking account. The API also picks its output format from the URL extension: append `.json` for code, `.md` for something a human might read, `.ai` for flat facts, or nothing at all for HTML. It is an independent service, not affiliated with Valve, and it serves only data already public on a profile.

Quick facts

Base URL
https://steamgpt.net
Authentication
Anonymous by default — no accounts, no keys, no cookies. An optional self-service bearer token, obtained without human involvement, raises the per-address soft limit from 120 to 600 requests a minute.
Rate limit
120 requests per minute per address anonymously, rising to 600 with the optional self-service token.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the SteamGPT API

Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Look up a Steam profile by SteamID64

GET https://steamgpt.net/profile/76561197960287930.json

curl
curl 'https://steamgpt.net/profile/76561197960287930.json'
JavaScript (fetch)
const res = await fetch("https://steamgpt.net/profile/76561197960287930.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://steamgpt.net/profile/76561197960287930.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "result": "success",
  "data": {
    "steamid64": "76561197960287930",
    "ids": {
      "steamid64": "76561197960287930",
      "steamid": "STEAM_1:0:11101",
      "steamid3": "[U:1:22202]"
    },
    "steam": {
      "steamid": "76561197960287930",
      "communityvisibilitystate": 2,
      "profilestate": 1,
      "personaname": "Rabscuttle",
      "profileurl": "https://steamcommunity.com/id/GabeLoganNewell/",
      "avatar": "https://avatars.steamstatic.com/c5d56249ee5d28a07db4ac9f7f60af961fab5426.jpg",
      "avatarmedium": "https://avatars.steamstatic.com/c5d56249ee5d28a07db4ac9f7f60af961fab5426_medium.jpg",
      "avatarfull": "https://avatars.steamstatic.com/c5d56249ee5d28a07db4ac9f7f60af961fab5426_full.jpg",
      "avatarhash": "c5d56249ee5d28a07db4ac9f7f60af961fab5426",
      "personastate": 0,
      "player_name": "Rabscuttle"
    },
    "canonical": {
      "steamid64": "76561197960287930",
      "url": "https://steamgpt.net/profile/76561197960287930"
    },
    "provenance": {
      "steam": {
        "source": "Steam Web API",
        "retrieved_at": 1787148825,
        "age_seconds": 149567,
        "fresh": true,
        "cache_ttl": 172800
      }
    }
  }
}

Parameters

ParameterTypeRequiredDescription
endpointpath segmentRequired`profile` for the Steam block, `identity` for id conversion only, `bans` for a ban check, `summary` for everything, `batch` for up to 100 ids at once. profile
steamidpath segmentRequiredSteamID64, vanity URL name or another id format. Send 17-digit ids as strings. 76561197960287930
formatpath extensionOptional`.json`, `.md` or `.ai` appended to the path. No extension returns HTML. .json
include / presetqueryOptionalTrim a `summary` response to named sections instead of fetching everything. steam,bans

Response fields

resultstring
`success` or `error`. Errors also carry a `code` and a `message` naming the problem.
data.steamid64string
The canonical id, as a string. Parsing it as a number silently points at a different account.
data.idsobject
All three id formats together — `steamid64`, the legacy `STEAM_1:0:11101` form and the `[U:1:22202]` form. This is the whole SteamID converter in one field.
data.steamobject
The public profile block: `personaname`, `profileurl`, three avatar sizes plus an `avatarhash`, `personastate` and `communityvisibilitystate`.
data.steam.communityvisibilitystateinteger
Valve's own enum, where 2 typically means public. A private profile limits everything else in the block.
data.canonicalobject
The canonical id and the SteamGPT URL for it, useful for deduplicating inputs that arrive in different formats.
data.provenanceobject
Per-section freshness: `source`, `retrieved_at`, `age_seconds`, `fresh` and `cache_ttl`. Branch on `fresh` before presenting anything as current.

What you can build with the SteamGPT API

  • Convert between SteamID64, STEAM_ and [U:1:] formats
  • Check VAC and game ban status before accepting a tournament entry
  • Show a player's Steam avatar and persona name on a community site
  • Look up FACEIT level alongside Steam identity in one call
  • Batch-resolve up to 100 ids in a single request instead of looping

Common errors and how to fix them

404 with `unknown_endpoint`

The path is not one of the documented endpoints.

Fix: The error body names the documentation URL. Endpoints are `identity`, `profile`, `bans`, `summary` and `batch`.

An id that resolves to the wrong account

The 17-digit SteamID64 was parsed as a JSON number and lost precision.

Fix: Keep it a string end to end, including in any intermediate JSON you generate.

Empty profile fields on a real account

The profile is private — check `communityvisibilitystate`.

Fix: Distinguish private from unavailable using `provenance`: unavailable means the upstream did not answer, empty means the player genuinely has no such data.

429

Above 120 requests a minute anonymously.

Fix: Use the `batch` endpoint for up to 100 ids per call, or request the optional self-service token to lift the limit to 600.

SteamGPT API — frequently asked questions

Does SteamGPT require an API key?

No. Every endpoint works anonymously with no account, key or cookie. An optional self-service token — issued without human involvement — raises the rate limit from 120 to 600 requests a minute, but nothing requires it.

How do I convert a SteamID64 to the STEAM_ format?

Call the `identity` endpoint with any id format and read `data.ids`, which returns all three forms together: the 17-digit SteamID64, the legacy `STEAM_1:0:11101` and the modern `[U:1:22202]`.

Is SteamGPT affiliated with Valve?

No. It is an independent service that reads and reformats data already public on Steam profiles. It is not a Valve product and it exposes nothing private.

What is the provenance block for?

It tells you how fresh each section is — when it was retrieved, how old that is, and whether it is still considered current. Check `provenance.fresh` before stating online status, current game or ban status as up to date.

Tools that pair with this API

Alternatives to SteamGPT API

If SteamGPT does not fit, these game & anime apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
PokéAPIFree Pokémon API with no key: stats, types, abilities, moves, evolutions and sprites for 1,000+ species. The most popular API for learning REST. Tested example.No keyYes19 Aug 2026
Rick and Morty APIFree Rick and Morty API with no key: 800+ characters, episodes and locations with images, filtering and pagination. REST and GraphQL. Tested example.No keyYes19 Aug 2026
Jikan (MyAnimeList)Free unofficial MyAnimeList API with no key: anime and manga data, scores, characters, staff and seasonal listings. Tested curl example and live JSON.No keyYes19 Aug 2026
Deck of CardsFree playing card API with no key: shuffle decks, draw cards, manage piles and get card images. Stateful deck ids. Tested curl example and live JSON.No keyYes19 Aug 2026
Studio Ghibli APIFree Studio Ghibli API with no key: films with descriptions, directors, scores and release dates, plus characters, locations and vehicles. Tested example.No keyYes19 Aug 2026
SWAPI (Star Wars)Free Star Wars API with no key: people, films, starships, vehicles, species and planets with linked resources. Classic learning API. Tested curl example.No keyYes19 Aug 2026
All Game & Anime APIs

SteamGPT is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.