Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nnaridz/RbxGenie/llms.txt

Use this file to discover all available pages before exploring further.

Description

Searches for instances with flexible filtering options. You can search by name pattern, filter by class name, or combine both. This is more powerful than search_files as it supports class filtering. The search is case-insensitive for name matching and exact for class names.

HTTP Endpoint

POST /tool/search_objects

Request Parameters

query
string
required
Name search query (case-insensitive substring match). Can be empty to search by class only.
className
string
Filter results to only this class name (exact match). Examples: "Part", "ModuleScript", "Folder"
path
string
Root path to search within. Defaults to game (entire place).
limit
number
default:"50"
Maximum number of results to return

Response Format

results
array
Array of matching instances
count
number
Number of results returned
truncated
boolean
True if more results exist beyond the limit
error
string
Error message if path resolution failed

Example

// Search for all ModuleScripts with "util" in the name
const response = await fetch('http://127.0.0.1:7766/tool/search_objects', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: 'util',
    className: 'ModuleScript',
    path: 'ReplicatedStorage'
  })
});

const data = await response.json();
console.log(data.result);

// Example output:
// {
//   "results": [
//     {
//       "path": "ReplicatedStorage.Shared.Utilities",
//       "name": "Utilities",
//       "className": "ModuleScript"
//     },
//     {
//       "path": "ReplicatedStorage.Lib.StringUtil",
//       "name": "StringUtil",
//       "className": "ModuleScript"
//     }
//   ],
//   "count": 2,
//   "truncated": false
// }

// Search for all Parts (no name filter)
const allParts = await fetch('http://127.0.0.1:7766/tool/search_objects', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: '',
    className: 'Part',
    limit: 100
  })
});

Implementation Details

From InstanceTools.lua:132-168:
  • Supports optional name query (substring match)
  • Supports optional className filter (exact match)
  • Both filters can be combined or used independently
  • Recursively scans all descendants
  • Stops when limit is reached