Hi everyone,
I’m trying to publish a Figma plugin that provides a list of UI and Design System items.
The idea is simple: users see a list of components inside the plugin UI, and when they click on an item, that component is inserted into their canvas as an Instance.
The important part is that these items are components defined in a separate file or library, and the plugin only inserts instances of them into the user’s canvas. When the user clicks “Go to main component”, they should not have access to the original library file.
I don’t really care whether the component keys are hard-coded in the plugin or auto-updated.
The real problem is that I can’t even list or access those components inside the plugin.
From what I understand after reading the Figma API documentation:
-
Component keys from a published library are only accessible to members of the same team.
-
Figma does not grant public plugins permission to read or enumerate components from private or team-restricted libraries.
-
There is no official API to fetch a list of components from an external library for all users.
So based on the docs, this seems impossible.
However, I see several public plugins doing exactly this — for example:
Ink Wireframe
https://www.figma.com/community/plugin/1071077298865016770/ink-wireframe
This plugin provides a full list of components and inserts them as instances, which is exactly the behavior I’m trying to achieve.
Am I missing something here?
Is there a workaround, architectural pattern, or official approach that makes this possible?
Any guidance would be greatly appreciated. 🙏
