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 that have a specific property set to a specific value. You can optionally filter by class name and scope the search to a specific path. This is useful for finding all instances with particular settings, like all anchored parts or all disabled scripts.

HTTP Endpoint

POST /tool/search_by_property

Request Parameters

property
string
required
The property name to check. Examples: "Anchored", "Transparency", "Disabled"
value
any
required
The value to match against. Can be boolean, number, string, or other JSON-serializable types.
path
string
Root path to search within. Defaults to game (entire place).
className
string
Filter results to only this class name. Examples: "Part", "Script"
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

// Find all unanchored parts in Workspace
const response = await fetch('http://127.0.0.1:7766/tool/search_by_property', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    property: 'Anchored',
    value: false,
    className: 'Part',
    path: 'Workspace'
  })
});

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

// Example output:
// {
//   "results": [
//     {
//       "path": "Workspace.Model.Part1",
//       "name": "Part1",
//       "className": "Part"
//     },
//     {
//       "path": "Workspace.Model.Part2",
//       "name": "Part2",
//       "className": "Part"
//     }
//   ],
//   "count": 2,
//   "truncated": false
// }

// Find all disabled scripts
const disabledScripts = await fetch('http://127.0.0.1:7766/tool/search_by_property', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    property: 'Disabled',
    value: true,
    className: 'Script'
  })
});

// Find all transparent parts
const transparentParts = await fetch('http://127.0.0.1:7766/tool/search_by_property', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    property: 'Transparency',
    value: 1,
    className: 'Part',
    limit: 100
  })
});

Implementation Details

From InstanceTools.lua:235-277:
  • Uses ValueSerializer.fromJSON() to convert the target value
  • Recursively scans all descendants
  • Optional className filter for efficiency
  • Uses pcall to safely check properties
  • Performs exact value equality check