Developer API

Steam Profile API

Resolve SteamIDs from any format, fetch profile metadata, batch up to 100 profiles per call.

Endpoints

All endpoints return JSON, accept the same auth header, and degrade with a normalised error envelope.

GET /steam/api/profile
GET /steam/api/profile/batch
GET /steam/api/info/steamid
GET /explore/api/profile

Steam Profile API — quickstart

Same auth header as every other endpoint we ship. Get an API key from the dashboard and you're querying inside two minutes.

  • Single auth header, JSON response.
  • Rate limits scale with your plan tier.
  • Full schema in the API reference.
API Request
# curl with API key
curl "https://www.steamwebapi.com/steam/api/profile?key=$KEY"
# PHP
$res = file_get_contents('https://www.steamwebapi.com/steam/api/profile?key=' . $KEY);
$data = json_decode($res, true);
# Node.js
const r = await fetch(`https://www.steamwebapi.com/steam/api/profile?key=${KEY}`);
const data = await r.json();

About this API

The Steam Profile API normalises every flavour of Steam identifier — SteamID32, SteamID64, vanity URL, profile URL — and returns a clean profile DTO with username, avatar, country, account creation date, and trade eligibility.

Batch endpoint takes up to 100 SteamIDs in a single request, ideal for community tools, leaderboard apps, or any analytics pipeline that needs profile context alongside trade data.

FAQ

Which Steam identifier formats are supported?

SteamID32, SteamID64, vanity URL, full profile URL. /steam/api/info/steamid converts between all of them.

Can I check if a profile can trade?

Yes — /steam/api/profile/trade-eligibility returns trade ban status, lock state, and Steam Guard requirements in one call.

How do I batch-fetch profiles?

Use /steam/api/profile/batch with a list of SteamIDs (max 100 per call). Response keyed by SteamID.

Start building with the Steam Profile API

One key, every Steam endpoint.