API

Read-only JSON REST API. Base URL https://robloxverifieds.com/api/v1. Request a key from @.chloe in the Discord. Authenticate with Authorization: Bearer <key> on every request (or an X-API-Key header).

GET /stats

Dataset counts.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/stats"
Response
{
  "tracked": 5043,
  "verified": 4998,
  "previouslyVerified": 45,
  "banned": 160,
  "flagged": 9
}
GET /verified

Currently-verified users.

page (default 1)limit (1–100, default 50)sort: newest | oldest | recently_changed | name_asc | name_desc
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/verified?limit=50"
Response
{
  "data": [
    {
      "userId": 261,
      "username": "shedletsky",
      "displayName": "shedletsky",
      "isVerified": true,
      "isBanned": false,
      "bannedAt": null,
      "addedAt": 1733000000000,
      "lastCheckedAt": 1748000000000,
      "lastChangedAt": 1733000000000,
      "profileUrl": "https://robloxverifieds.com/user/261",
      "robloxUrl": "https://www.roblox.com/users/261/profile"
    }
  ],
  "sort": "newest",
  "pagination": { "page": 1, "limit": 1, "total": 4998, "totalPages": 100 }
}
Iterate every result
# Increment page until it equals pagination.totalPages.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/verified?limit=100&page=1"
GET /previously-verified

Users who no longer hold the verified badge.

pagelimit
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/previously-verified?limit=50"
Response
{
  "data": [
    {
      "userId": 261,
      "username": "shedletsky",
      "displayName": "shedletsky",
      "isVerified": true,
      "isBanned": false,
      "bannedAt": null,
      "addedAt": 1733000000000,
      "lastCheckedAt": 1748000000000,
      "lastChangedAt": 1733000000000,
      "profileUrl": "https://robloxverifieds.com/user/261",
      "robloxUrl": "https://www.roblox.com/users/261/profile"
    }
  ],
  "pagination": { "page": 1, "limit": 1, "total": 45, "totalPages": 1 }
}
Iterate every result
# Increment page until it equals pagination.totalPages.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/previously-verified?limit=100&page=1"
GET /flagged

Flagged users with their flag reasons.

pagelimit
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/flagged?limit=50"
Response
{
  "data": [
    {
      "userId": 261,
      "username": "shedletsky",
      "displayName": "shedletsky",
      "isVerified": true,
      "isBanned": false,
      "bannedAt": null,
      "addedAt": 1733000000000,
      "lastCheckedAt": 1748000000000,
      "lastChangedAt": 1733000000000,
      "profileUrl": "https://robloxverifieds.com/user/261",
      "robloxUrl": "https://www.roblox.com/users/261/profile",
      "latestFlagAt": 1747000000000,
      "flags": [
        { "reason": "Sold verification", "note": "evidence link", "createdAt": 1747000000000 }
      ]
    }
  ],
  "pagination": { "page": 1, "limit": 1, "total": 9, "totalPages": 9 }
}
Iterate every result
# Increment page until it equals pagination.totalPages.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/flagged?limit=100&page=1"
GET /banned

Accounts terminated/banned on Roblox.

pagelimit
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/banned?limit=50"
Response
{
  "data": [
    {
      "userId": 261,
      "username": "shedletsky",
      "displayName": "shedletsky",
      "isVerified": true,
      "isBanned": false,
      "bannedAt": null,
      "addedAt": 1733000000000,
      "lastCheckedAt": 1748000000000,
      "lastChangedAt": 1733000000000,
      "profileUrl": "https://robloxverifieds.com/user/261",
      "robloxUrl": "https://www.roblox.com/users/261/profile"
    }
  ],
  "pagination": { "page": 1, "limit": 1, "total": 160, "totalPages": 4 }
}
Iterate every result
# Increment page until it equals pagination.totalPages.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/banned?limit=100&page=1"
GET /users

Every tracked user (lightweight fields) — the full directory dump.

pagelimit
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/users?limit=100"
Response
{
  "data": [
    { "userId": 261, "username": "shedletsky", "displayName": "shedletsky", "isVerified": true, "profileUrl": "https://robloxverifieds.com/user/261" }
  ],
  "pagination": { "page": 1, "limit": 1, "total": 5043, "totalPages": 5043 }
}
Iterate every result
# Increment page until it equals pagination.totalPages.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/users?limit=100&page=1"
GET /users/{idOrUsername}

A single user with flags, linked-flag info, and full verification history. Accepts a numeric id or username. Untracked/opted-out → 404.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://robloxverifieds.com/api/v1/users/261"
Response
{
      "userId": 261,
      "username": "shedletsky",
      "displayName": "shedletsky",
      "isVerified": true,
      "isBanned": false,
      "bannedAt": null,
      "addedAt": 1733000000000,
      "lastCheckedAt": 1748000000000,
      "lastChangedAt": 1733000000000,
      "profileUrl": "https://robloxverifieds.com/user/261",
      "robloxUrl": "https://www.roblox.com/users/261/profile",
  "flags": [],
  "flaggedViaAlt": null,
  "history": [
    { "isVerified": true, "observedAt": 1733000000000 }
  ]
}
In-game: check players on join
-- ServerScriptService > Script
local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local KEY = "YOUR_API_KEY"

local function getTracked(userId)
    local ok, res = pcall(function()
        return HttpService:RequestAsync({
            Url = "https://robloxverifieds.com/api/v1/users/" .. userId,
            Method = "GET",
            Headers = { ["Authorization"] = "Bearer " .. KEY },
        })
    end)
    if not ok or not res.Success then return nil end
    return HttpService:JSONDecode(res.Body)
end

Players.PlayerAdded:Connect(function(player)
    local info = getTracked(player.UserId)
    if info then
        print(player.Name, "verified:", info.isVerified)
    else
        print(player.Name, "is not tracked")
    end
end)

Errors & limits

Errors return { "error": "message" }. Rate-limited keys get X-RateLimit-Limit / X-RateLimit-Remaining headers.

StatusMeaning
401Missing or invalid API key.
403Key is disabled.
404User not tracked (lookup).
429Rate limit or lifetime quota exceeded (with Retry-After).

Read-only. Opted-out users are excluded. Data reflects the last daily recheck (≤24h stale).

robloxverifieds.com · not affiliated with Roblox Corporation · data refreshed every 24h
Created by @.chloe on Discord