requiresdb api

Public REST API — query the database from anywhere, including from inside Roblox scripts via game:HttpGet(). No account needed for reads.

https://smt.supabase.co/rest/v1
authentication

All requests need the anon key. For reads from Roblox, pass it as a query param since HttpGet doesn't support custom headers.

// Web requests — use header:
apikey: YOUR_SUPABASE_ANON_KEY

// Roblox HttpGet — use query param:
?apikey=YOUR_ANON_KEY
rate limits

Supabase free tier supports ~500 req/s. Cache results in your Roblox UI — don't call on every keystroke, use a debounce.

list requires
GET/requirespaginated list
paramtypedescription
selectstringcolumns — default *
categoryeq.adminfilter by category
orderupvotes.descsort column + direction
limitnumbermax results (default 20)
offsetnumberpagination
-- Response example:
[
  {
    "id": "uuid-here",
    "name": "Dex Explorer",
    "require_id": "3436957371",
    "category": "utility",
    "upvotes": 142,
    "downvotes": 3,
    "description": "object explorer",
    "image_url": "https://...",
    "created_at": "2024-01-15T12:00:00Z"
  }
]
get by UUID
GET/requires?id=eq.{uuid}single record
/requires?id=eq.YOUR-UUID&apikey=KEY
get comments
GET/comments?require_id=eq.{uuid}comments for a require
/comments?select=text,created_at,profiles(username)&require_id=eq.UUID&order=created_at.asc&apikey=KEY
search from roblox UI
local HS   = game:GetService("HttpService")
local BASE = "https://ur_proyect.supabase.co/rest/v1"
local KEY  = "UR_ANON_KEY"

local function searchRequires(query)
  local url = BASE
    .. "/requires?select=name,require_id,category,upvotes,description,image_url"
    .. "&name=ilike.*" .. HS:UrlEncode(query) .. "*"
    .. "&order=upvotes.desc&limit=10"
    .. "&apikey=" .. KEY
  local ok, data = pcall(function()
    return HS:JSONDecode(game:HttpGet(url))
  end)
  return ok and data or {}
end
full example — integrate in builder
-- Integración completa con el builder de spaoy
local HS   = game:GetService("HttpService")
local BASE = "https://ur_proyect.supabase.co/rest/v1"
local KEY  = "UR_ANON_KEY"

local function fetchRequires(query, category)
  local url = BASE .. "/requires"
    .. "?select=name,require_id,category,upvotes,description"
    .. "&order=upvotes.desc&limit=15"
    .. "&apikey=" .. KEY
  if query ~= "" then
    url = url .. "&name=ilike.*" .. HS:UrlEncode(query) .. "*"
  end
  if category and category ~= "all" then
    url = url .. "&category=eq." .. category
  end
  local ok, data = pcall(function()
    return HS:JSONDecode(game:HttpGet(url))
  end)
  return ok and data or {}
end

-- Al hacer click en un resultado, cargarlo en el editor:
local function loadFromDB(requireId)
  textBox.Text    = "require(" .. requireId .. ")"
  _G.REQUIRE_CODE = textBox.Text
end