steamgpt-net Summary API
The Summary API from steamgpt-net — 1 operation(s) for summary.
The Summary API from steamgpt-net — 1 operation(s) for summary.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/steamgpt-net:steamgpt-net-summary-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SteamGPT Summary API
version: 1.3.0
description: Structured Steam identity and gaming context API, designed for AI agents and search assistants that need factual public Steam player information. No auth, no cookies, no tracking. Append .md (markdown), .json (JSON) or .ai (deterministic plain text) to any data endpoint; default depends on Accept header. Errors carry a machine-readable `error` slug and follow the same format selection.
servers:
- url: https://steamgpt.net
- url: https://steamgpt.net/v1
security:
- {}
- boostToken:
- rate-boost
tags:
- name: Summary
paths:
/summary/{id}:
get:
summary: Use when a complete overview of a Steam player is needed.
parameters:
- name: id
in: path
required: true
schema:
type: string
description: steamid64 (17 digits), STEAM_1:0:x, [U:1:x], steamcommunity.com profile URL or vanity name
- name: include
in: query
required: false
schema:
type: string
description: 'restricts the response to the listed blocks: steam, faceit, friends, bans. Omit for all of them; unknown values give 400'
- name: preset
in: query
required: false
schema:
type: string
enum:
- identity
- competitive
- full
description: 'agent shorthand: identity = steam block only, competitive = faceit + bans, full = everything. Explicit include wins'
- name: friends_limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 5000
default: 100
description: cap the friend list
- name: friends_detail
in: query
required: false
schema:
type: string
enum:
- short
- medium
- full
description: friend entry shape
responses:
'200':
description: 'Full aggregate: Steam + FACEIT + friends'
content:
application/json:
schema:
$ref: '#/components/schemas/Summary'
text/markdown:
schema:
type: string
text/plain:
schema:
type: string
description: .ai deterministic text
text/html:
schema:
type: string
'400':
description: Unknown include value
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limited, honor Retry-After
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Summary
operationId: getSummaryById
x-operation-id-source: derived
components:
schemas:
Canonical:
type: object
description: 'Stable resource identity: vanity and steamid64 URLs are the same resource'
properties:
steamid64:
type: string
url:
type: string
SteamPlayer:
type:
- object
- 'null'
description: Raw Steam GetPlayerSummaries player object, unmodified field names
properties:
steamid:
type: string
personaname:
type: string
profileurl:
type: string
avatar:
type: string
avatarmedium:
type: string
avatarfull:
type: string
personastate:
type: integer
description: 0 offline, 1 online, 2 busy, 3 away, 4 snooze, 5 looking to trade, 6 looking to play
communityvisibilitystate:
type: integer
description: 3 = public
timecreated:
type: integer
description: unixtime
lastlogoff:
type: integer
description: unixtime
gameextrainfo:
type: string
loccountrycode:
type: string
additionalProperties: true
Summary:
type: object
properties:
result:
type: string
enum:
- success
data:
type: object
properties:
steamid64:
type: string
ids:
$ref: '#/components/schemas/Ids'
steam:
$ref: '#/components/schemas/SteamPlayer'
faceit:
type:
- object
- 'null'
additionalProperties: true
faceit_bans:
type: array
items:
type: object
additionalProperties: true
steam_bans:
type:
- object
- 'null'
description: GetPlayerBans object; absent when include excludes bans
additionalProperties: true
friends:
$ref: '#/components/schemas/FriendsData'
canonical:
$ref: '#/components/schemas/Canonical'
provenance:
type: object
description: 'keys follow include: faceit / steam_bans absent when their blocks are excluded'
properties:
steam:
$ref: '#/components/schemas/SourceProvenance'
faceit:
$ref: '#/components/schemas/SourceProvenance'
steam_bans:
$ref: '#/components/schemas/SourceProvenance'
sources:
type: object
description: 'per-source status: ok (data present), empty (no such data), unavailable (source did not answer - absence is NOT a fact), excluded (not requested)'
properties:
steam:
type: string
enum:
- ok
- empty
- unavailable
- excluded
faceit:
type: string
enum:
- ok
- empty
- unavailable
- excluded
friends:
type: string
enum:
- ok
- empty
- unavailable
- excluded
bans:
type: string
enum:
- ok
- empty
- unavailable
- excluded
partial:
type: boolean
description: true when at least one source is unavailable
SourceProvenance:
type: object
properties:
source:
type: string
example: Steam Web API
retrieved_at:
type:
- integer
- 'null'
description: unixtime of the cached snapshot
age_seconds:
type:
- integer
- 'null'
description: snapshot age at response time
fresh:
type: boolean
description: age within cache_ttl; false when unknown
cache_ttl:
type:
- integer
- 'null'
description: refresh policy in seconds
refreshed_with:
type: string
description: 'steam_bans only: bans refresh together with this source snapshot'
Error:
type: object
properties:
result:
type: string
enum:
- error
code:
type: integer
error:
type: string
enum:
- player_not_found
- no_faceit_data
- no_bans_data
- batch_too_large
- batch_no_valid_ids
- bad_request
- invalid_token
- unknown_endpoint
- rate_limited
- internal
message:
type: string
required:
- result
- code
- error
FriendsData:
type: object
properties:
count:
type: integer
description: total known friends (may exceed shown list)
friends:
type: array
items:
oneOf:
- type: string
description: 'detail=short: plain steamid64'
- type: object
description: detail=medium
properties:
steamid64:
type: string
personaname:
type:
- string
- 'null'
- type: object
description: detail=full (default)
properties:
steamid64:
type: string
steam:
$ref: '#/components/schemas/SteamPlayer'
Ids:
type: object
description: All SteamID representations of the player
properties:
steamid64:
type: string
example: '76561197960287930'
steamid:
type:
- string
- 'null'
example: STEAM_1:0:11101
steamid3:
type:
- string
- 'null'
example: '[U:1:22202]'
securitySchemes:
boostToken:
type: oauth2
description: 'OPTIONAL. Every endpoint works without any credential. A self-service token (no registration, no client_id) raises the per-IP rate limit from 120 to 600 requests/min. Send it as: Authorization: Bearer <access_token>. Details: https://steamgpt.net/auth.md'
flows:
clientCredentials:
tokenUrl: https://steamgpt.net/oauth/token
scopes:
rate-boost: Higher per-IP rate limit (600/min instead of 120/min)