Developer API for tracked Discord users

Real-time Discord presence and profile data for developers.

Veyra exposes supported profile, presence, activity, Spotify, badge, and guild membership information for users registered by the Veyra Discord tracking system.

Having a Discord ID is not enough. The user must be registered and tracked by Veyra.

GET /api/user/:userId
{
  "success": true,
  "data": {
    "discord_status": "online",
    "active_on_discord_desktop": true,
    "listening_to_spotify": false,
    "spotify": null,
    "discord_user": {
      "id": "123456789012345678",
      "username": "example",
      "global_name": "Example",
      "badges": ["ACTIVE_DEVELOPER"]
    },
    "tracked_since": "2026-01-01T00:00:00.000Z"
  }
}

What Veyra provides

The documented features below are taken from the implementation in the provided source code.

Profile snapshots

Username, global name, display name, avatar URL, banner URL, accent color, avatar decoration data, primary guild data, public flags, and badges.

Presence state

Status, Discord client flags for web, desktop, mobile, embedded and VR, custom status, activities, and last update timestamps.

Spotify

When Discord exposes a Spotify activity, Veyra returns track ID, song, artist, album, artwork URL, and playback timestamps.

Tracked users

Veyra stores non-bot members of the official guild. Leaving the guild removes the stored record and emits a WebSocket removal event.

Live updates

The WebSocket gateway sends initial state and presence updates for subscribed user IDs. Clients can subscribe to up to 50 valid IDs per initialize message.

Service health

The health JSON endpoint reports Discord readiness, database state, badge API configuration, tracked users, socket count, uptime, and timestamp.

Become a tracked user

Veyra only returns data for users registered by the service. The official Discord server is part of that flow.

1

Join the Veyra Discord

Use the official invite: https://discord.gg/ZTeU5HxznV.

2

Complete required verification

Finish the server's verification process. The provided source tracks guild membership; it does not include a separate verification-channel implementation.

3

Veyra registers you

After join, the bot waits 5 seconds, confirms you are still in the guild, and stores supported profile and presence data.

4

Run /info

The Discord command shows monitored date, account creation date, badges, the Veyra API URL, and current empty K/V fields.

Important: a valid Discord ID does not guarantee an API result. If the user is not tracked, Veyra returns USER_NOT_TRACKED.

Start building

Use the REST endpoint for snapshots and the WebSocket gateway when your UI needs live presence updates.

Read the reference

Endpoint docs, response fields, error codes, rate limits, and OpenAPI files are grouped in the rebuilt documentation.

Use live presence

Subscribe to tracked users over wss://veyra-db3d.onbelmo.uk/socket and render changes without polling.