Last Asylum Tracker
HTTP API
Read a player or an alliance from the tracker. The same profile is kept for 10 minutes, then the next request receives a newer one.
Authentication
Create one key from the API panel after you log in with Patreon. Revoke that key there if you need to replace it. Send it on every request:
A bare Python client with no user agent gets a Cloudflare 403 before the key is checked, so send a normal User-Agent.
Authorization: Bearer lap_your_key X-API-Key: lap_your_key
Free accounts can make 1,000 requests per UTC day. A paid Patreon membership raises that to 2,000. Every /v1 call counts.
Quota
The JSON body includes quota. The same numbers are in the response headers.
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 997 X-RateLimit-Reset: 00:00 UTC
GET /v1/quota
Player
GET /v1/players/{player_id}
Returns the public profile: nick, uid, power, kills, sanctuary lv and skin_name, kingdom kid, coordinates x and y, alliance name and abbreviation, plus vip, likes, language, gender, and ranks when those are on the profile. cached is true when that profile is still inside the 10 minute window.
Alliance
GET /v1/alliances/{alliance_id}
Returns the alliance name, abbreviation, level, member count, and members. Each member includes name, uid, power, sanctuary level, and x / y when known. A newer roster is returned once the previous one is older than 10 minutes.
Quota object
{
"limit": 1000,
"used": 3,
"remaining": 997,
"patron": false,
"resets": "00:00 UTC"
}
GET /v1/quota returns only that object plus ok, cached, and cache_seconds. It still counts as one request.
Errors
401missing or unknown key404that player or alliance was not found429daily limit reached.quota.remainingis 0502the profile could not be prepared503the API is busy. Try again shortly504the request took too long
Example
curl -H "Authorization: Bearer lap_your_key" \ https://api.lastasylumtracker.com/v1/players/145563254785