Skip to content

Battlefield: Bad Company 2

Battlefield 2 endpoints are available at https://api.bflist.io/v2/bfbc2/.

Missing servers

We're currently unable to query all Battlefield: Bad Company 2 servers due to issues with how some servers are hosted. As a result, we don't offer a livestats endpoint for BFBC2.

If you'd like to get your server listed, please see our FAQ entry on getting your server added.

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.

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": "237052242",
      "ip": "173.199.105.53",
      "port": 19567,
      "name": "Fire & Frost Conquest - Arica Harbor 24/7",
      "numPlayers": 14,
      "maxPlayers": 32,
      "map": "Levels/MP_006CQ",
      "mapLabel": "Arica Harbour",
      "gameType": "CONQUEST",
      "roundsPlayed": 2,
      "roundsTotal": 2,
      "targetScore": 0,
      "password": false,
      "ranked": true,
      "punkbuster": true,
      "punkbusterVersion": "v1.763 | A1382 C2.305",
      "joinQueue": true,
      "uptime": 58267,
      "roundTime": 3572,
      "region": "EU",
      "version": "851434",
      "teams": [
        {
          "tickets": 349.5546
        },
        {
          "tickets": 755.46545
        }
      ],
      "players": [
        {
          "name": "4karos",
          "tag": "15 RUS",
          "team": 1,
          "squad": 1,
          "squadLabel": "Alpha",
          "kills": 49,
          "deaths": 61,
          "score": 3670,
          "ping": 161
        },
        // more players
      ]
    },
    // more servers
  ],
  "cursor": "4c379877-b1f0-4534-8a4c-627d9503de9e",
  "hasMore": true
}

Get a server#

Retrieve a single server.

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": "937183869",
  "ip": "108.61.112.196",
  "port": 19567,
  "name": "#1 [=RhRA=] Panzerschlacht HC  by rhra.de",
  "numPlayers": 32,
  "maxPlayers": 32,
  "map": "Levels/MP_005",
  "mapLabel": "Atacama Desert",
  "gameType": "CONQUEST",
  "roundsPlayed": 1,
  "roundsTotal": 1,
  "targetScore": 0,
  "password": false,
  "ranked": true,
  "punkbuster": true,
  "punkbusterVersion": "v1.905 | A1382 C2.305",
  "joinQueue": true,
  "uptime": 348761,
  "roundTime": 3362,
  "region": "EU",
  "version": "851434",
  "teams": [
    {
      "tickets": 67.940315
    },
    {
      "tickets": 703.44141
    }
  ],
  "players": [
    {
      "name": "Zulumaster",
      "tag": "=RhRA=",
      "team": 2,
      "squad": 0,
      "squadLabel": "No squad",
      "kills": 0,
      "deaths": 0,
      "score": 0,
      "ping": 0
    },
    // more players
  ]
}

Get a player#

Fetch a currently active player.

GET /players/{name} HTTP/1.1

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.

Parameters

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

Response

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

{
  "name": "bulletshy07",
  "tag": "",
  "team": 1,
  "squad": 1,
  "squadLabel": "Alpha",
  "kills": 14,
  "deaths": 6,
  "score": 7600,
  "ping": 84
}

Get a player's current server#

Get the server a player is currently playing on.

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": "1d42e-353006e-6cd5780-219738",
  "ip": "5.149.214.28",
  "port": 19568,
  "name": "#1 VANILLA ONSLAUGHT 24/7 + BOTS",
  "numPlayers": 15,
  "maxPlayers": 32,
  "map": "Levels/BC1_Harvest_Day_CQ",
  "mapLabel": "Harvest Day",
  "gameType": "CONQUEST",
  "roundsPlayed": 1,
  "roundsTotal": 1,
  "targetScore": 0,
  "password": false,
  "ranked": false,
  "punkbuster": false,
  "punkbusterVersion": "",
  "joinQueue": false,
  "uptime": -1,
  "roundTime": -1,
  "region": "",
  "version": "",
  "teams": [
    {
      "tickets": 5.6433201
    },
    {
      "tickets": 242.35172
    }
  ],
  "players": [
    {
      "name": "Rois44",
      "tag": "",
      "team": 1,
      "squad": 1,
      "squadLabel": "Alpha",
      "kills": 0,
      "deaths": 0,
      "score": 0,
      "ping": 0
    },
    {
      "name": "Olegoz",
      "tag": "",
      "team": 2,
      "squad": 1,
      "squadLabel": "Alpha",
      "kills": 21,
      "deaths": 3,
      "score": 2130,
      "ping": 102
    },
    // more players
  ]
}