Last Asylum
API

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.

Login with Patreon

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

Example

curl -H "Authorization: Bearer lap_your_key" \
  https://api.lastasylumtracker.com/v1/players/145563254785