Browse, search, and download Infinite Yield plugins directly from your Lua scripts. All endpoints return JSON.
All paths below are relative to this URL.
id and filename
are found in the plugin's files array.| Field | Type | Description |
|---|---|---|
version |
string | API version |
updated_at |
string | ISO 8601 timestamp of last update |
total |
number | Total number of plugins |
plugins[] |
array | Array of plugin objects |
plugins[].id |
string | Unique plugin ID |
plugins[].name |
string | Plugin display name |
plugins[].author |
string | Author display name |
plugins[].date |
string | Upload date (ISO 8601) |
plugins[].files[] |
array | Plugin .iy files |
plugins[].files[].filename |
string | File name (e.g. "fly.iy") |
plugins[].files[].url |
string | Relative download path |
plugins[].files[].size |
number | File size in bytes |
plugins[].loadstring_urls |
array | URLs found inside loadstring() calls |
local HttpService = game:GetService("HttpService")
local BASE = "https://iyplugins.pages.dev"
local response = game:HttpGet(BASE .. "/data/api.json")
local data = HttpService:JSONDecode(response)
print("Total plugins: " .. tostring(data.total))
for _, plugin in ipairs(data.plugins) do
print(plugin.name .. " by " .. plugin.author)
end
local HttpService = game:GetService("HttpService")
local BASE = "https://iyplugins.pages.dev"
local function searchPlugins(query)
local response = game:HttpGet(BASE .. "/data/api.json")
local data = HttpService:JSONDecode(response)
local results = {}
for _, plugin in ipairs(data.plugins) do
if string.find(string.lower(plugin.name), string.lower(query)) then
table.insert(results, plugin)
end
end
return results
end
local found = searchPlugins("fly")
for _, p in ipairs(found) do
print("Found: " .. p.name .. " (" .. p.files[1].filename .. ")")
end
local HttpService = game:GetService("HttpService")
local BASE = "https://iyplugins.pages.dev"
local response = game:HttpGet(BASE .. "/data/api.json")
local data = HttpService:JSONDecode(response)
local plugin = data.plugins[1]
local file = plugin.files[1]
local code = game:HttpGet(BASE .. "/" .. file.url)
print("Downloaded " .. file.filename .. " (" .. tostring(file.size) .. " bytes)")
print(code)
local HttpService = game:GetService("HttpService")
local BASE = "https://iyplugins.pages.dev"
local function loadPlugin(name)
local response = game:HttpGet(BASE .. "/data/api.json")
local data = HttpService:JSONDecode(response)
for _, plugin in ipairs(data.plugins) do
if string.lower(plugin.name) == string.lower(name) then
local code = game:HttpGet(BASE .. "/" .. plugin.files[1].url)
return loadstring(code)()
end
end
warn("Plugin not found: " .. name)
end
loadPlugin("fly")
local HttpService = game:GetService("HttpService")
local BASE = "https://iyplugins.pages.dev"
local function downloadAll()
print("Fetching plugin list...")
local response = game:HttpGet(BASE .. "/data/api.json")
local data = HttpService:JSONDecode(response)
for i, plugin in ipairs(data.plugins) do
print(string.format("[%d/%d] Downloading: %s", i, data.total, plugin.name))
for _, file in ipairs(plugin.files) do
local success, content = pcall(function()
return game:HttpGet(BASE .. "/" .. file.url)
end)
if success then
writefile(file.filename, content)
else
warn("Failed to download: " .. file.filename)
end
end
end
print("Download complete! All files saved directly to workspace/")
end
downloadAll()
The plugin database is updated manually. Check the updated_at field in the API response to
see when the last update was!
api.json is lightweight — it only contains the essential fields needed to browse and
download plugins. plugins.json is the full database with descriptions, embeds, reactions,
and embedded source code. Use api.json for Lua scripts and plugins.json if you
need everything.