Developer API

Steam Profile API & SteamID Resolver

Resolve Steam users from a SteamID, username or profile URL. Fetch public profile metadata or batch up to 20 profiles in one request.

Steam Profile API & SteamID Resolver endpoints

All endpoints return documented responses and use the same Steamwebapi key parameter.

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

STEAM PROFILE DATA

Steam Profile API and SteamID resolver in one integration

Resolve a Steam user from a SteamID, profile URL or vanity name and return a predictable profile object. Add detailed account fields, group memberships or batch lookup only when your workflow needs them.

GET /steam/api/profile

Fetch one Steam profile

Look up one account by SteamID, username or profile URL. Use state=full for additional account, ban, friend and game counters.

INPUT
id + optional state
RETURNS
Identity, avatar, visibility, activity and game data
GET /steam/api/profile/batch

Fetch up to 20 profiles

Enrich leaderboards, customer records, moderation queues or inventory batches without one client request per profile.

INPUT
comma-separated id values
RETURNS
response.players array
GET /steam/api/info/steamid

Convert SteamID formats

Normalize supported Steam identifiers before storing them or passing SteamID64 to another API workflow.

INPUT
steam_id
RETURNS
SteamID2 · SteamID3 · SteamID64
GET /explore/api/profile

Search stored Steam profiles

Search by name and filter available profile data by country, inventory worth, VAC state, profile type or sorting criteria.

INPUT
search + optional filters
RETURNS
Filtered profile results

Steam profile data returned by the API

Choose a compact identity response or request deeper profile context without changing the endpoint.

IDENTITY

SteamID, name and profile URLs

steamid · personaname · accountname · profileurl · profilesteamurl

Build a stable user record around SteamID64 while retaining the player-facing persona name and profile links.

PUBLIC PROFILE

Avatars, location and activity

avatarfull · realname · loccountrycode · onlinestate · ingameinfo

Render profile cards and community experiences with available public identity, visibility, account age, online state and game activity.

FULL MODE

Account and game context

level · friendscount · gamescount · groupscount · badgescount · gameban

Set state=full for additional counters and account status fields. Add with_groups=1 only when you need the full groups array.

How to integrate Steam profile lookup

Use one identifier throughout your product and request deeper data only at the point where it creates value.

  1. 01

    Accept the identifier your user has

    Start with a SteamID, Steam profile URL or vanity username. SteamID64 is recommended for repeat lookups and database joins.

  2. 02

    Choose minimal or full profile data

    The default response covers identity, avatars, visibility and activity. Use state=full for additional level, ban and account counters.

  3. 03

    Connect profile context to your product

    Pair Steam profile data with the Inventory API, Friend List API or Trade API for marketplaces, communities, bots and moderation tools.

Continue the Steam user data workflow

Use focused product pages for inventory, social graph and trading checks instead of overloading one profile request.

Steam Profile API & SteamID Resolver — quickstart

Use the same Steamwebapi key parameter as every other documented endpoint. Get an API key from the dashboard and send your first request in minutes.

  • One API key, documented responses.
  • 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?id=76561198000000000&state=minimal&key=$KEY"
# PHP
$res = file_get_contents('https://www.steamwebapi.com/steam/api/profile?id=76561198000000000&state=minimal&key=' . $KEY);
$data = json_decode($res, true);
# Node.js
const r = await fetch(`https://www.steamwebapi.com/steam/api/profile?id=76561198000000000&state=minimal&key=${KEY}`);
const data = await r.json();

About this API

The Steam Profile API retrieves one public Steam user through /steam/api/profile. The id parameter accepts a SteamID, username or profile URL, so applications can normalize the identifier a user already has into one predictable profile response.

The default response includes SteamID64, persona name, account and profile URLs, avatar variants, profile visibility, online state, current game information, account creation time, location, profile summary and available public game activity. Use state=full for additional level, friend, game, group, badge and account-status fields.

The SteamID resolver at /steam/api/info/steamid converts supported SteamID2, SteamID3 and SteamID64 values. Store SteamID64 as the stable key that connects profile, inventory, friend list and trading workflows.

For bulk enrichment, /steam/api/profile/batch accepts up to 20 SteamIDs and returns a response.players array. Use it for communities, leaderboard apps, moderation tools, CRM records and analytics pipelines that need profile context alongside inventory data.

Profile lookup does not create trades or expose private account data. Use the dedicated Steam Trading API for trade eligibility checks, the Steam Friend List API for social graph data and the Steam Inventory API for owned items.

Steam Profile API & SteamID Resolver — FAQ

How do I look up a Steam profile with the API?

Call /steam/api/profile with your Steamwebapi key and the id parameter. The id can be a SteamID, username or Steam profile URL; SteamID64 is recommended for repeat lookups.

Which Steam identifier formats can the SteamID resolver convert?

/steam/api/info/steamid accepts supported SteamID2, SteamID3 and SteamID64 values and returns all three normalized formats.

Which fields does the Steam Profile API return?

The minimal response can include SteamID64, persona name, profile URLs, avatar variants, visibility, online state, current game, account creation time, location, profile summary, VAC indicator and public game activity.

What is the difference between minimal and full profile data?

Minimal is the default profile response. Set state=full to add fields such as level, friend count, game count, group count, badge count, game-ban state and related account context.

Can the API return Steam group memberships?

Yes. Add with_groups=1 to the profile or profile batch request. The groups array is omitted by default to keep normal profile responses smaller.

How do I batch-fetch Steam profiles?

Use a GET request to /steam/api/profile/batch with up to 20 comma-separated SteamIDs in the id parameter. Results are returned in response.players; invalid or unavailable individual profiles may be skipped.

Can I search Steam profiles by name or country?

The separate /explore/api/profile endpoint searches available stored profile data by name and supports filters such as country, minimum inventory worth, VAC state, profile type and sorting.

Can the Steam Profile API check trade eligibility?

Trade eligibility is exposed through the separate /steam/api/profile/trade-eligibility endpoint and the Steam Trading API product page. Profile lookup itself focuses on identity and public profile metadata.

How should I handle an unavailable Steam profile?

A 404 means the identifier could not be resolved to a profile. A 503 indicates a temporary upstream Steam failure; honor Retry-After and retry with backoff instead of treating the profile as permanently missing.

Can I connect profile data to Steam inventories?

Yes. Use SteamID64 from the profile response as steam_id for /steam/api/inventory, or combine the profile and inventory batch endpoints in an enrichment workflow.

Start building with the Steam Profile API & SteamID Resolver

One key, every Steam endpoint.