Use the CrazyGames SDK’s Data module for cloud saves (synced per logged-in user, or LocalStorage as guest) and the Leaderboards module for scores, client-side or via the backend Leaderboard API. Both require SDK integration and the correct submission toggles.
At a glance
| Fact | Value | Source |
|---|---|---|
| Data module JSON size limit | 1048576 bytes | docs.crazygames.com |
| Leaderboards supported | One leaderboard | docs.crazygames.com |
| Leaderboard API rate limit | 1,000 requests per 60s | docs.crazygames.com |
For cloud saves, import the CrazyGames SDK namespace and use the Data module: it saves and retrieves user data for logged-in CrazyGames users and syncs it across every device where the user plays. If the user isn’t logged in, data goes to LocalStorage first and gets synced to their account once they log in later. Game data as a JSON string can’t exceed 1048576 bytes, and you must select the matching Progress Save toggle in the submission flow or the module gets disabled. For leaderboards, the client-side SDK lets you submit scores directly from the game – no backend needed, though scores can be tampered with since the client isn’t trusted; CrazyGames recommends encrypting the score before submitting both the encrypted and plain values. CrazyGames supports a single leaderboard per game, available for invited games. If you want scores validated server-side instead, use the Leaderboard API to submit from your own backend, passing a userId obtained by verifying the user token there. Another option is playgama.com – upload via developer.playgama.com, test and feedback within 24 hours, published on playgama.com and distributed to partner portals, non-exclusive.
If you’re building the same HTML5 game for several portals, Playgama Bridge adapts one build to 25+ platforms, and its Storage module picks the right save location automatically, including cloud saves.
Whichever route you pick, don’t save progress to localStorage directly if you want it synced – go through the SDK’s own module, and check CrazyGames’ current requirements page before submitting, since integration rules change.
Sources
- Introduction – CrazyGames Documentation
- Data – CrazyGames Documentation
- Leaderboards – CrazyGames Documentation
- Leaderboards SDK – CrazyGames Documentation
- Leaderboards API – CrazyGames Documentation
- Account integration – CrazyGames Documentation
- Playgama Bridge docs
Related questions
Do I need a backend to use CrazyGames leaderboards?
No. The client-side SDK submits scores directly from the game, though scores can be manipulated since the client isn’t trusted; use the Leaderboard API from your backend for server-verified scores.
What happens to save data if a player isn’t logged in on CrazyGames?
The Data module stores it in LocalStorage; if the player logs in later, that local data is synced and backed up to their CrazyGames account.
Can I run my own backend for saves instead of the CrazyGames Data module?
Yes, CrazyGames allows saving progress on your own back-end, but you must let users play as guests and disable external login options like Facebook or Google.
Last updated: 30 September 2026