penpot_find_shapes
Search a Penpot page for shapes matching filters like type, name, text content, or component status, returning key metadata without traversing the shape tree.
Instructions
Search a page for shapes matching one or more predicates, instead of walking the tree returned by penpot_get_file_snapshot by hand. Combine "type", "name" (exact match), "nameContains" (case-insensitive substring), "textContains" (case-insensitive substring against text shapes' rendered characters), "isComponentInstance", and/or "isRoot" — all given filters must match (AND). Omit every filter to list every shape on the page. Returns each match's id, type, name, position/size, and component link state ("linkState": "not-an-instance" | "linked" | "detached" | "main-component-root"), without descendants (use penpot_get_shape on a match's id for its full subtree including detailed componentInfo with driftedFields).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| type | No | ||
| limit | No | ||
| fileId | Yes | ||
| isRoot | No | ||
| pageId | Yes | ||
| nameContains | No | ||
| textContains | No | ||
| isComponentInstance | No |