Please Note: Currently we are not accepting any TBC Proposals

Transformice Api -

| Tool | Function | API Usage | |------|----------|------------| | TfmBot (Python) | Auto-farming cheese | Sends g, R, parses C events | | Transformice Discord Bridge | Chat relay | Listens to M events, sends via Discord webhook | | MouseStats | Global leaderboard | Scrapes profiles via HTTP | | TribeManager | Auto-kick inactive members | Sends m/kick [name] |


For years, developers have used URLs like:

If you grew up in the era of browser games, you’ve likely heard of Transformice. Behind the chaotic fun of shamans building bridges and mice desperately chasing cheese, there is a robust set of APIs that power the game’s rankings, tribe data, and fashion items.

Whether you want to build a Discord bot for your tribe, create a stats leaderboard, or just explore the data, here is an overview of the official and community-driven APIs available for Transformice.


The Transformice API is a hybrid beast.

If you are a developer looking to extend the oldest surviving Flash game, the Transformice API offers a charming, albeit quirky, challenge. Start by downloading a community module editor (like Notepad++ with Lua plugin), hook into eventLoop, and watch your mice dance to your code.

Resources to Bookmark:

Happy coding, Shaman.

Mastering the Transformice API: A Comprehensive Guide for Developers

Transformice, the physics-based multiplayer platformer, has fostered a dedicated community of creators for over a decade. At the heart of this creativity lies the Transformice API, a set of tools and protocols that allow developers to build everything from Discord bots and stat trackers to custom game modules.

Whether you are a seasoned coder or a curious player looking to automate your tribe’s ranking system, understanding how to interact with the game’s data is the first step toward building something impactful. What is the Transformice API?

The "API" for Transformice isn't a single RESTful endpoint like you might find with Twitter or Spotify. Instead, it is a collection of community-driven libraries and official socket-based protocols that allow external programs to communicate with the game servers. Key Capabilities

Real-time Interaction: Read chat logs, track player movements, and monitor room events.

Player Statistics: Fetch cheese gathered, firsts, shaman saves, and boot camp completions.

Module Development: Create custom mini-games within the Transformice ecosystem using Lua. transformice api

Tribe Management: Automate greetings, track member activity, and manage ranks via external bots. The Core Building Blocks

To work with the Transformice API, you generally need to choose between two paths: Lua Modules (internal) or Socket Clients (external). 1. Lua API (In-Game Modules)

If you want to create a game mode (like Racing, Survivor, or Defilante), you use the built-in Lua engine. Environment: Runs directly on the game server.

Access: Requires "Module Team" approval for official listing, but anyone can run scripts in private rooms.

Limitations: Restricted file I/O and limited networking to prevent security risks. 2. TFM-Lib and Python/Node.js Wrappers

For external applications (like Discord bots), developers use libraries that "mimic" a game client. TFM.js (Node.js): A popular choice for web developers.

Aioptfm (Python): An asynchronous library perfect for high-performance bots.

Functionality: These libraries handle the complex handshake and packet encryption required to talk to the Atelier 801 servers. How to Get Started

If you’re ready to dive in, follow these fundamental steps to set up your first project. Step 1: Secure Your API Credentials

To prevent abuse, Atelier 801 requires an API Key for certain types of data requests, especially when using the official "Crouton" service or community-run databases like MicePix. Step 2: Choose Your Language

For Data Analysis: Use Python. It’s excellent for scraping leaderboards and generating graphs of player growth.

For Live Bots: Use JavaScript/Node.js. The event-driven nature of JS makes it ideal for responding to in-game chat instantly. Step 3: Understand the Packet System

Transformice communicates using identifiers (low-level codes). For example, a specific code tells the server "I jumped," while another says "I typed in chat." Learning to parse these packets is what separates a novice from an expert API developer. Popular Community Projects Using the API

The best way to see the API in action is to look at existing tools: | Tool | Function | API Usage |

Cheese.formice.at: The definitive source for global rankings and player history.

TFMBot: A versatile Discord bot that bridges the gap between your tribe's chat and your Discord server.

MiceForce & Private Servers: While technically separate, these projects often reverse-engineer the API to create entirely new experiences. Best Practices and Ethics

When using the Transformice API, it is crucial to follow the Atelier 801 Terms of Service:

Don't Spam: Ensure your bot doesn't flood the game servers with unnecessary packets.

Data Privacy: Never use the API to harvest private player information or passwords.

Stay Updated: Transformice frequently updates its encryption. Join developer forums like the Transformice Discord (TFM-Dev) to stay informed about breaking changes. Conclusion

The Transformice API is a gateway to enhancing the game experience for thousands of players. Whether you're building a competitive leaderboard or a fun social bot, the tools are at your fingertips. Start small—perhaps a bot that announces when a friend logs in—and gradually work your way up to complex game modules.

If you’re interested in building a specific tool, let me know! I can help you with:

Python or JavaScript code snippets for connecting to the server. Explaining specific Lua functions for in-game maps.

Finding the latest community libraries that are currently maintained.

To "provide a proper post" for the Transformice API depends on whether you are interacting with the Module API (in-game Lua) or the Web/Stats API (external data). 1. In-Game Module API (Lua)

If you are writing a script for a minigame, a "proper post" usually refers to an event trigger or a command that outputs information to the chat.

Triggering an Event: Use the tfm.exec functions for standard actions or define an event handler. For example, to post a message in the chat when a player joins: For years, developers have used URLs like: If

function eventNewPlayer(playerName) tfm.exec.chatMessage("Welcome to the room, " .. playerName .. "!", playerName) end Use code with caution. Copied to clipboard Resources:

Find the full list of functions on the Lua Transformice Wiki.

For official discussions or reporting bugs, use the Module Suggestions Thread on Atelier 801. 2. External Stats API (Web/Data)

If you want to pull data like Cheeseformice does for leaderboards, you are looking for the Stats API.

Access: This API is not fully public. You must typically request access through the Atelier 801 forums by providing details about your project.

Authentication: If approved, you will likely receive an API key to access a MySQL database containing player statistics. 3. Community Tools For developers looking for pre-built wrappers or libraries:

Transfromage API: An open-source GitHub repository that provides a documented API for making bots.

pshy_merge: A tool to compile multiple Lua files into a single script for easy deployment in-game, found on GitHub. Lua | Transformice Wiki | Fandom

Melanie (Atelier 801’s lead developer) has historically been private about API roadmaps. However, recent trends in the community suggest three developments:


Transformice has been a staple of the Flash-to-HTML5 gaming world since 2010. At its core, it’s a simple physics-based platformer where mice race to collect cheese and bring it back to the hole. However, beneath the surface lies a sophisticated, community-driven ecosystem powered by Lua scripting and, crucially, for developers, the Transformice API.

If you are a streamer looking to let your chat control the game, a guild leader wanting to run statistics, or a developer building an external tool, understanding the Transformice API is your first step.

This article will dissect everything you need to know: the official client API, the unofficial REST endpoints, the Atelier 801 authentication system, and how to use Lua scripting for external data fetching.


Used to get a player’s ID and rank. GET https://transformice.com/en/api/profile/username/[NAME]

Response (JSON):


  "success": true,
  "player_id": 1234567,
  "nickname": "CheeseMaster",
  "registration_date": "2012-05-14",
  "is_vip": false

The developers at Atelier 801 provide a public API for accessing game data. This is the most reliable way to fetch information, though it requires authentication.

Base URL: https://api.transformice.com/