Roblox API Dictionary (RAPID)

Roblox API Dictionary (aka RAPID)

DISCLAIMER: Http request aka real API support is coming as soon as I figure out how to host it online for free. If you have any knowledge on how I can do this, please help me out.

[ Flask API on Github ] [ Asset Store ] [ Raw Code Github Gist ]


What is RAPID?

Primarily, RAPID is a soon-to-be online-accessible API. Right now, RAPID is also a modulescript (dictionary) containing all of the information listed in @Maximum_ADHD’s json api dump. You can use it by installing the script, or by requiring it remotely by its asset store id (95402612097481). I probably will not update this dictionary unless it is requested or Roblox makes some drastic changes.

Why is it useful?

I am planning to use it to expand the capabilities of my GitSync plugin. Otherwise, I’m not really sure, but I assume it has many applications. I am not sure if something like this already exists, since MaximumADHD’s json already exists.

Example Usage
-- A program that creates a table of the properties of each class
local RAPID = require(95402612097481)

local function getProperties()
	local properties = {}

	local function getProperties()
	local properties = {}

	for className, classData in pairs(RAPID) do
		if not classData.Members then continue end
		for _, member in pairs(classData.Members) do

			if member.MemberType ~= "Property" then continue end
			local property = {
				Name = member.Name,
				ValueType = member.ValueType.Name,
				ReadOnly = member.Security.Read == "None",
				Tags = member.Tags or {},
			}

			if member.Capabilities then property.Capabilities = member.Capabilities.Read or {} end
			if not properties[className] then properties[className] = {} end
			table.insert(properties[className], property)
		end
	end

	return properties
end

local properties = getProperties()

-- The table of classes and their corresponding properties is then accessed in order to retrieve the properties of the "AnimationTrack" class
for _, prop in ipairs(properties["AnimationTrack"] or {}) do
	print("Property Name:", prop.Name)
	print("ValueType:", prop.ValueType)
	print("Tags:", table.concat(prop.Tags, ", "))
	print("Capabilities:", table.concat(prop.Capabilities, ", "))
	print("-----+-----+-----+-----+-----")
end

Result

How did you do it?

I used Google Apps Script and a little ChatGPT, because I don’t know gscript. I used Google Apps Script instead of some website to convert the json, because I like Google Apps Script. It’s pretty cool.

I only used chatgpt for converting the json to a lua table. I did literally everything else myself. Yes, everything (no not THAT much everything I didn’t invent a new coding language). There are already other automated ways to convert json to lua (roblox has its own way, even), but I just chose the fun route so I could learn something along the way. The file is like 143000 lines long.

I am not claiming this as some big thing, but I thought it could be useful to me and maybe others idk.

1 Like