Skip to content

Battlefield 2142

Deprecation and retirement of v1 API

Version 1 of the API will be deprecated on January 1, 2026. Please migrate to version 2.

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

Live stats#

Get the number of currently active players and servers in Battlefield 2.

Please take Battlefield 2142 active player numbers with a grain of salt. We aim to not count any bots as active players, but a small number of bots may still be included in the active player total.

GET /livestats

Response

200 OK

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

Get a page from the list of servers#

Per default, we send 50 servers per page. You can set a custom page size betweeen 20 and 100 via an optional perPage query parameter.

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.

GET /servers/:page

Response

200 OK
X-Total-Pages: 1

[
  {
    "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": "",
    "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": "0http://battlefield2142.co",
    "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
]

Get a server's details#

GET /servers/:ip::port

Note: You can also access each property individually. For example, GET /servers/:ip::port/name will return only the server's name as plain text. Complex properties (teams, players) are returned as JSON. So, GET /servers/:ip::port/players will return a JSON array of players on the server.

Response

200 OK
{
  "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=",
  "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's details#

GET /players/:name

Note: You can also access each property individually. For example, GET /players/:name/score will return only the players's current score as plain text.

Response

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

Get a player's current server's details#

GET /players/:name/server

Please see the section on getting an individual server's details, as this endpoint's features and response structure are identical.