Maton

Figma

Access the Figma REST API with managed OAuth authentication. Read files and nodes, render images, work with comments, and browse published components and styles.

Reference

Figma has no "list my files" endpoint, so start from a file key. It is the segment after /design/ (or /file/) in a Figma URL: https://www.figma.com/design/{fileKey}/....

Get Current User

GET /figma/v1/me

Get File

GET /figma/v1/files/{fileKey}?depth=1

Full file responses are very large. Start with depth=1 for the pages, use depth=2 to see the frames on each page, then request specific nodes.

Get File Nodes

GET /figma/v1/files/{fileKey}/nodes?ids={nodeId1},{nodeId2}

The response keys the requested nodes by ID under nodes, next to the file-level fields.

Get File Metadata

GET /figma/v1/files/{fileKey}/meta

Get File Versions

GET /figma/v1/files/{fileKey}/versions

Render Images

GET /figma/v1/images/{fileKey}?ids={nodeId}&format=png&scale=2

format is jpg, png, svg, or pdf, and scale ranges from 0.01 to 4. The response maps each node ID to a temporary download URL. A node ID that doesn't exist returns 200 with that value set to null, so check each value.

Get Image Fills

GET /figma/v1/files/{fileKey}/images

Get Comments

GET /figma/v1/files/{fileKey}/comments?as_md=true

Post Comment

POST /figma/v1/files/{fileKey}/comments
Content-Type: application/json

{
  "message": "Comment text"
}

Pass comment_id to reply within a thread, or client_meta to pin the comment to a position or region. Comments notify the file's collaborators.

Get Comment Reactions

GET /figma/v1/files/{fileKey}/comments/{commentId}/reactions

List Team Components

GET /figma/v1/teams/{teamId}/components?page_size=30

The same pattern works for component_sets and styles, at team scope (/v1/teams/{teamId}/...), file scope (/v1/files/{fileKey}/...), or by key (/v1/components/{key}, /v1/component_sets/{key}, /v1/styles/{key}). File-scoped library endpoints need a main file key, not a branch key.

Notes:

  • These endpoint groups are not available through the gateway:
GroupPathsResult
Projects/v1/teams/{teamId}/projects, /v1/projects/{projectId}/files404, deprecated by Figma
Project metadata/v1/projects/{projectId}/meta403 Invalid scope
Folders/v2/teams/{teamId}/folders, /v2/folders/{folderId}/...403 Invalid scope
Webhooks/v2/webhooks...403 Invalid scope
Variables/v1/files/{fileKey}/variables/...403; Enterprise-only
Dev resources/v1/files/{fileKey}/dev_resources, /v1/dev_resources404 on reads; writes return 200 with nothing created
  • A 403 body of {"message":"Invalid scope"} means the endpoint isn't available here. You don't have permission to view this team. means the endpoint works but the connected account can't see that team.
  • Rendered image URLs expire. Download them promptly instead of storing the URL.

Resources

On this page