Battlefield 3
Battlefield 3 endpoints are available at https://api.bflist.io/bf3/v1
.
Live stats#
Get the number of currently active players and servers in Battlefield 3.
GET /livestats
Response
200 OK
{
"servers": 183,
"players": 1477
}
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: 4
[
{
"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
]
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": "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'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": "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'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.