Skip to content

Battlefield 3

Battlefield 3 endpoints are available at https://api.bflist.io/v2/bf3/.

Live stats#

Retrieve the current number of active players and servers.

GET /livestats HTTP/1.1

Response

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

{
  "servers": 183,
  "players": 1477
}

List servers#

Get a paginated list of currently available servers.

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": "d51411f6-4ef8-454d-8b72-a4f80df906ad",
      "ip": "94.250.194.4",
      "port": 25200,
      "name": "Cloverfield :: TOTAL WAR : No Rules | 64 Slots",
      "numPlayers": 36,
      "maxPlayers": 64,
      "map": "MP_013",
      "mapLabel": "Damavand Peak",
      "gameType": "ConquestLarge",
      "roundsPlayed": 0,
      "roundsTotal": 1,
      "targetScore": 0,
      "password": false,
      "ranked": true,
      "punkbuster": true,
      "punkbusterVersion": "v1.905 | A1386 C2.352",
      "joinQueue": true,
      "quickmatch": true,
      "uptime": 379790,
      "roundTime": 997,
      "region": "EU",
      "country": "DE",
      "pingSite": "ams",
      "version": "3065862",
      "teams": [
        {
          "tickets": 998.397
        },
        {
          "tickets": 1002.03906
        }
      ],
      "players": [
        {
          "name": "McWhooopper",
          "team": 1,
          "squad": 2,
          "squadLabel": "Bravo",
          "kills": 7,
          "deaths": 10,
          "score": 2916,
          "rank": 6,
          "rankLabel": "Lance Corporal 1 Star",
          "ping": 31
        },
        // 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": "86fd8e84-9d67-48af-8801-aea0435601b4",
  "ip": "94.250.199.89",
  "port": 25200,
  "name": "[JAH] Warriors #08 - Markaz Monolith - 48 Slots",
  "numPlayers": 21,
  "maxPlayers": 32,
  "map": "XP4_FD",
  "mapLabel": "Markaz Monolith",
  "gameType": "ConquestLarge",
  "roundsPlayed": 1,
  "roundsTotal": 2,
  "targetScore": 0,
  "password": false,
  "ranked": true,
  "punkbuster": true,
  "punkbusterVersion": "v1.905 | A1386 C2.352",
  "joinQueue": true,
  "quickmatch": false,
  "uptime": 49083,
  "roundTime": 4480,
  "region": "EU",
  "country": "DE",
  "pingSite": "ams",
  "version": "3065862",
  "teams": [
    {
      "tickets": 206.844238
    },
    {
      "tickets": 916.877869
    }
  ],
  "players": [
    {
      "name": "BattleForgeChen",
      "team": 2,
      "squad": 1,
      "squadLabel": "Alpha",
      "kills": 18,
      "deaths": 0,
      "score": 7808,
      "rank": 105,
      "rankLabel": "Colonel Service Star 60",
      "ping": 212
    },
    // 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": "SetPhaserToKill",
  "team": 2,
  "squad": 1,
  "squadLabel": "Alpha",
  "kills": 4,
  "deaths": 6,
  "score": 7730,
  "rank": 145,
  "rankLabel": "Colonel Service Star 100",
  "ping": 311
}

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": "afdb8153-c635-42f6-a67e-3fa89d1c8a9a",
  "ip": "46.4.217.86",
  "port": 25210,
  "name": "PL Platoon | TDM | NO C4 | NO SHOTGUNS | NO CRANE",
  "numPlayers": 29,
  "maxPlayers": 32,
  "map": "MP_017",
  "mapLabel": "Noshahr Canals",
  "gameType": "TeamDeathMatch",
  "roundsPlayed": 0,
  "roundsTotal": 1,
  "targetScore": 500,
  "password": false,
  "ranked": true,
  "punkbuster": false,
  "punkbusterVersion": "",
  "joinQueue": true,
  "quickmatch": true,
  "uptime": 31888,
  "roundTime": 807,
  "region": "EU",
  "country": "DE",
  "pingSite": "ams",
  "version": "3065862",
  "teams": [
    {
      "tickets": 211
    },
    {
      "tickets": 297
    }
  ],
  "players": [
    {
      "name": "Dmax452",
      "team": 2,
      "squad": 1,
      "squadLabel": "Alpha",
      "kills": 55,
      "deaths": 19,
      "score": 8109,
      "rank": 145,
      "rankLabel": "Colonel Service Star 100",
      "ping": 36
    },
    // more players
  ]
}