api.rpxl.ca
Badge Read API
Returns normalized badge JSON for a Discord user. You bring the auth token and you render your own UI.
Auth
Authorization: Discord <token>
Call from your backend only. Never put a token in a browser, frontend, or public repo.
GET /v1/users/:userId/badges
curl -s "https://api-b.rpxl.ca/v1/users/USER_ID/badges?guild_id=GUILD_ID" \ -H "Authorization: Discord YOUR_TOKEN"
Other
GET /v1/health · GET /v1/meta/badge-types
Limits
- ~30 badge requests / IP / minute
- Max 2 concurrent upstream reads per instance
- Short response cache (~60s) — values only, never raw tokens
Errors
{ "error": { "code": "PRIVATE", "message": "..." } }
Codes: AUTH_FAILED · INVALID_ID · PRIVATE · UNAVAILABLE · RATE_LIMIT · BUSY · ACCOUNT_RESTRICTED