Skip to content

Battlefield: Bad Company 2

Our Battlefield: Bad Company 2 endpoints are available at https://api.bflist.io/bfbc2/v1.

Please note: We are currently not able to query all Battlefield: Bad Company 2 servers, due to issues with how some servers are hosted. Which is why do not offer a livestats endpoint for BFBC2. If you have a server that you would like see added, please reach out via Twitter or email.

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.

GET /servers/:page

Response

200 OK
X-Total-Pages: 2
[
    {
        "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
]

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 (gameExpansions, extendedInfo, settings, maps, slots, 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": "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'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
{
    "name": "bulletshy07",
    "tag": "",
    "team": 1,
    "squad": 1,
    "squadLabel": "Alpha",
    "kills": 14,
    "deaths": 6,
    "score": 7600,
    "ping": 84
}

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.