{"id":15879980,"url":"https://github.com/gridaco/figma-archives","last_synced_at":"2025-10-06T10:32:21.470Z","repository":{"id":170987522,"uuid":"619876663","full_name":"gridaco/figma-archives","owner":"gridaco","description":"Figma Files Scraper for Research \u0026 Studies","archived":false,"fork":false,"pushed_at":"2023-08-13T18:00:20.000Z","size":107636,"stargazers_count":13,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-23T01:14:26.379Z","etag":null,"topics":["crawler","dataset","design-database","figma","machine-learning","scrapy","selenium"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gridaco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-27T15:33:12.000Z","updated_at":"2024-04-11T11:59:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"d82ee1c3-8c8e-49ce-a3dd-60f45992fb3a","html_url":"https://github.com/gridaco/figma-archives","commit_stats":{"total_commits":577,"total_committers":3,"mean_commits":"192.33333333333334","dds":"0.43500866551126516","last_synced_commit":"a6ce50e1f20c5e6f7e42008d88636cb8802502d4"},"previous_names":["gridaco/figma-archives"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Ffigma-archives","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Ffigma-archives/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Ffigma-archives/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Ffigma-archives/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gridaco","download_url":"https://codeload.github.com/gridaco/figma-archives/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235228782,"owners_count":18956305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crawler","dataset","design-database","figma","machine-learning","scrapy","selenium"],"created_at":"2024-10-06T03:06:58.308Z","updated_at":"2025-10-06T10:32:11.460Z","avatar_url":"https://github.com/gridaco.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Public Figma Community Files Archive\n\nFigma Files Scraper for Research \u0026amp; Studies\n\n\u003e As of Apr 2023, This Archive contains 100GB (Minified, raw - 550GB) of Figma Files, and 3TB of Top-level Images corresponding to Fimga layers and used image fills (3mb optmized), and 30TB of all images (including layers) in the files.\n\n## Demo\n\n![figma-scraper demo](./docs/demo.gif)\n\n_Demo of step 2 ~ 4 running concurrently_\n\n## Access - Access the official Archive\n\nWith NodeJS Client - [`@figma-api/community`](https://npmjs.com/package/@figma-api/community)\n\n```ts\nimport { Client } from \"@figma-api/community\";\n\nconst client = Client();\n\n// a file id is a id from figma.com/community/file/:id\n// e.g. - https://www.figma.com/community/file/1035203688168086460\nconst fileid = \"1035203688168086460\";\n\n// fetch file\nconst { data: document } = await client.file(fileid);\n```\n\n## Usage - Run this archiver\n\nThis scraper is a combination of\n\n1. Selenium scraper to crawl the Figma community files (Takes about 5 hours) - **You can skip this step and use our [latest data](./data/latest)**\n2. Selenium automator to copy (duplicate) the file to your account (Takes about 3 days)\n3. Figma File Archiver to download the File content as JSON (Takes about 5 hours)\n4. And optionally, Figma Image Archiver to download the in-design images and layer exported as PNGs to your local machine (Takes about 6 days for top-frame layers, and about 1 month for all layers)\n\n```bash\npip3 install -r requirements.txt\n\n# step 1. (Skip and use pre-crawled data if you want as mentioned above)\ncd figma_archiver\nscrapy crawl figma_spider --nolog -a target=popular\n# this will output a output.popular.json file\n\n\n# step 2. You'll need a new figma account since it copies about 30,00+ files to your drafts\n# setup .env following the README at figma_copy\ncd figma_copy\npython3 main.py --file='../data/latest/index.json' --batch-size=10000\n# this will output a community : your-file mapping under prgress/your-email@example.com.copies.json\n\n# step 3. you can run this script with figma_copy in parallel\ncd figma_archiver\n\n# fetch files\npython3 files.py -f ../figma_copy/progress/your-email@example.com.copies.json\n\n# fetch images (this use the output directory from above step)\npython3 images.py --src='./downloads/*.json'\n```\n\nThis is a brief example of how-to-use, for full-setup, please read the README on each automators. and the script argument may differ by your configurations, and as you use extarnal drive.\n\n**Requirements**\n\n- About 1TB of free space on your local machine. (Minimal, for full scraping, without images)\n- About 100TB of free space on your external drive. (If you are collecting images as well. Full setup)\n\n**Todo**\n\n- Docker image for easy deployment and running on the cloud\n- Official CDN Server will latest data\n\n## Disclaimer\n\nThis repository contains a Figma community crawler that collects and processes data from Figma community files. Some of the files used in this project are licensed under the Creative Commons Attribution 4.0 International License (CC-By 4.0). In accordance with this license, the following attribution is provided:\n\n\u003e This work includes material that is derived from or based on Title of the original work by [Author's Name], which is licensed under the [\"Creative Commons Attribution 4.0 International License.\"](https://creativecommons.org/licenses/by/4.0/)\n\nIf you use or redistribute the data generated by this crawler, you must also adhere to the terms of the CC-By 4.0 license by providing appropriate credit to the original authors, linking to the license, and indicating if any changes were made.\n\nPlease note that this repository is provided \"as-is\" without warranty of any kind, express or implied. The creators of this repository are not responsible for any errors or omissions, or for the results obtained from the use of the data. Users are solely responsible for complying with the CC-By 4.0 license and any other applicable laws and regulations.\n\nRemember to replace the placeholders ([Title of the original work], [URL_to_original_work], and [Author's Name]) with the relevant information for each work you include in your dataset.\n\nLearn more about the Figma community license [here](https://www.figma.com/community/license).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgridaco%2Ffigma-archives","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgridaco%2Ffigma-archives","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgridaco%2Ffigma-archives/lists"}