Skip to Content

FigmaApi

Figma
Arcade Starter

Description: Tools that enable LLMs to interact directly with the figma API.

Author: Arcade

Auth: User authorization

PyPI VersionLicensePython VersionsWheel StatusDownloads

FigmaApi is a Starter MCP Server: each tool mirrors one HTTP endpoint and offers LLMs a way to interact with the low-level API.


Differently from Optimized MCP Servers, Starter tools are heavily influenced by the original API design, which is not usually optimized for LLM usage. For this reason, we recommend thoroughly evaluating the tools with your Agents or chatbots before using it in production. Read more about Optimized vs Starter tools.

The FigmaApi Server offers a comprehensive suite of tools for interacting with Figma files and . can efficiently manage design assets and collaborate on projects by performing actions such as:

Available Tools

Tool NameDescription
FigmaApi.FetchFigmaFileRetrieve a Figma file as a JSON object using its file key.
FigmaApi.GetFigmaFileNodesRetrieve nodes and metadata from a Figma file.
FigmaApi.RenderFigmaImagesFetch rendered images from Figma files by node IDs.
FigmaApi.FetchImageFillLinksRetrieve download links for images in a Figma document.
FigmaApi.GetFileMetadataRetrieve metadata for a specified Figma file.
FigmaApi.FigmaGetTeamProjectsFetch all projects within a specified Figma team.
FigmaApi.GetFigmaProjectFilesRetrieve all files from a specific Figma project.
FigmaApi.FetchFileVersionHistoryFetch the version history of a Figma file.
FigmaApi.GetFigmaFileCommentsRetrieve comments from a Figma file.
FigmaApi.AddCommentToFigmaFilePosts a new comment on a Figma file.
FigmaApi.DeleteFigmaCommentDelete your comment from a Figma file.
FigmaApi.FetchCommentReactionsRetrieve reactions from a specific comment in Figma.
FigmaApi.AddFigmaCommentReactionAdd a reaction to a comment on a Figma file.
FigmaApi.DeleteMyCommentReactionDeletes your specific comment reaction in Figma.
FigmaApi.GetUserInformationRetrieve information for the authenticated Figma user.
FigmaApi.GetTeamComponentsRetrieve published components from a team's Figma library.
FigmaApi.GetFigmaFileComponentsRetrieve published components from a Figma file library.
FigmaApi.GetFigmaComponentMetadataRetrieve metadata for a Figma component by key.
FigmaApi.GetTeamComponentSetsFetch published component sets from a Figma team library.
FigmaApi.GetPublishedComponentSetsRetrieve published component sets from a Figma file.
FigmaApi.GetFigmaComponentSetRetrieve metadata for a Figma component set using its key.
FigmaApi.GetTeamStylesRetrieve a list of published styles from a team's library in Figma.
FigmaApi.GetPublishedStylesFromFileRetrieve published styles from a Figma file library.
FigmaApi.GetStyleMetadataRetrieve Figma style metadata by key.
FigmaApi.GetFigmaWebhooksRetrieve a list of webhooks from Figma.
FigmaApi.CreateFigmaWebhookCreate a new webhook for Figma events.
FigmaApi.GetFigmaWebhookRetrieve a Figma webhook by its ID.
FigmaApi.UpdateFigmaWebhookUpdate a Figma webhook by its ID.
FigmaApi.DeleteFigmaWebhookDelete a specified webhook in Figma.
FigmaApi.GetRecentWebhookRequestsRetrieve recent webhook requests from the last week.
FigmaApi.RetrieveFigmaLocalVariablesRetrieve local and remote variables from a Figma file.
FigmaApi.GetPublishedVariablesRetrieve published variables from a Figma file.
FigmaApi.ManageFigmaVariablesManage and organize Figma variable collections in bulk.
FigmaApi.GetDevResourcesRetrieve development resources from a Figma file.
FigmaApi.CreateBulkDevResourcesBulk create developer resources in multiple Figma files.
FigmaApi.BulkUpdateFigmaDevResourcesUpdate multiple Figma dev resources in bulk.
FigmaApi.DeleteDevResourceDelete a dev resource from a Figma file.
FigmaApi.GetLibraryAnalyticsComponentActionsGet analytics for library component actions.
FigmaApi.FetchComponentUsageDataFetch library analytics component usage data by dimension.
FigmaApi.GetLibraryStyleActionsRetrieve library style analytics actions data by dimension.
FigmaApi.GetLibraryStyleUsageDataRetrieve style usage data from Figma library analytics.
FigmaApi.FetchLibraryAnalyticsVariableActionsRetrieve library analytics variable actions data from Figma.
FigmaApi.GetLibraryAnalyticsVariableUsagesRetrieve analytics on library variable usage.

If you need to perform an action that’s not listed here, you can get in touch with us to request a new , or create your own tools.

FigmaApi.FetchFigmaFile


Retrieve a Figma file as a JSON object using its file key.

Parameters

  • file_key (string, required) The unique key of the Figma file or branch to retrieve as JSON.
  • version_id (string, optional) Specify the version ID to retrieve a specific version of the file. Default is the current version.
  • node_ids_of_interest (string, optional) Comma-separated list of node IDs to retrieve specific parts of the Figma document.
  • traversal_depth (number, optional) Positive integer indicating the depth in the document tree to retrieve. For example, 1 returns only Pages; 2 returns Pages and top-level objects.
  • export_vector_data (string, optional) Set to “paths” to include vector data in the response.
  • include_plugin_data (string, optional) Comma separated list of plugin IDs and/or ‘shared’. Includes plugin data in the result.
  • include_branch_metadata (boolean, optional) Set to true to include metadata about branches related to the file. If false, branch information will not be returned.

FigmaApi.GetFigmaFileNodes


Retrieve nodes and metadata from a Figma file.

Parameters

  • node_ids_to_retrieve (string, required) A comma-separated list of Figma node IDs to retrieve as JSON.
  • figma_file_key (string, required) The file or branch key from which to export JSON data in Figma.
  • specific_version_id (string, optional) Specify a version ID to retrieve a particular version of the Figma file. If omitted, the current version is retrieved.
  • node_tree_depth (number, optional) Positive integer indicating how deep into the node tree to traverse from the starting node. A value of 1 returns only immediate children. Leaving it unset returns all nodes.
  • export_vector_data (string, optional) Set to “paths” to include vector data in the response.
  • include_plugin_data (string, optional) Comma-separated plugin IDs and/or ‘shared’ to include plugin-related data in results.

FigmaApi.RenderFigmaImages


Fetch rendered images from Figma files by node IDs.

Parameters

  • node_ids_to_render (string, required) A comma-separated list of node IDs for images to be rendered.
  • figma_file_key (string, required) The key for the Figma file or branch to export images from. Use with the branch_data query parameter to obtain branch key if needed.
  • version_id (string, optional) Specify a version ID to retrieve a particular version of a Figma file. If omitted, will use the current version.
  • image_scale_factor (number, optional) A number between 0.01 and 4, representing the image scaling factor for rendering.
  • image_output_format (string, optional) Specify the image format for the output. Options are ‘jpg’, ‘png’, ‘svg’, or ‘pdf’.
  • render_text_as_outlines (boolean, optional) Determines if text elements are rendered as outlines in SVGs. Set true for visual consistency; false for selectable text.
  • include_svg_id_attributes (boolean, optional) Include id attributes for all SVG elements. Adds the layer name to the ‘id’ attribute.
  • include_node_id_in_svg_elements (boolean, optional) Set to true to include node ID attributes for all SVG elements, adding the node ID to a data-node-id attribute.
  • svg_stroke_simplification_enabled (boolean, optional) Set to true to simplify inside/outside strokes in SVG using stroke attributes instead of <mask>.
  • exclude_overlapping_content (boolean, optional) Set to true to exclude overlapping content from rendering. Set to false to include overlaps, which may increase processing time.
  • use_full_dimensions_without_cropping (boolean, optional) Export using full node dimensions, ignoring cropping and empty space. Ensures text nodes are fully visible.

Retrieve download links for images in a Figma document.

Parameters

  • file_or_branch_key (string, required) The file or branch key from which to retrieve image URLs. Use GET /v1/files/:key to get the branch key if needed.

FigmaApi.GetFileMetadata


Retrieve metadata for a specified Figma file.

Parameters

  • file_identifier (string, required) File or branch key to get metadata for. Use the branch_data query param to get the branch key.

FigmaApi.FigmaGetTeamProjects


Fetch all within a specified Figma team.

Parameters

  • team_id (string, required) The unique ID of the Figma team to list from. This is required to specify which team’s projects to retrieve.

FigmaApi.GetFigmaProjectFiles


Retrieve all files from a specific Figma .

Parameters

  • project_identifier (string, required) The unique string ID of the Figma from which to list files.
  • include_branch_metadata (boolean, optional) Include branch metadata for each main file with a branch in the . Set to true to receive this data, otherwise false.

FigmaApi.FetchFileVersionHistory


Fetch the version history of a Figma file.

Parameters

  • target_file_key (string, required) The key of the file or branch to fetch version history for. Use this to specify the Figma file whose version history you need.
  • number_of_items_per_page (number, optional) Specify the number of items to return per page. Defaults to 30 if not provided.
  • get_versions_before_id (number, optional) A version ID to get versions before it in the history. Used for pagination.
  • after_version_id (number, optional) Version ID to fetch subsequent versions. Used for pagination. Omit if not paginating.

FigmaApi.GetFigmaFileComments


Retrieve comments from a Figma file.

Parameters

  • figma_file_or_branch_key (string, required) Specify the file or branch key to retrieve comments from. Use the GET /v1/files/:key endpoint with branch_data query param for branch keys.
  • return_comments_as_markdown (boolean, optional) Set to true to return comments as markdown equivalents when applicable.

FigmaApi.AddCommentToFigmaFile


Posts a new comment on a Figma file.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • figma_file_key (string, optional) File or branch key for the Figma file where the comment will be added. Retrieve this using GET /v1/files/:key with the branch_data query param for branch keys. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’.
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.DeleteFigmaComment


Delete your comment from a Figma file.

Parameters

  • figma_file_key (string, required) The file or branch key from which to delete the comment. Use GET /v1/files/:key with branch_data to obtain the branch key.
  • comment_identifier (string, required) The ID of the comment you wish to delete from the Figma file. Only the original commenter can perform this action.

FigmaApi.FetchCommentReactions


Retrieve reactions from a specific comment in Figma.

Parameters

  • file_or_branch_key (string, required) The key for the file or branch to retrieve the comment reactions from in Figma.
  • comment_id (string, required) ID of the comment from which to retrieve reactions.
  • pagination_cursor (string, optional) Cursor for pagination. Use the cursor from the previous call’s response to retrieve the next set of reactions.

FigmaApi.AddFigmaCommentReaction


Add a reaction to a comment on a Figma file.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • file_or_branch_key (string, optional) Key of the file or branch where the comment reaction should be posted. Can be obtained via the Figma API. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’.
  • comment_id (string, optional) The unique identifier of the comment you want to react to in a Figma file. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’.
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.DeleteMyCommentReaction


Deletes your specific comment reaction in Figma.

Parameters

  • reaction_emoji (string, required) The emoji associated with the reaction to be deleted. Only the emoji used for the reaction you added can be deleted.
  • file_or_branch_key (string, required) Key of the Figma file or branch where the reaction should be deleted. Use GET /v1/files/:key with the branch_data query param to obtain the branch key if needed.
  • comment_id (string, required) The ID of the comment from which you want to delete your reaction.

FigmaApi.GetUserInformation


Retrieve information for the authenticated Figma .

Parameters

This does not take any parameters.

FigmaApi.GetTeamComponents


Retrieve published components from a team’s Figma library.

Parameters

  • team_id (string, required) The unique identifier of the team whose components you want to retrieve. This ID is necessary to specify the source team library in Figma.
  • number_of_items_per_page (number, optional) Specify the number of components to return in one page. Defaults to 30, maximum is 1000.
  • cursor_after_id (number, optional) Cursor indicating which ID to start retrieving components after. Cannot be used with ‘before’.
  • cursor_before (number, optional) Cursor to retrieve components starting before a specific id. Exclusive with ‘cursor_after’.

FigmaApi.GetFigmaFileComponents


Retrieve published components from a Figma file library.

Parameters

  • file_key (string, required) Main file key to list components from. Must not be a branch key.

FigmaApi.GetFigmaComponentMetadata


Retrieve metadata for a Figma component by key.

Parameters

  • component_key (string, required) The unique identifier of the Figma component to retrieve metadata for.

FigmaApi.GetTeamComponentSets


Fetch published component sets from a Figma team library.

Parameters

  • team_id (string, required) The unique identifier for the team from which to list component sets.
  • number_of_items_per_page (number, optional) Specify the number of items to return per page in the results. Defaults to 30.
  • start_after_cursor (number, optional) Cursor indicating the starting point for retrieving component sets, exclusive with end_before_cursor. This cursor is an internally tracked integer not corresponding to any IDs.
  • cursor_before_id (number, optional) Cursor ID indicating the point before which to retrieve component sets. It must be exclusive with the ‘after’ cursor.

FigmaApi.GetPublishedComponentSets


Retrieve published component sets from a Figma file.

Parameters

  • main_file_key (string, required) The main file key of the Figma file to list component sets from. Must not be a branch key.

FigmaApi.GetFigmaComponentSet


Retrieve metadata for a Figma component set using its key.

Parameters

  • component_set_key (string, required) The unique key identifier for the Figma component set to retrieve metadata.

FigmaApi.GetTeamStyles


Retrieve a list of published styles from a team’s library in Figma.

Parameters

  • team_id (string, required) The unique identifier of the team from which to retrieve published styles.
  • items_per_page (number, optional) Specify the number of styles to return per page. Defaults to 30 if not provided.
  • start_after_cursor (number, optional) Cursor to start retrieving styles after a specific ID. Cannot be used with before. Internally tracked integer.
  • cursor_before_id (number, optional) Cursor for retrieving styles before a specific ID. Use this to paginate backwards. Exclusive with after.

FigmaApi.GetPublishedStylesFromFile


Retrieve published styles from a Figma file library.

Parameters

  • main_file_key (string, required) Main file key to list styles from. Must not be a branch key.

FigmaApi.GetStyleMetadata


Retrieve Figma style metadata by key.

Parameters

  • style_key (string, required) The unique identifier of the Figma style to retrieve metadata for.

FigmaApi.GetFigmaWebhooks


Retrieve a list of webhooks from Figma.

Parameters

  • webhook_context (string, optional) Specify the for the webhooks. Accepts ‘team’, ‘’, or ‘file’.
  • context_identifier (string, optional) The ID of the to fetch attached webhooks. Cannot be used with plan_api_id.
  • plan_id_for_webhooks (string, optional) The ID of your plan for retrieving webhooks across all accessible contexts. Cannot be used with or context_id.
  • pagination_cursor (string, optional) Cursor for pagination when using plan_api_id. Provide next_page or prev_page from previous response to navigate pages.

FigmaApi.CreateFigmaWebhook


Create a new webhook for Figma events.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.GetFigmaWebhook


Retrieve a Figma webhook by its ID.

Parameters

  • webhook_id (string, required) Unique identifier of the Figma webhook to retrieve.

FigmaApi.UpdateFigmaWebhook


Update a Figma webhook by its ID.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • webhook_id_to_update (string, optional) Provide the ID of the Figma webhook you want to update. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’.
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.DeleteFigmaWebhook


Delete a specified webhook in Figma.

Parameters

  • webhook_id_to_delete (string, required) The unique identifier of the webhook you wish to delete. This ID is required for the deletion operation.

FigmaApi.GetRecentWebhookRequests


Retrieve recent webhook requests from the last week.

Parameters

  • webhook_subscription_id (string, required) The ID of the webhook subscription for which to retrieve recent events.

FigmaApi.RetrieveFigmaLocalVariables


Retrieve local and remote variables from a Figma file.

Parameters

  • file_or_branch_key (string, required) The key for the file or branch to retrieve variables from in Figma. If a branch, use GET /v1/files/:key with the branch_data query param to get the branch key.

FigmaApi.GetPublishedVariables


Retrieve published variables from a Figma file.

Parameters

  • main_file_key (string, required) The key of the Figma file to retrieve published variables from. Only use the main file key, not a branch key.

FigmaApi.ManageFigmaVariables


Manage and organize Figma variable collections in bulk.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • file_identifier (string, optional) Specifies the Figma file or branch key to modify variables. Retrieve branch key using GET /v1/files/:key with branch_data parameter. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’.
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.GetDevResources


Retrieve development resources from a Figma file.

Parameters

  • file_key (string, required) The main file key for fetching development resources from a Figma file. Ensure it is not a branch key.
  • target_node_ids (string, optional) Comma separated list of node IDs to filter dev resources. If left blank, returns resources for all nodes.

FigmaApi.CreateBulkDevResources


Bulk create developer resources in multiple Figma files.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.BulkUpdateFigmaDevResources


Update multiple Figma dev resources in bulk.

Parameters

  • mode (Enum ToolMode, required) Operation mode: ‘get_request_schema’ returns the OpenAPI spec for the request body, ‘execute’ performs the actual operation
  • request_body (string, optional) Stringified JSON representing the request body. Required when mode is ‘execute’, ignored when mode is ‘get_request_schema’

FigmaApi.DeleteDevResource


Delete a dev resource from a Figma file.

Parameters

  • target_file_key (string, required) The main file key from which to delete the dev resource. Must not be a branch key.
  • dev_resource_id (string, required) The ID of the developer resource to delete from the Figma file.

FigmaApi.GetLibraryAnalyticsComponentActions


Get analytics for library component actions.

Parameters

  • group_by_dimension (string, required) Specify the dimension to group the analytics data by. Options are ‘component’ or ‘team’.
  • library_file_key (string, required) The unique file key for the Figma library to retrieve analytics data from.
  • data_page_cursor (string, optional) Cursor indicating the specific page of data to fetch, obtained from a previous API call.
  • earliest_start_date (string, optional) ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Rounded back to the start of a week. Defaults to one year prior.
  • latest_inclusion_date (string, optional) ISO 8601 date string (YYYY-MM-DD) of the latest week to include, rounded forward to the nearest week’s end. Defaults to the latest computed week.

FigmaApi.FetchComponentUsageData


Fetch library analytics component usage data by dimension.

Parameters

  • group_by_dimension (string, required) A dimension to group the returned analytics data. Choose between ‘component’ or ‘file’.
  • library_file_key (string, required) The file key of the library to fetch analytics data for. Required for specifying the target library.
  • data_page_cursor (string, optional) Cursor indicating which page of data to fetch, obtained from a prior API call.

FigmaApi.GetLibraryStyleActions


Retrieve library style analytics actions data by dimension.

Parameters

  • group_by_dimension (string, required) Specify the dimension (‘style’ or ‘team’) to group the returned analytics data by.
  • library_file_key (string, required) The unique file key of the Figma library to retrieve analytics data for.
  • pagination_cursor (string, optional) A cursor to indicate which page of data to fetch. Obtain this from a prior API call.
  • earliest_week_start_date (string, optional) ISO 8601 date string (YYYY-MM-DD) for the earliest week to include. Dates round back to the nearest week start. Defaults to one year prior.
  • end_date (string, optional) ISO 8601 date string (YYYY-MM-DD) for the latest week to include, rounded to the week’s end. Defaults to the latest computed week if not specified.

FigmaApi.GetLibraryStyleUsageData


Retrieve style usage data from Figma library analytics.

Parameters

  • group_by_dimension (string, required) Dimension to group the returned analytics data by. Options are ‘style’ or ‘file’.
  • library_file_key (string, required) The file key of the Figma library to fetch analytics data for. This is required to specify the source library.
  • pagination_cursor (string, optional) Cursor indicating which page of data to fetch, obtained from a previous API call.

FigmaApi.FetchLibraryAnalyticsVariableActions


Retrieve library analytics variable actions data from Figma.

Parameters

  • group_by_dimension (string, required) A dimension to group the returned analytics data by. Options: ‘variable’, ‘team’.
  • library_file_key (string, required) The file key of the library for which to fetch analytics data.
  • page_cursor (string, optional) Cursor to indicate which page of data to fetch, obtained from a previous API call.
  • earliest_week_start_date (string, optional) ISO 8601 date string (YYYY-MM-DD) representing the earliest week to include. Rounded back to the nearest week’s start. Defaults to one year prior.
  • end_date (string, optional) ISO 8601 date string (YYYY-MM-DD) for the latest week to include. Defaults to the latest computed week.

FigmaApi.GetLibraryAnalyticsVariableUsages


Retrieve analytics on library variable usage.

Parameters

  • group_by_dimension (string, required) Specifies the dimension (‘variable’ or ‘file’) for grouping library analytics data.
  • library_file_key (string, required) The unique key of the library to fetch analytics data from.
  • page_cursor (string, optional) A token to fetch the specific page of results, received from a previous API call.

Auth

The Arcade Figma Server uses the Figma auth provider to connect to users’ Figma .

With the Arcade Cloud Platform, there’s nothing to configure. Your will see Arcade as the name of the application that’s requesting permission.

With a self-hosted installation of Arcade, you need to configure the Figma auth provider with your own Figma app credentials.

Reference

Below is a reference of enumerations used by some of the tools in the FigmaApi Server:

ToolMode

  • GET_REQUEST_SCHEMA: get_request_schema
  • EXECUTE: execute
Last updated on