---
title: "View User Profile By Username"
method: GET
path: "/v2/users/by-username/{username}"
tags: ["GlobalUser"]
---

# View User Profile By Username

`GET /v2/users/by-username/{username}`

## Request

- Base URL: `https://api.sidequestvr.com`
- URL: `https://api.sidequestvr.com/v2/users/by-username/{username}`
- Auth: none declared

Resolves a username (compared case-insensitively) and returns that users public profile. A platform-banned account's is only users_id and profile_hidden, except to an admin or the account itself.

## Path parameters

- `username` string, required

## Response `200`

Success

- CompositePublicUserModelUserLevelingInfo: public representation of a user
  - `username` object: The users unique username, if they have set one
  - `users_id` integer, required: The users unique ID
  - `name` object, required: The users display name
  - `preview_image` string, required: The users avatar preview image
  - `score_points` object, required: The users total score points
  - `profile_type` 'Gamer' | 'Developer' | 'Streamer' | 'Influencer', required: The users profile type * Gamer - Normal SideQuest user * Developer - An app developer * Streamer - A streamer or content creator * Influencer - A public influencer
  - `tag_line` object, required: The users tag line
  - `created` object, required: The time this user was created
  - `bio` object, required: The users bio
  - `avatar` AvatarV3Model: A user's resolved v3 avatar: the built-in options their level entitles them to, plus the custom avatar once they reach level 50
    - `users_id` integer, required: The users_id this avatar belongs to
    - `level` integer, required: The user's current level, derived from their XP. Options above this level fall back to their defaults.
    - `options` object, required: Map of option_key to the selected value, e.g. {"base":"robot"}. Every enabled catalog option with a default is present; options with no default are present only when chosen.
    - `custom_avatar` AvatarCustomV3Model: The level-50 custom avatar attached to a user's v3 avatar
      - `files_id` integer, required: The files_id of the uploaded avatar file
      - `url` string, required: The absolute CDN URL the client loads the avatar from
      - `type` string, required: The file extension of the avatar file, e.g. glb
  - `profile_hidden` boolean: True when the account was deleted or is banned from the platform. Anyone but an admin or the account itself then gets only users_id and this.

## Other responses

- `400`: The data provided to the call was incorrect or incomplete.
- `404`: No resource was found at the target path or the authorization token provided does not have access to know that it exists.

## Changes

- **2026-11-03** `015df326911c`: 1 info
  - added the optional property `profile_hidden` to the response with the `200` status
- **2026-10-12** `5f62fe19531f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sidequestvr/apis/sidequest-api/changes/v2/users/by-username/:username/get.md)

---

[API](https://skmtc.dev/sidequestvr/apis/sidequest-api.md) - [All operations](https://skmtc.dev/sidequestvr/apis/sidequest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sidequestvr/apis/sidequest-api/revisions/015df326911c?raw)
