Skip to main content
Question

Unable to Export Local Variables - API Endpoint Returns "Request Too Large" Error


petrvostry

I'm encountering an issue with the Variables API endpoint when attempting to export local variables. The endpoint returns all remote variables from shared files, making it impossible to export only local variables.

Current Behavior:

  • The endpoint returns all remote variables from shared files
  • Unable to filter or export only local variables
  • Receiving a 400 error with "Request too large" message

Error Response:

{ "status": 400, "error": true, "message": "Request too large. If applicable, filter by query params." }

Technical Details:

  • The error message suggests using query parameters for filtering
  • However, the endpoint documentation doesn't list any available query parameters
  • The endpoint lacks pagination capabilities
  • This limitation makes the endpoint essentially unusable for files with many variables

Expected Behavior:

  • Ability to export only local variables
  • Support for filtering variables (local vs. remote)
  • Pagination support for large variable sets

Impact: This issue significantly impacts workflow automation and variable management, especially in projects with multiple shared libraries and variable collections.

Suggested Solutions:

  1. Add query parameters for filtering variable types (local/remote)
  2. Implement pagination support
  3. Add ability to specify variable scope in the request

Let me know if you'd like me to modify any part of this bug report.

11 replies

petrvostry
  • Author
  • New Member
  • 2 replies
  • February 26, 2025

Anyone?


EmilienH
  • New Member
  • 2 replies
  • June 19, 2025

We are facing the same issue. It also doesn’t help that deleted variables and collections are also being returned by this endpoint, with no way to permanently remove them.


djv
Figmate
  • Community Support
  • 4912 replies
  • June 20, 2025

Hey All, thanks for reaching out and apologies for the lack of acknowledgement here! 

Our API team confirmed that the error message “Request Too Large” is a catch-all error message and is not currently specific to an endpoint. The issue stems from the file being too large for our variable export system to handle effectively.
 
We fully understand how important this functionality is to your workflow, so I can assure you that the team is working on enhancements to the variables endpoint, including implementing filters, as part of a planned feature update. While we don’t have a definitive timeline for these improvements, they are on our roadmap. Your feedback is truly invaluable in helping us prioritize this work.
 
In the meantime, the best temporary solution is splitting the file into smaller parts. While this solution isn’t ideal, we appreciate your understanding as we work toward long-term improvements.


EmilienH
  • New Member
  • 2 replies
  • June 23, 2025

Hi ​@djv, thanks a lot for your reply and for acknowledging the issue.

The issue stems from the file being too large for our variable export system to handle effectively.

This is very helpful information, do you know specifically if the problem is the file being too large overall, or the number of variables being too high? 

Splitting the file is doable but splitting the variable library would be a problem.

Thanks again, we appreciate your help!


djv
Figmate
  • Community Support
  • 4912 replies
  • July 3, 2025

Hi ​@EmilienH, thanks for following up about this and apologies for the delayed reply! 

The team did some investigation, and they’re still not able to pin point if it’s specifically a large file issue or a number of variables issue. Typically, Figma runs a job to process the file, and if it takes longer than 55 seconds for any reason, the job will be cancelled and return the “Request too large” error. 

In general, larger and more complex files are more likely to timeout, but we can’t say with confidence what is more or less likely to be causing it. 

The team truly appreciates your feedback though. They’re now working on reevaluating our current job process for improvement. 


Annelies_Groeneveld

Super keen for a solution here too!


petrvostry
  • Author
  • New Member
  • 2 replies
  • July 10, 2025

Hello ​@djv,

Thank you for the detailed explanation about the 55-second timeout limit for file processing jobs.

As a large enterprise with substantial data volumes, we frequently encounter the "Request too large" error due to this timeout limitation. Our complex design files and extensive data sets often require more than 55 seconds to process, which significantly impacts our workflow and productivity.

Given that the team is currently reevaluating the job process for improvement, would it be possible to temporarily increase this timeout limit for enterprise accounts while the permanent solution is being developed?

Alternatively, could you provide:

  1. Guidelines on optimal file structure to minimize processing time
  2. Temporary workarounds for handling large, complex files
  3. An estimated timeline for when the improved job process might be available

We understand the technical challenges involved, but any interim solution would greatly help our team maintain productivity while waiting for the permanent fix.

Thank you for your continued support and for working on improvements to address this issue.

Best regards,
Petr


djv
Figmate
  • Community Support
  • 4912 replies
  • July 10, 2025

Hi ​@petrvostry, thanks for the feedback! 

The team is already working on increasing the timeout limit. For now, the best temporary solution is splitting any large files into smaller parts. We don’t have any readily available guidelines for the optimal file structure, but if you’d like our technical quality team to take a closer look and make recommendations, you can reach out here: https://help.figma.com/hc/en-us/requests/new

Again, while I can confirm that this is already on our team’s roadmap to improve, we don't have a set timeline to provide just yet. Thank you for your patience while we work on making this better.


Jan Konopásek

@djv Our team just hit this issue as well. Let me explain our use-case to provide a bit of additional context. Note that we too use an enterprise Figma account.

Over the past years our design team has implemented a comprehensive design system for our company on Figma (and continues to extend it). To implement the design system as code in a maintainable manner, we built a tool that extracts all of the variables and styles from the design system Figma files and connected our styling to the extracted tokens. The above limit, which wasn’t previously communicated AFAIK, has now severed this connection and prevents us implementing any changes to the design system.

Splitting the large file containing all the design system components into smaller files would pose significant challenges. As far as I’m aware, Figma provides no affordances to facilitate tasks such as “replace all references to a component with references to a new copy of that component in a different file”. In absence of any clear guidance on how to shape the system to avoid the issue, it would be an exercise in futility.

Moreover, after running into the issue for the first time, it keeps happening even when we try to extract from a copy of the affected file after deleting most of its contents.

The issue is absolutely critical to us. We’d much appreciate an ETA of a fix or authoritative guidance on how a system should be constructed to ensure the issue cannot happen and how to migrate an existing system to such a state.


Annelies_Groeneveld

Hi, 
I will add some specific explanation here too in case it helps the team understand the problem a bit better.

We are also on an enterprise Figma account and have a lot of variables all within the one design system file. The reason why we can’t split these up is because we use our colour modes for multiple brands and need to be able to have a range of primitives and all the semantics in the same file, so that they can easily talk to each other.


Our structure is:
Brand mode → light mode / dark mode / colour mode → primitives
For example a shape-brand variable colour will link to a primary-700 shade in light mode, primary-300 shade in dark mode and then to a different hex based on which brand mode is selected. We have the same with brand fonts and radius variables that are all brand-dependent. 

 

Wen we make a change to our design system, the file itself is not only slow, it crashes all the time. Our work-around this is that our engineers pull the new variables from the API, and then push it back into our main file, so we don’t have to replicate the changes there, and go through the peer review and QA processes all over again. Since this time-out happens now, we are unable to use the API, and are forced to either:

  1.  Make changes in the design system file without a branch (this is not a safe option and can affect all our brands and files, it also prevents us from publishing smaller fixes or tweaks if we are working on the live master, as that would set those changes live too.
  2. Make changes in a branch, get them reviewed, approved and QA’d, then redo the changes in the main file, and go through this process again

This is currently adding not hours but days to our workload.

Please note that we have followed all steps explained here https://help.figma.com/hc/en-us/articles/360040528173-Reduce-memory-usage-in-files and are daily making changes to our components to make them smaller to improve file efficiency. An example of this is:
→ we support two icon sets: Phosphor and Heroicons, we used to have two variants of each states within our buttons and other components and have recently changed this to the ability to swap icons with string variables and added an icon mode. This unfortunately did not fix the issue…

I have submitted a help request and we are waiting on some more guidance here, but would really appreciate a fix soon. Thanks


 


Celine_
Figmate
  • Community Support
  • 3733 replies
  • July 18, 2025

Hi ​@Jan Konopásek , ​@Annelies_Groeneveld , thanks for sharing these details!

We’ve passed this along to our internal team, and our engineering team would like to take a closer look at your cases. I’ve gone ahead and created support tickets on your behalf:

  • Jan: #1436547

  • Annelies: #1436551

Feel free to reply directly to your ticket. When you do, please include the link to the affected file showing the “request too large” error, and grant edit access to support-share@figma.com (this won’t affect your billing).

You should have received an email (via your Figma email account). Thanks again for your patience and please check your inbox when you have a moment!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings