Build With Exist Counts
A clean JSON API for SAB exist counts, search, rarity lists, source metadata, mutations, traits, wiki links, and Roblox image assets. Keys are tied to registered Roblox place IDs so real games can use the API without anonymous spam hammering the site.
Developer Keys
Sign in with Roblox to create an API key. Keys are bound to Roblox place IDs. Free keys get 60/min + 2,500/day. Supporter keys get 600/min + 25,000/day. Advanced value fields are free.
Sign in with RobloxEndpoints
/api/v1/exists?placeId=...All brainrots, with optional q, rarity, limit, offset, includeUnknown=false, and value fields when matched.
/api/v1/exists/{slug}?placeId=...One brainrot, including exists, estimates, LGC/Robux value, Garama market anchor, mutations, traits, image, and source module.
/api/v1/search?q=noobini&placeId=...Search by name, rarity, mutation, trait, or module.
/api/v1/rarities/secret?placeId=...All rows in a rarity bucket.
/api/v1/roblox/exists?key=...&placeId=...&limit=500Roblox-friendly list response for loading all brainrots into a server Script.
/api/v1/roblox/exists/{slug}?key=...&placeId=...Small flat response with exists, wiki links, and Roblox image asset fields when mirrored.
/api/v1/meta?placeId=...Totals, modules, source revision, and endpoint map.
Roblox Example
Put the request in a server Script, not a LocalScript, so your API key is not exposed to players.
local HttpService = game:GetService("HttpService")
print("SAB ping test starting")
local ping = HttpService:GetAsync("https://sabexistcount.vercel.app/api/v1/roblox/ping")
print("Ping body:", ping)
local API_KEY = "YOUR_API_KEY"
local PLACE_ID = tostring(game.PlaceId)
local url = "https://sabexistcount.vercel.app/api/v1/roblox/exists?limit=500&placeId=" .. PLACE_ID .. "&key=" .. HttpService:UrlEncode(API_KEY)
print("SAB API list request starting")
local ok, response = pcall(function()
return HttpService:RequestAsync({
Url = url,
Method = "GET"
})
end)
if not ok then
warn("SAB API request crashed:", response)
return
end
print("Status:", response.StatusCode)
print("Body:", response.Body)
local data = HttpService:JSONDecode(response.Body)
if data.ok then
print("Loaded brainrots:", data.count, "of", data.total)
for _, item in ipairs(data.items) do
print(item.name, item.exists or "Not Known", item.robloxImage or "No Roblox image yet")
end
else
warn("SAB API error:", data.error, data.message)
endJavaScript Example
const response = await fetch("https://sabexistcount.vercel.app/api/v1/exists/noobini-pizzanini?placeId=YOUR_PLACE_ID", {
headers: { "x-sab-api-key": "YOUR_API_KEY" }
});
const data = await response.json();
console.log(data.item.exists);