Skip to main content
Solved

A way to find out which components are used in a file?

  • August 5, 2026
  • 6 replies
  • 80 views

Julia57

All the plugins I’ve looked at require you to first specify which component you want to find, and then surfaces other instances of that component. But I have a different use case.

When handing off designs to dev, they want to know which components from the Design System are being used, and they need me to mark which ones have already been developed, and which ones are new. This allows them to estimate the effort needed. 

I have no idea how to just find out which components/instances are present in my file. I don’t want ❖CTA-button listed 5 separate times in some kind of layers panel. I just want ❖CTA-button (5), ❖text-input (3), etc. 

In the best case, it would even tell me where the component comes from (local or external library).

 

Has anyone found a good way to do this?

Best answer by Jaycee Lewis

Hey hey ​@Julia57 🤩 Here are the plugins I found while doing research on this limitation:

(Please note: this list is not a recommendation or endorsement of any one plugin. This list is also non-exhaustive and was generated as part of my research for the Plugin API limitation and your goals) *thus concludes my TED talk*

 

I also took this need to the team that owns the Plugin API and shared it as feedback and a feature request. Have a fantastic weekend! — Jaycee

6 replies

Jaycee Lewis
Figmate

Hey hey ​@Julia57 👋 Happy to do a bit of digging for us. Just looking at what’s out there (I found a few plugins that do most of what you want. happy to share)

I think this part of your list is what our roadblock will be:

In the best case, it would even tell me where the component comes from (local or external library).

I don’t see a public endpoint that want to expose this data 😢 (Sounds like a good candidate for a feature request to meeeee!🕵️‍♀️) 

I’ll follow up here by the end of the week and share what I find. Please add any additional details or nice-to-have ideas. Who knows, maybe we get you close enough? 😊 Talk soon! — Jaycee


Julia57
  • Author
  • Active Member
  • August 6, 2026

@Jaycee Lewis thanks, I would be super grateful to have some plugin suggestions, even if the origin of the component isn’t exposed. It should be technically possible, since the information is displayed in the design panel when you select any instance. I wonder why nobody else has needed this.

If I were to build my own plugin, I would love it to spit out an actual table/list in the design file that my devs can see, with links to the masters, and a column for where the component was used. I know Figma’s AI should be able to do it, but my client’s organisation doesn’t allow the use of Figma AI :(

That’s all very specific for my use case. But for others, I could imagine it might be a nice linting tool that helps peopel spot whether a locally built component coudl have been replaced by a similar one from the deisgn system.


Jaycee Lewis
Figmate

Hey ​@Julia57 I need to correct myself. The limitation is specific to the Plugin API, currently. There is a way to accomplish this using the REST API endpoints:

  • First call: GET /v1/components/:key returns file_key (scope library_assets:read, Tier 3)
  • Second call: GET /v1/files/:file_key/meta returns file.name (scope file_metadata:read, Tier 3)
  • One thing to watch: if the component belongs to a variant set, use GET /v1/component_sets/:key for the first call instead. Same response shape, but a set's key won't resolve against /v1/components/

A quick script could handle both calls and the related sorting. Both endpoints need an access token, which is why aren’t doing it from inside a plugin.

I found an open request for this exact Plugin API need: https://forum.figma.com/suggest-a-feature-11/feature-request-expose-component-source-file-library-name-in-plugin-api-43722

Talk soon! — Jaycee


Jaycee Lewis
Figmate
  • Figmate
  • Answer
  • August 7, 2026

Hey hey ​@Julia57 🤩 Here are the plugins I found while doing research on this limitation:

(Please note: this list is not a recommendation or endorsement of any one plugin. This list is also non-exhaustive and was generated as part of my research for the Plugin API limitation and your goals) *thus concludes my TED talk*

 

I also took this need to the team that owns the Plugin API and shared it as feedback and a feature request. Have a fantastic weekend! — Jaycee


Jaycee Lewis
Figmate

And for the curious, here’s how the local workaround is happening:

The trick is that a component's key is the same string everywhere.

A key like 1059543914f0162... is global and permanent. When standing inside the library file, that component is local — so you can read its key, and you can also read the file's own name. When in a design file, the same component shows up as remote — you can still read the key, but the name is gone.

The key is a join column: 

  • Run the plugin inside the library once
  • Write every key → this file's name pair
  • From then on any design file can look a remote key up in that list and get the name back

Have fun building! — Jaycee


Julia57
  • Author
  • Active Member
  • August 7, 2026

@Jaycee Lewis Thanks a bunch, and have  great weekend!