Home Docs Buy Try Account
Reference

Documentation

Open playground

The base URL is this website address, as it appears in your browser. Every data call needs a key.

01

Authentication

You can send the key in the URL or in a header. Both work the same way.

Query
/api/v1/Lookup?key=YOURKEY&UID=2384343917
Header
X-API-Key: YOURKEY
02

Player lookup

This is the main endpoint. The UID goes last. Letter case and the order of the other parameters do not matter.

Primary endpoint
GET /api/v1/Lookup?region=IND&key=YOURKEY&UID=2384343917
ParameterAccepted namesNotes
UIDUID uid id player account5 to 20 digits, put it last
keykey apikey token X-API-Key3–40 characters
regionregion server optional, defaults to IND

If a pasted link has & instead of &, the server fixes it for you.

Alternate shapes
GET /api/v1/player/2384343917?region=IND&key=YOURKEY GET /api/v1/player/region=IND&key=YOURKEY&id=2384343917
200 response
{ "success": true, "uid": "2384343917", "region": "IND", "nickname": "PLAYER", "level": 54, "player": { "basicInfo": { "exp": 445481, "liked": 1362 }, "clanBasicInfo": { "memberNum": 25 }, "petInfo": { "id": "chopper" }, "profileInfo": { "avatarId": 102000015 }, "socialInfo": { "gender": "MALE" } }, "quota": { "remaining_today": 978, "daily_limit": 1000, "plan": "pro" }, "took_ms": 42 }
03

Media

These return the image file itself, not JSON, so you can use the link directly in an img tag.

GET /api/v1/player/2384343917/avatar?key=YOURKEY GET /api/v1/player/2384343917/banner?key=YOURKEY&region=IND
04

Key and health

GET /api/v1/key
{ "plan": "pro", "daily_limit": 1000, "used_today": 1, "remaining_today": 999, "expires_in_days": 29, "revoked": false }
GET /api/v1/health
{ "success": true, "database": "up", "upstream": "reachable", "sources": 1 }
05

Errors

StatuserrorMeaning
400invalid_uid invalid_regionbad input
401missing_key invalid_keyno key or unknown key
403key_revoked key_expiredkey disabled or out of time
404player_not_foundUID not present in that region
429daily_limit_reached rate_limitedquota exhausted or over 60 rpm
502upstream_unavailablegame data source is down
503upstream_not_configuredno source configured
{ "success": false, "error": "invalid_key", "message": "Invalid Key", "timestamp": 1792500000 }
06

Rate limits

Each key gets the daily limit of its plan and cannot pass 60 requests per minute. The daily count resets at 00:00 UTC. Every successful response includes X-RateLimit-Limit and X-RateLimit-Remaining.

07

Regions

IND, BD, SG, ID, TH, VN, MY, PK, EG, BR, US, ME, RU, CIS, EUROPE, SAC, NA

One key works on every region and every data source the admin has added.

08

Names for every id

Garena sends numbers for everything a player wears. This API adds a names block to every lookup so you get the real names: outfit pieces, gun skins, banner, head pic, pin, title, game bag, character and pet, with rarity for each one. The raw ids stay in player for your own tooling.

Lookup, names block
"names": { "character": { "name": "Alok", "rarity": "Purple" }, "banner": { "name": "Red Mischief Banner" }, "outfit": [ { "name": "Bandit (Mask)" } ], "weapon_skins": [ { "name": "MP40 - Chromasonic" } ], "pet": { "entry": { "name": "Detective Panda" } }, "skills": [ { "slot": 1, "id": 7406 } ] }
Name lookup on its own
GET /api/v1/Names?key=YOURKEY&ids=211000230,907194203 { "items": [ { "id": 211000230, "name": "Bandit (Mask)", "label": "Outfit", "rarity": "Orange" }, { "id": 907194203, "name": "MP40 - Chromasonic", "label": "Gun skin", "rarity": "Red" } ] }

Skill slots come back as slot number and id. Garena does not publish a name table for skill ids, so they are labelled by slot. If you have a skill name list, put it in skills.json next to the app as {"7406": "name"} and the names will be filled in.

09

OpenAPI

Swagger UI openapi.json Service status