steamgpt-net Batch API
The Batch API from steamgpt-net — 2 operation(s) for batch.
The Batch API from steamgpt-net — 2 operation(s) for batch.
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-batch-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 Batch 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: Batch
paths:
/batch/{ids}:
get:
summary: Use when checking several players at once.
parameters:
- name: ids
in: path
required: true
schema:
type: string
description: comma-separated ids, max 100, any SteamID format except vanity names, e.g. 76561197960287930,STEAM_1:1:39075162,[U:1:22202]
- name: include
in: query
required: false
schema:
type: string
description: 'comma list: faceit, bans - one query / one upstream call for the whole batch'
responses:
'200':
description: players + not_found + invalid lists
content:
application/json:
schema:
$ref: '#/components/schemas/Batch'
text/markdown:
schema:
type: string
text/plain:
schema:
type: string
description: .ai deterministic text
'400':
description: More than 100 ids
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:
- Batch
operationId: getBatchByIds
x-operation-id-source: derived
/batch:
post:
summary: Batch profiles via JSON body (same limits as GET /batch)
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
maxItems: 100
items:
type: string
description: ids as STRINGS in any SteamID format except vanity names - never JSON numbers, a 17-digit number loses precision and points at another account
include:
type: array
items:
type: string
enum:
- faceit
- bans
required:
- ids
responses:
'200':
description: players + not_found + invalid lists
content:
application/json:
schema:
$ref: '#/components/schemas/Batch'
text/markdown:
schema:
type: string
text/plain:
schema:
type: string
description: .ai deterministic text
'400':
description: More than 100 ids
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'413':
description: Body over 16kb
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limited, honor Retry-After
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Batch
operationId: postBatch
x-operation-id-source: derived
components:
schemas:
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
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]'
Batch:
type: object
properties:
result:
type: string
enum:
- success
data:
type: object
properties:
count:
type: integer
players:
type: array
items:
type: object
description: 'batch entry: no canonical/provenance; faceit and steam_bans appear only with include'
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'
additionalProperties: true
not_found:
type: array
items:
type: string
description: valid steamid64 not found in cache
invalid:
type: array
items:
type: string
description: inputs that are not steamid64 (sanitized echo)
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
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)