curl "https://lobbykd.com/api/v1/world-map"LobbyKD API
Retrieve the latest aggregate K/D World Map figures in JSON. Use up to 10 free queries per day without an account, or create a dedicated API Account for 10,000 authenticated calls per monthly billing period.
Get 10,000 API calls every month
A dedicated API Account gives you a private API key, a live remaining-query counter and a full request log. It is API-only and does not unlock subscriber features.
World map endpoint
Send a GET request to the versioned world-map endpoint. It returns every supported region by default, or one region when the optional region query parameter is supplied.
https://lobbykd.com/api/v1/world-mapAvailable data
Each region includes a stable region code, display name, current average lobby K/D and the number of lobbies in that regional sample. The response also includes the combined sample size and last aggregate update time.
regionStable region identifiernameHuman-readable region nameaverage_lobby_kdCurrent regional average K/Dlobbies_checkedRegional sample sizetotal_lobbies_checkedCombined returned sampleupdated_atLatest aggregate update in UTCFree usage limit
The free endpoint allows 10 requests per UTC calendar day for each public IP address. No API key or LobbyKD account is required. After the free allowance is used, the API returns a 429 response with a link to lobbykd.com/api to create an API Account.
Paid API Accounts use a private API key and receive the configured monthly allowance (10,000 calls by default) for each Stripe billing period. Rate-limit headers show the allowance, remaining requests and reset time.
To enforce the anonymous allowance, LobbyKD stores a keyed hash of the public IP rather than the raw IP address.
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
How to call the API
Use a normal HTTPS GET request from a server, script, website or command-line tool. Cross-origin GET requests are allowed.
const response = await fetch('https://lobbykd.com/api/v1/world-map');
const payload = await response.json();
console.log(payload.data.regions);$json = file_get_contents('https://lobbykd.com/api/v1/world-map');
$data = json_decode($json, true);
print_r($data['data']['regions']);Current response structure
{
"ok": true,
"data": {
"api_version": "v1",
"regions": [
{
"region": "europe",
"name": "Europe",
"average_lobby_kd": 1.17,
"lobbies_checked": 10417
},
{
"region": "rest_of_world",
"name": "Rest of the world",
"average_lobby_kd": 1.1,
"lobbies_checked": 380
},
{
"region": "usa",
"name": "United States",
"average_lobby_kd": 1.11,
"lobbies_checked": 12821
}
],
"total_lobbies_checked": 23618,
"updated_at": "2026-09-12T21:08:47+00:00",
"methodology_url": "https://lobbykd.com/api#methodology"
},
"rate_limit": {
"limit": 10,
"remaining": 9,
"reset_at": "2026-09-13T00:00:00+00:00"
}
}Use your private API key
Paid API Account requests can send X-API-Key: YOUR_API_KEY or Authorization: Bearer YOUR_API_KEY. Authenticated calls use your monthly account quota instead of the free per-IP allowance.
curl -H "X-API-Key: YOUR_API_KEY" "https://lobbykd.com/api/v1/world-map?region=usa"How the regional figures are calculated
Each eligible account can contribute a specific lobby ID once to its selected region. Repeat checks from the same account do not increase the sample. Every counted lobby contributes one equally weighted K/D observation.
The API serves cumulative weighted regional averages, so larger samples naturally move less when a new lobby is added.
The API provides aggregate analytical model data only. It does not expose individual accounts, private lobby histories or official Activision data.