Overview
The public Game Data API — reference facts about the games Sightline supports.
The Game Data API publishes the reference facts about the games Sightline supports: heroes, roles, maps, modes and patches. It is read-only JSON, and it is the same data every Sightline surface reads, so the app, the Discord bot and this API describe the game as of the same patch.
It carries no match data and nothing about your team.
Base URL
https://api.sightline.ggEvery resource lives under /v1/{game}, where {game} is a supported game
(overwatch today). Single resources are returned bare; collections are wrapped
in data and meta, where meta.patch names the newest recorded patch.
{ "data": [], "meta": { "patch": "2026-08-20", "count": 53 } }Hero data
Each hero includes localized names, aliases, Blizzard's official sub-role, a
5v5 Role Queue health breakdown (standard, armor, shields, total),
and the complete kit. The first three ability entries remain Ability 1,
Ability 2 and Ultimate for match-log compatibility; weapon modes, passives,
alternate forms and additional inputs follow.
Authentication
None. The API is public and open to any origin for GET, HEAD and OPTIONS.
Anonymous access is limited to 60 requests per minute per IP, reported on
every response through RateLimit-Limit, RateLimit-Remaining and
RateLimit-Reset. API keys with higher limits are coming later.
Caching
Successful /v1 responses are cached hard — one hour in the browser, a year at
the edge, with stale-while-revalidate on top — and carry a strong ETag. Send
it back as If-None-Match and you get a 304. A deploy invalidates the edge,
which is exactly when the data changes.
/health is never cached.
Errors
Errors are RFC 9457 problem documents
served as application/problem+json, with type URLs under
https://api.sightline.gg/problems/.
{
"type": "https://api.sightline.gg/problems/not-found",
"title": "Not Found",
"status": 404,
"detail": "No hero matches \"tracerr\"."
}Specification
The OpenAPI 3.1 document is served at
https://api.sightline.gg/v1/openapi.json.
The pages in this section are generated from it, and each endpoint has a
playground you can send live requests from.