TF2 maps

API

JSON, read-only. Every call needs the token from your account page in the header Authorization: Bearer <token>. The same header opens large and full-size images and bundles to scripts.

CallAnswer
GET /v1/setsThe image sets: key, title, description, number of maps.
GET /v1/mapsEvery map: name, game mode, the sets and SVG sets it is in.
GET /v1/maps/{name}One map with the address of every image by set, size and format, the access each size needs, and its SVGs.
GET /v1/bundlesThe bundles with address, size in bytes, what they hold, the access they need and your downloads left this month.
GET /v1/meYour Steam ID, whether full size is approved, when the token was issued, your bundle downloads this month.

Example

curl -H "Authorization: Bearer $TOKEN" https://maps.tf2.lol/v1/maps/cp_badlands
{
  "name": "cp_badlands",
  "game_mode": "Control Point",
  "sets": ["rendered", "blueprint", "sketch", "blueprint_tinted", "sketch_tinted"],
  "svg_sets": ["blueprint", "sketch", "blueprint_tinted", "sketch_tinted"],
  "images": {
    "rendered": {
      "small":  {"access": "public",  "webp": "/png/rendered/small/cp_badlands.webp",  "jpg": "/png/rendered/small/cp_badlands.jpg"},
      "medium": {"access": "public",  "webp": "/png/rendered/medium/cp_badlands.webp", "jpg": "..."},
      "large":  {"access": "account", "webp": "/png/rendered/large/cp_badlands.webp",  "jpg": "..."},
      "full":   {"access": "full",    "webp": "/png/rendered/full/cp_badlands.webp",   "jpg": "...", "png": "/png/rendered/full/cp_badlands.png"}
    },
    "blueprint": {"...": "..."}
  },
  "svg": {"blueprint": "/svg/blueprint/cp_badlands.svg", "sketch": "..."}
}

Files

Image addresses are stable and may be linked directly: /png/{set}/{size}/{map}.webp or .jpg, the full size also as .png, and /svg/{set}/{map}.svg. Small, medium and SVG need no token. Please keep a copy of what you fetch instead of fetching it again.

Errors

StatusMeaning
401No or unknown token.
403Full size without an approved request, or not a published file.
404Unknown map or file.
429This bundle was downloaded 2 times this month.

Error answers are JSON with an error field.