v80q

Roblox User API

Docs

Aggregated Roblox User Data API

Open REST API that aggregates Roblox public endpoints via a CORS proxy and returns a single JSON payload.

Base URL: https://roblox-user-api.vercel.app Auth: None Format: JSON

Endpoint

GET /roblox-user-data?username={username} or /roblox-user-data?userId={userId}

Query

  • username: Roblox username (string). One of username or userId is required.
  • userId: Roblox user ID (number). One of username or userId is required.
  • include: Optional comma-separated list of sections to fetch. Use all for everything. Unknown keys are ignored.
  • exclude: Optional comma-separated list of sections to omit from the result.
  • groupId: When using groupRoles or groupWall, specify the group ID (number).
  • wallLimit: When using groupWall, number of wall posts to fetch (1–100, default 10).
  • expand: Optional. Expand ID lists into detailed user objects. Values: all or any of friends, followers, following (comma-separated). Adds fields: friendsInfo, followersInfo, followingInfo.

Valid section keys

friends followers following outfits groups premium games usernameHistory user presence groupRoles groupWall thumbnails

Response

{
  "friends": [ { "id": 123456, "name": "PlaceholderFriend", "displayName": "PlaceholderFriend" } ],
  "followers": [ { "id": 234567 } ],
  "following": [ { "id": 345678 } ],
  "outfits": [ { "id": 456789, "name": "Casual Outfit", "isEditable": true } ],
  "groups": [ { "group": { "id": 567890, "name": "Example Group", "memberCount": 1234 }, "role": { "id": 10, "name": "Member", "rank": 1 } } ],
  "premium": false,
  "games": [ { "id": 678901, "name": "Example Game", "placeId": 789012, "universeId": 890123 } ],
  "usernameHistory": [ { "name": "OldUser123", "created": "2020-01-01T00:00:00.000Z" } ],
  "user": { "id": 1, "name": "Roblox", "displayName": "Roblox", "description": "...", "created": "2006-01-01T00:00:00.000Z", "isBanned": false },
  "presence": { "userPresenceType": 2, "lastLocation": "Play", "lastOnline": "2025-08-11T15:00:00.000Z", "placeId": 1234567890 },
  "thumbnails": [ { "targetId": 1, "state": "Completed", "imageUrl": "https://.../avatar-headshot.png" } ],
  "friendsInfo": [ { "id": 123456, "name": "PlaceholderFriend", "displayName": "PlaceholderFriend" } ],
  "followersInfo": [ { "id": 234567, "name": "Follower", "displayName": "Follower" } ],
  "followingInfo": [ { "id": 345678, "name": "Following", "displayName": "Following" } ],
  "meta": { "startedAt": "...", "completedAt": "...", "durationMs": 123 }
}

Examples

PowerShell

curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox"
curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?userId=1&include=user,thumbnails,presence"
curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=friends,followers"
curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&exclude=following"
curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=all&exclude=games"
curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=groupRoles,groupWall&groupId=1&wallLimit=10"

curl

curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox"
curl "https://roblox-user-api.vercel.app/roblox-user-data?userId=1&include=user,thumbnails,presence"
curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=groups,outfits"
curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&exclude=usernameHistory"
curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=user,presence"
curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox&include=groupRoles&groupId=1"

Fields

  • friends: List of friend objects from friends.roblox.com
  • followers: First 100 follower records (supports Roblox pagination upstream)
  • following: First 100 following records (supports Roblox pagination upstream)
  • outfits: Saved outfits from avatar.roblox.com (first 100)
  • groups: Group roles for the user from groups.roblox.com (first 100)
  • premium: Boolean, Roblox Premium membership status
  • games: First 100 games associated with the user from games.roblox.com
  • usernameHistory: Previous usernames from users.roblox.com (first 100)

How to Test

Browser

PowerShell (Windows)

curl.exe "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox"

curl (macOS/Linux)

curl "https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox"

Postman/Thunder Client

  • Method: GET
  • URL: https://roblox-user-api.vercel.app/roblox-user-data?username=Roblox
  • No headers/body required.

Query Reference

  • include: friends, followers, following, outfits, groups, premium, games, usernameHistory, user, presence, groupRoles, groupWall, thumbnails, or all
  • exclude: same keys as include, removes from the result
  • expand: all or any of friends,followers,following to add detailed user objects
  • groupId: numeric group ID when using groupRoles or groupWall
  • wallLimit: 1–100 number of wall posts for groupWall (default 10)

Error Handling

  • 400 bad_request: Missing required query parameter (username or userId)
  • 404 not_found: User not found
  • upstream_error: Roblox/proxy error; inspect message for details

Notes

  • This API uses a CORS proxy to access Roblox public endpoints.
  • No server-side rate limit is enforced, but Roblox may rate-limit upstream calls.
  • Returned structures are passthroughs from Roblox with minimal normalization.