Figma
Get Figma Design Spec
Read a Figma frame as a build-ready spec — layout, colours, fonts, spacing and copy.
Endpoint
Parameters
| Name | Type | Required | Note |
|---|---|---|---|
| identifieraccount · required | account | required | — |
| fileKeystring · required | string | required | Paste a Figma file link (Share → Copy link) or the file key from the URL. Example: |
| nodeIdsstring · optional | string | optional | The frame to spec out — a node ID, or a link from right-clicking the layer → Copy link to selection. Leave blank to walk the whole file, which is slower and rarely what you want. Example: |
| depthnumber · optional | number | optional | How many levels deep to walk (1-24, default 12). Below that is usually decoration. Default: |
| maxNodesnumber · optional | number | optional | Node budget (1-5000, default 600). The result says when it ran out. Default: |
| versionstring · optional | string | optional | A version ID from List Figma File Versions. Leave blank for the current version. |
Response schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Open in Figma"
},
"notes": {
"type": "string",
"description": "How to read the spec: units, coordinate origin, image refs"
},
"frames": {
"type": "array",
"description": "The requested frames, nested: each node has id, name, type, x, y, w, h and whichever of layout, fill, font, text, border, radius, shadow, opacity, componentId apply"
},
"fileKey": {
"type": "string"
},
"version": {
"type": "string"
},
"fileName": {
"type": "string"
},
"nodeCount": {
"type": "number"
},
"truncated": {
"type": "boolean",
"description": "True when the node budget ran out before the tree did"
},
"lastModified": {
"type": "string"
}
}
}