Skip to content

Battlefield 2142

Battlefield 2142 endpoints are available at https://api.bflist.io/v2/bf2142/.

Live stats#

Retrieve the current number of active players and servers.

A note on Battlefield 2142 active player counts

We do our best to exclude bots from the active player count, but it's possible that a small number of bots are still included. Please consider these numbers as approximate.

Request

GET /livestats HTTP/1.1

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "servers": 9,
  "players": 12
}

List servers#

Get a paginated list of currently available servers.

Since servers for older Battlefield games do not have a guid, one is generated using the server's ip and port. The generated guid is bflist-specific and neither known to nor returned by the server.

Server variables

We support custom server variables added using the sponsortext standard. Any variables provided via sv.sponsorText are automatically parsed and exposed under the variables property.

If you prefer to handle parsing yourself - or are already using sponsorText for another purpose - you can access the raw value directly via the sponsorText property.

Request

GET /servers HTTP/1.1

Parameters

param Description
cursor Pagination cursor (optional, required if after is set)
after Pagination marker (optional)
perPage Number of items per page (optional, default: 50)

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "servers": [
    {
      "guid": "280c936-cd4e980-7dfa898-bfd916",
      "ip": "104.238.186.56",
      "port": 17567,
      "queryPort": 29900,
      "name": "Reclamation EU",
      "numPlayers": 11,
      "maxPlayers": 64,
      "mapName": "Shuhia_Taiba",
      "mapSize": 32,
      "password": false,
      "gameType": "gpm_cq",
      "gameVersion": "1.10.112.0",
      "gameVariant": "bf2142",
      "timelimit": 0,
      "roundsPerMap": 1,
      "ranked": true,
      "anticheat": false,
      "battlerecorder": false,
      "demoIndex": "http://",
      "demoDownload": "http://",
      "voip": true,
      "autobalance": true,
      "friendlyfire": true,
      "tkmode": "Punish",
      "startdelay": 15,
      "spawntime": 15,
      "sponsorText": "$vars:website=https://battlefield2142.co/;discord=https://discord.gg/MEwBW9U",
      "sponsorLogoUrl": "http://lightav.com/bf2142/mixedmode.jpg",
      "communityLogoUrl": "http://lightav.com/bf2142/mixedmode.jpg",
      "scorelimit": 0,
      "ticketratio": 100,
      "teamratio": 100,
      "team1": "Pac",
      "team2": "EU",
      "pure": true,
      "globalUnlocks": true,
      "reservedSlots": 0,
      "maxRank": false,
      "provider": "OpenSpy",
      "region": "EU",
      "averagePing": 53,
      "rankedTournament": false,
      "allowSpectators": false,
      "customMapUrl": "http://battlefield2142.co",
      "variables": {
        "website": "https://battlefield2142.co/",
        "discord": "https://discord.gg/MEwBW9U"
      }
      "teams": [
        {
          "index": 1,
          "label": "Pac"
        },
        {
          "index": 2,
          "label": "EU"
        }
      ],
      "players": [
        {
          "pid": 47088,
          "name": "HawkeAssault",
          "tag": "=LMB=",
          "score": 13,
          "kills": 3,
          "deaths": 0,
          "ping": 101,
          "team": 2,
          "teamLabel": "EU"
        },
        // more players
      ]
    },
    // more servers
  ],
  "cursor": "4c379877-b1f0-4534-8a4c-627d9503de9e",
  "hasMore": true
}

Get a server#

Retrieve a single server.

Request

GET /servers/{ip}:{port} HTTP/1.1

Parameters

param Description
ip Server's (public) IP address
port Server's game port

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "guid": "202b179-36ce39-2e52886-a64c76",
  "ip": "93.29.112.52",
  "port": 17567,
  "queryPort": 29900,
  "name": "Cadre of War",
  "numPlayers": 1,
  "maxPlayers": 64,
  "mapName": "Suez_Canal",
  "mapSize": 48,
  "password": false,
  "gameType": "gpm_ti",
  "gameVersion": "1.10.112.0",
  "gameVariant": "bf2142",
  "timelimit": 0,
  "roundsPerMap": 10,
  "ranked": false,
  "anticheat": false,
  "battlerecorder": false,
  "demoIndex": "http://",
  "demoDownload": "http://",
  "voip": true,
  "autobalance": true,
  "friendlyfire": false,
  "tkmode": "No Punish",
  "startdelay": 0,
  "spawntime": 5,
  "sponsorText": "",
  "sponsorLogoUrl": "",
  "communityLogoUrl": "",
  "scorelimit": 0,
  "ticketratio": 200,
  "teamratio": 100,
  "team1": "Pac",
  "team2": "EU",
  "pure": true,
  "globalUnlocks": true,
  "reservedSlots": 0,
  "maxRank": false,
  "provider": "",
  "region": "",
  "averagePing": 104,
  "rankedTournament": false,
  "allowSpectators": false,
  "customMapUrl": "1http://bfeditor.org/index.php?lang=English&sec=maps&act=vmap&game=bf2142&map=",
  "variables": {},
  "teams": [
    {
      "index": 1,
      "label": "Pac"
    },
    {
      "index": 2,
      "label": "EU"
    }
  ],
  "players": [
    {
      "pid": 42233,
      "name": "CrimsonBlood",
      "tag": "",
      "score": 40,
      "kills": 20,
      "deaths": 25,
      "ping": 104,
      "team": 2,
      "teamLabel": "EU"
    },
    // more players
  ]
}

Get a player#

Fetch a currently active player.

Player Name Conflicts

In rare cases, two active players may have exactly the same name. To avoid inconsistencies, the API responds with a 409 Conflict error if a request refers to a player name that isn't unique.

Request

GET /players/{name} HTTP/1.1

Parameters

param Description
name Player's url-encoded name/nick (without any tag/prefix)

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "pid": 47126,
  "name": "MMX",
  "tag": "->EPC<-",
  "score": 1,
  "kills": 1,
  "deaths": 2,
  "ping": 22,
  "team": 1,
  "teamLabel": "Pac"
}

Get a player's current server#

Get the server a player is currently playing on.

Request

GET /players/{name}/server HTTP/1.1

Parameters

param Description
name Player's url-encoded name/nick (without any tag/prefix)

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "guid": "2189c51-74c69cc-3e1b81a-3a6680",
  "ip": "95.179.130.30",
  "port": 17567,
  "queryPort": 29901,
  "name": "BF2142 Reclamation NL",
  "numPlayers": 34,
  "maxPlayers": 64,
  "mapName": "carbone_island",
  "mapSize": 32,
  "password": false,
  "gameType": "gpm_coop",
  "gameVersion": "1.10.112.0",
  "gameVariant": "bf2142",
  "timelimit": 0,
  "roundsPerMap": 1,
  "ranked": false,
  "anticheat": false,
  "battlerecorder": true,
  "demoIndex": "http://95.179.130.30/demos/",
  "demoDownload": "http://95.179.130.30/demos/",
  "voip": true,
  "autobalance": true,
  "friendlyfire": true,
  "tkmode": "Punish",
  "startdelay": 15,
  "spawntime": 15,
  "sponsorText": "http://battlefield2142.co",
  "sponsorLogoUrl": "http://bf2142.ddns.net/BF2142banners/Reclamation_EU_Banner_2025.png",
  "communityLogoUrl": "http://bf2142.ddns.net/BF2142banners/Reclamation_EU_Banner_2025.png",
  "scorelimit": 80,
  "ticketratio": 100,
  "teamratio": 100,
  "team1": "Pac",
  "team2": "EU",
  "pure": true,
  "globalUnlocks": true,
  "reservedSlots": 0,
  "maxRank": false,
  "provider": "",
  "region": "",
  "averagePing": 2,
  "rankedTournament": false,
  "allowSpectators": false,
  "customMapUrl": "http://bfeditor.org/index.php?lang=English&sec=maps&act=vmap&game=bf2142&map=",
  "teams": [
    {
      "index": 1,
      "label": "Pac"
    },
    {
      "index": 2,
      "label": "EU"
    }
  ],
  "players": [
    {
      "pid": 10970,
      "name": "Mumie",
      "tag": "",
      "score": 205,
      "kills": 163,
      "deaths": 0,
      "ping": 30,
      "team": 1,
      "teamLabel": "Pac"
    },
    // more players
  ]
}