Amazon11/12まで!スマイルSale開催中!セール会場へ

Figma APIで取得できる情報一覧|項目・権限・回数制限

Figma APIで取得できる情報一覧

Figma REST APIで取得できるのは、ファイルの中身(ページとレイヤーのJSON)、レイヤーを描いた画像、コメント、版の履歴、公開したコンポーネントとスタイル、変数、Webhookの設定です。

反対に、レイヤーを作る・動かす・色を変えるといったデザインの書き換えは、REST APIではできません。

この記事では、エンドポイントごとに返る項目と、必要なスコープ、回数制限の層を一覧にしました。

内容は、Figmaが公開しているOpenAPI仕様の v0.47.0(2026年10月30日更新)と開発者向けドキュメントで、2026年11月5日に確かめています。

目次

取得できる情報の早見表

知りたいことから、使うエンドポイントを選べる表です。

スコープはトークンを作るときに選ぶ権限で、層(Tier)は回数制限の区分を表します。

知りたいことエンドポイント主に返る項目スコープ層
ファイル全体のレイヤー構造GET /v1/files/:file_keydocument(ページとレイヤーの木)、components、styles、versionfile_content:read1
特定のレイヤーだけGET /v1/files/:file_key/nodesnodes(ノードIDごとの document)file_content:read1
レイヤーを描いた画像GET /v1/images/:file_keyimages(ノードID→画像のURL)file_content:read1
貼り付けた画像の元データGET /v1/files/:file_key/imagesmeta.images(imageRef→画像のURL)file_content:read2
ファイル名・作成者・最終更新GET /v1/files/:file_key/metaname、creator、last_touched_at、editorType、link_accessfile_metadata:read3
版の履歴GET /v1/files/:file_key/versionsid、created_at、label、description、userfile_versions:read2
コメントGET /v1/files/:file_key/commentsmessage、client_meta、parent_id、resolved_at、reactionsfile_comments:read2
自分のアカウントGET /v1/meid、handle、img_url、emailcurrent_user:read3
公開したコンポーネントGET /v1/files/:file_key/componentskey、name、description、node_id、containing_framelibrary_content:read3
公開したスタイルGET /v1/files/:file_key/styleskey、name、style_type、node_idlibrary_content:read3
フォルダーとファイルの一覧GET /v2/teams/:team_id/foldersフォルダーの一覧。中のファイルは別のエンドポイントで取るfolders:read2
変数GET /v1/files/:file_key/variables/localvariables、variableCollections(Enterpriseのみ)file_variables:read2
Dev ModeのリンクGET /v1/files/:file_key/dev_resourcesname、url、node_idfile_dev_resources:read2
Webhookの設定GET /v2/webhooksevent_type、context、endpoint、statuswebhooks:read2

仕様では、古いスコープ files:read も多くのエンドポイントで受け付けると書かれていますが、扱いは非推奨です。

トークンの作り方とスコープの選び方は、Figmaの個人アクセストークンの取得方法で手順をまとめました。

スポンサーリンク

回数制限は「席」と「層」で決まる

REST APIの回数制限は、使う人の席(シート)の種類と、エンドポイントの層と、ファイルがあるプランの3つで決まります。

公式のRate Limitsの表を、2026年11月5日時点の内容で整理しました。

層主なエンドポイント閲覧・コラボ席Dev・フル席(Professional/Organization/Enterprise)
Tier 1ファイル全体、ノード、画像の描画月20回まで毎分10回/15回/20回
Tier 2コメント、版の履歴、貼り付けた画像、フォルダー、変数、Webhook など毎分5回まで毎分25回/50回/100回
Tier 3コンポーネントとスタイル、ファイルのメタ情報、ユーザー など毎分10回まで毎分50回/100回/150回

閲覧席やコラボ席でファイル全体を取ると月20回で止まるので、くり返し取る仕組みにはDev席かフル席のトークンが向いています。

閲覧席とコラボ席は、混み合っているときに表の回数より少なくなることがあるとも書かれています。

上限を超えたときの応答は 429 で、Retry-After に待つ秒数が入る仕組みです。

ファイル全体:GET /v1/files/:file_key

ファイルの中身をまとめて返すエンドポイントで、返り値の中心は document です。

ファイルキーは、ファイルのURLの /design/(古いURLでは /file/)の後ろに続く文字列を指します。

返る項目

返る項目中身
nameファイル名
lastModified最終更新の日時(UTC)
version版の番号。変わったかどうかの判定に使える
roleトークンの持ち主のこのファイルでの役割
editorTypefigma か figjam
thumbnailUrlサムネイル画像のURL
linkAccessリンク共有の権限(inherit・view・edit・org_view・org_edit)
document種類が DOCUMENT のノード。下にページ、その下にレイヤーが続く
components・componentSetsファイルで使っているコンポーネントのメタ情報(key、name、description など)
stylesスタイルのメタ情報(key、name、styleType など)
mainFileKey・branchesブランチの情報(branch_data=true のとき)

styles に入るのは名前と種類だけで、色や文字サイズの値は入りません。

値を知りたいときは、そのスタイルを使っているノードの fills や style を見ます。

返り値を小さくするパラメーター

パラメーター使いどころ
depth木をどこまで返すか。1ならページまで、2ならページ直下のフレームまで
ids必要なノードとその親子だけを返す
version過去の版の中身を取る
geometry=pathsベクターのパスのデータも返す
plugin_dataプラグインが書き込んだデータも返す
branch_dataブランチの情報も返す

大きなファイルをそのまま取ると返り値が重くなるため、最初は depth=1 でページの一覧だけを取るのが扱いやすい方法です。

特定のレイヤー:GET /v1/files/:file_key/nodes

ids にノードIDをカンマ区切りで渡すと、そのノードだけを返します。

返り値の nodes は、ノードIDごとに document(そのノード)と、使っているコンポーネントやスタイルのメタ情報を持つ形です。

ノードIDは、レイヤーのリンクの node-id= の後ろにあり、URLでは 1-2、APIでは 1:2 と書きます。

選んだレイヤーのIDをまとめて控えたいときは、選択レイヤーのURLを一括取得するプラグインが使えます。

ノードに入っている主な項目

ノードの項目は種類によって違いますが、多くのノードに共通するのは次の項目です。

分類項目中身
識別id・name・type・visible・lockedID、レイヤー名、種類(FRAME・TEXT・INSTANCE など)、表示と固定
位置と大きさabsoluteBoundingBox・absoluteRenderBounds・size・relativeTransform・rotationキャンバス上の座標と寸法、影を含む描画範囲、親からの変形
制約constraints親フレームに対する追従のしかた
オートレイアウトの子layoutPositioning・layoutSizingHorizontal・layoutSizingVertical・layoutGrow絶対配置か、Fixed・Hug・Fill のどれか
塗りと線fills・strokes・strokeWeight・strokeAlign・strokeDashes単色・グラデーション・画像の塗り、線の太さと位置、破線
効果と合成effects・opacity・blendMode影・ぼかし、不透明度、描画モード
マスクisMask・maskTypeマスクかどうかと、その種類
変数boundVariables・explicitVariableModes項目に割り当てた変数のID、明示したモード
書き出しexportSettingsレイヤーに登録した書き出し設定
プロトタイプinteractionsクリックなどの操作と遷移先
プラグインpluginData・sharedPluginDataplugin_data を指定したときだけ入る

テキスト(TEXT)

項目中身
characters文字列そのもの
styleフォント名・太さ・サイズ・行送り・字間・揃え・自動リサイズ・リンクなどの書式(TypeStyle)
characterStyleOverrides・styleOverrideTable一部の文字だけ書式を変えたときの、文字ごとの上書き
lineTypes・lineIndentations行ごとの箇条書きの種類と字下げ
styles使っているテキストスタイルや塗りスタイルのID

PostScript名(fontPostScriptName)は空(null)で返ることがあるので、フォントの判定には fontFamily と fontWeight も合わせて見ます。

文字の色が入るのは fills です。

フレーム(FRAME)

項目中身
layoutModeNONE・HORIZONTAL・VERTICAL・GRID。オートレイアウトの向き
itemSpacing・counterAxisSpacing子どうしの間隔と、折り返した行の間隔
paddingLeft ほか4方向内側の余白
primaryAxisAlignItems・counterAxisAlignItems主軸と交差軸の揃え
layoutWrap折り返すかどうか
gridRowCount・gridColumnCount などグリッドレイアウトの行と列
clipsContentはみ出した部分を隠すか
cornerRadius・rectangleCornerRadii・cornerSmoothing角丸と、角ごとの値、スムージング
layoutGridsレイアウトグリッド
devStatusDev Modeの「開発の準備完了」などの状態

オートレイアウトの値はCSSのflexにほぼ対応するので、コードに起こすときの手がかりになります。

インスタンス(INSTANCE)

項目中身
componentId元になったコンポーネントのID
componentPropertiesコンポーネントプロパティの名前と値(バリアントの選択もここに入る)
overridesこのインスタンスで直接上書きした項目の一覧
exposedInstances・isExposedInstance入れ子のインスタンスを外に出しているかどうか

インスタンスの fills や characters は、上書きを反映した後の値です。

元のコンポーネントとの違いを見たいときは、componentId で元のノードを取り、項目を比べます。

画像:GET /v1/images と /files/:file_key/images

名前は似ていますが、2つは返すものが違います。

エンドポイント返すもの条件
GET /v1/images/:file_key指定したノードを描いた画像のURL形式は jpg・png・svg・pdf、倍率は 0.01〜4。URLは30日で切れる
GET /v1/files/:file_key/imagesファイルに貼り付けた画像そのもののURLimageRef ごとに返る。URLは長くても14日で切れる

描画に失敗したノードの値は、URLではなく null です。

3,200万画素を超える画像は縮小されます。

画像のURLには期限があるため、記事やツールに直接貼ると、しばらくして表示されなくなる点に注意が必要です。

SVGで書き出すときは、文字をパスにするか(svg_outline_text)、id属性を付けるかも選べます。

Pythonでまとめて保存する手順は、Figma REST APIで画像を一括書き出しする方法で書きました。

版の履歴・コメント・ユーザー

版の履歴

GET /v1/files/:file_key/versions は、ファイルの保存された版の一覧を返します。

1回に返る数は page_size で決まり、初期値は30件、上限は50件です。

続きは before に版のIDを渡して取ります。

返った版のIDを GET /v1/files の version に渡せば、その時点の中身が取れる仕組みです。

コメント

操作エンドポイント主な項目
取得GET /v1/files/:file_key/commentsmessage、client_meta(位置)、parent_id(返信先)、resolved_at、reactions。as_md=true で本文をマークダウンで返す
投稿POST /v1/files/:file_key/commentsmessage は必須。返信は comment_id、位置は client_meta で指定する
削除DELETE /v1/files/:file_key/comments/:comment_idコメントを消す。消せるのは書いた本人だけ
リアクション…/comments/:comment_id/reactions取得・追加・削除

返信に返信することはできず、返信先は最初のコメントに限られます。

コメントを表にする方法はFigmaのコメントをREST APIで取得・CSV出力する方法、スプレッドシートに出す方法はFigmaの情報をGoogleスプレッドシートに出力する方法で紹介しました。

ユーザー

GET /v1/me は、トークンの持ち主の id、handle(表示名)、img_url(アイコン)、email を返します。

トークンが正しく動いているかを確かめる、最初の1回に向いたエンドポイントです。

コンポーネント・スタイル(ライブラリ)

ライブラリとして公開したコンポーネントやスタイルは、ファイル単位・チーム単位・1つずつの3通りで取れます。

単位コンポーネントスタイル
ファイルGET /v1/files/:file_key/componentsGET /v1/files/:file_key/styles
チームGET /v1/teams/:team_id/componentsGET /v1/teams/:team_id/styles
1つGET /v1/components/:keyGET /v1/styles/:key

返るのは key、name、description、node_id、thumbnail_url、作成と更新の日時、containing_frame(置かれているフレーム)などのメタ情報です。

コンポーネントセット(バリアントのまとまり)も、同じ形の component_sets で取れます。

公開していないコンポーネントはここには出ないため、GET /v1/files の components が確認先です。

チーム・フォルダー・ファイルの一覧

以前の「プロジェクト」は今は「フォルダー」と呼ばれ、APIも v2 のフォルダー用に移りました。

取りたいもの今のエンドポイント以前のエンドポイント(非推奨)
チームの最上位のフォルダーGET /v2/teams/:team_id/foldersGET /v1/teams/:team_id/projects
フォルダーの中のフォルダーGET /v2/folders/:folder_id/foldersなし
フォルダーの中のファイルGET /v2/folders/:folder_id/filesGET /v1/projects/:project_id/files
フォルダーの情報GET /v2/folders/:folder_id/metaGET /v1/projects/:project_id/meta

チームIDはAPIからは取れません。

ブラウザでチームのページを開き、URLの /team/ の後ろにある数字を使います。

変数・Dev Modeのリンク・管理用のAPI

機能エンドポイント使える条件
ローカル変数GET /v1/files/:file_key/variables/localEnterprise の組織のフルメンバー。モードの値も返る
公開した変数GET /v1/files/:file_key/variables/published同上。モードの値は返らない
変数の作成・変更・削除POST /v1/files/:file_key/variables同上
Dev ModeのリンクGET /v1/files/:file_key/dev_resourcesノードに付けた外部リンク(name・url・node_id)。追加・更新・削除もできる
ライブラリの利用状況GET /v1/analytics/libraries/:file_key/…コンポーネント・スタイル・変数ごとの使用数と操作の記録
監査ログなどGET /v1/activity_logs ほか組織の管理者向け。プランのアクセストークンを使う

変数のAPIは Enterprise 以外のプランでは使えないため、その場合は Figma の書き出し機能かプラグインで取り出すことになります。

変数をJSONにする方法の比べ方は、Figma VariablesをJSONへ書き出す方法にまとめました。

Webhook(V2)

Webhookは、ファイルの更新やコメントがあったときに、指定したURLへ通知を送る仕組みです。

操作エンドポイント
作成POST /v2/webhooks
一覧GET /v2/webhooks
1件の取得・更新・削除GET・PUT・DELETE /v2/webhooks/:webhook_id
送った記録GET /v2/webhooks/:webhook_id/requests

作成するときは、event_type・context・context_id・endpoint・passcode の5つが必須です。

context はチーム(TEAM)、フォルダー(PROJECT)、ファイル(FILE)から選びます。

イベント通知されるとき
FILE_UPDATEファイルが更新されたとき
FILE_VERSION_UPDATE版が保存されたとき
FILE_DELETEファイルが削除されたとき
FILE_COMMENTコメントが付いたとき
LIBRARY_PUBLISHライブラリが公開されたとき
DEV_MODE_STATUS_UPDATEDev Modeの状態が変わったとき
PING作成した直後の確認

passcode は署名ではなく、通知の本文にそのまま入って返ってくる合言葉です。

受け取る側で値を照らし合わせ、自分が作ったWebhookからの通知かを確かめます。

作成した直後に届くのが PING です。

止めた状態で作りたいときは、status を PAUSED にして作ります。

受け取る側の作り方は、Figma Webhooks V2の使い方で試しました。

REST APIでできないこと

REST APIで書き込めるのは、コメント、リアクション、変数、Dev Modeのリンク、Webhookと、Enterprise向けの管理操作に限られます。

レイヤーを作る、動かす、色や文字を変えるといった操作は、エンドポイントがありません。

デザインを書き換えたいときは、Figmaの中で動くPlugin APIを使います。

2つのAPIの違いはFigma REST APIとPlugin APIの違い、プラグインの作り方はFigmaプラグイン開発の始め方で説明しました。

AIのエージェントからデザインを読ませたいときは、Figma MCPの設定方法も選択肢です。

エラーが返るときの原因と対処

トークンを付けずに、実際に要求を送ってみました(2026年11月5日)。

送った要求返った結果
トークンなしで GET /v1/me401 {"status":401,"err":"Missing credentials"}
トークンなしで GET /v1/files/…403 {"status":403,"err":"Invalid token"}
でたらめなトークンで GET /v1/me401 {"status":401,"err":"Invalid token"}
トークンなし・でたらめなトークンでFigma REST APIに要求を送った結果。/v1/me は401 Missing credentials、/v1/files は403 Invalid token、でたらめなトークンは401 Invalid token
2026年11月5日に送った要求と、返ってきた応答(curl の出力をそのまま画像にしたもの)

同じ「トークンが無い」状態でも、エンドポイントによって 401 と 403 に分かれました。

403 や 401 が返ったら、まずヘッダー名が X-Figma-Token になっているか、トークンを貼るときに空白が入っていないかを見ます。

トークンが正しいのに 403 になるときは、スコープが足りないか、そのファイルを開く権限がない場合が考えられます。

429 が返ったときの対処は、Retry-After の秒数だけ待ってから送り直すことです。

手元で試すときの最小の形は次のとおりです。

curl -H "X-Figma-Token: <個人アクセストークン>" \
  "https://api.figma.com/v1/files/<ファイルキー>?depth=1"

トークンを入れて実際のファイルを取る部分は、この記事では試していません。

項目名と条件は、公式の仕様とドキュメントの記載にもとづいています。

スポンサーリンク

まとめ

  • REST APIで取れるのは、ファイルの中身、画像、版の履歴、コメント、ライブラリ、変数、Webhookです。
  • デザインの書き換えはできず、Plugin APIの役目になります。
  • ファイル全体・ノード・画像はTier 1で、閲覧席とコラボ席では月20回までしか取れません。
  • スタイルの値、チームID、未公開のコンポーネントは、それぞれ別の場所から取ります。
  • 変数のAPIはEnterpriseの組織のフルメンバーだけが使えます。

エンドポイントは仕様の更新で増えたり非推奨になったりするので、作る前にREST APIの変更履歴も見ておくと安心です。

サービス

Service

デザイン制作に関心がありましたら、ぜひ詳細をご覧ください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Figmaのおすすめ書籍

Figma用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次