Skip to content

Server User Resource

Users

Each player of Geometry Dash has their own profile which includes various different elements such as in-game stats, icons and even socials.

A typical user server response is structured with a key:value:key:value pairing and is then split with a |

User Example Response

md
1:Rifct:2:81183402:13:132:17:1921:10:17:11:12:51:105:3:23843:52:1607:46:36431:4:502:8:66:18:0:19:0:50:0:20:Rifct:21:334:22:129:23:67:24:148:25:62:26:40:28:1:43:38:48:1:53:25:54:1:30:6481:16:8927557:31::44:Rifct:45:RifctGD:59:RifctGD:60::58:Rifct:61:balls:49:0:55:336,34,15,12,9,16,5,5,2,1,51,11:56:90,95,100,1010,1424,346,210,66:57:4,3,11,101,92,25,0:29:1

Each key is tied to a component within the client and the value sets data for the specific component. A list of all known keys can be found in the table below.

KeyName/ValueTypeDescription
1userNameStringThe player's display name
2userIDIntegerThe player's User ID
3starsIntegerThe player's star count
4demonCountIntegerThe number of demons the player has completed
6rankingIntegerThe player's ranking on the global leaderboard
7accountHighlightIntegerThe player's account ID. Used for highlighting the player on the leaderboards
(only returned by getGJScores20 when viewing yourself on a leaderboard)
8creatorpointsIntegerThe number of creator points the player has
9iconIDIntegerThe ID of the player's display icon (see iconType)
10colorIntegerThe player's primary icon color
11color2IntegerThe player's secondary icon color
12shipIDIntegerDeprecated key; the player's ship ID in 1.4 and 1.5. Was 0 if a cube was selected instead of a ship
13secretCoinsIntegerThe number of secret coins the player has
14iconTypeIntegerThe icon displayed on leaderboards, comments, etc. (see the Gamemode enum)
15specialIntegerMirrors accGlow for non-getGJUserInfo20 requests. 0 = Glow Disabled, 2 = Enabled. Was the ID of the player's trail prior to 2.0
16accountIDIntegerThe player's account ID
17userCoinsIntegerThe number of user coins the player has
18*messageStateIntegerWho can send the player messages. 0 = All, 1 = Friends only, 2 = None
19*friendsStateIntegerWho can send the player friend requests. 0 = All, 1 = None
20*youTubeStringThe player's YouTube channel
21*accIconIntegerThe ID of the player's cube
22*accShipIntegerThe ID of the player's ship
23*accBallIntegerThe ID of the player's ball
24*accBirdIntegerThe ID of the player's UFO
25*accDartIntegerThe ID of the player's wave
26*accRobotIntegerThe ID of the player's robot
27accStreakIntegerThe ID of the player's trail. Is not sent, see trivia
28*accGlowBoolIf the player has glow enabled
29*isRegisteredBoolIf the player is registered
30*globalRankIntegerThe global rank of the player
31*friendStateIntegerFriendship status. Empty = Unfriended, 1 = Friended, 3 = Friend request sent to the player, 4 = Friend request received from the player
32*friendRequestIDIntegerAn ID unique to each friend request
(only returned if player sent you a friend request)
35*friendRequestMessageStringThe friend request's message, encoded in base64
(only returned if player sent you a friend request)
37*friendRequestAgeIntegerHow long ago the friend request was sent (e.g. "2 months")
(only returned if player sent you a friend request)
38*messagesIntegerThe number of new messages you have
(only returned when logged in and viewing own profile)
39*friendRequestsIntegerThe number of new friend requests you have
40*newFriendsIntegerThe number of new friends you have
41newFriendRequestBoolIf the friend request is new
(only returned by getGJFriendRequests20)
42*ageStringThe time since you submitted a levelScore
(only returned by getGJLevelScores211)
43*accSpiderIntegerThe ID of the player's spider
44*twitterStringThe player's Twitter handle
45*twitchStringThe player's Twitch channel
46diamondsIntegerThe number of diamonds the player has
48*accExplosionIntegerThe ID of the player's explosion effect
49*modIntegerThe mod level of the player. 0 = None, 1 = Normal Mod (Yellow), 2 = Elder Mod (Orange)
50*commentHistoryStateIntegerWho can view the player's comment history. 0 = All, 1 = Friends only, 2 = None
51color3IntegerThe player's glow color
52moonsIntegerThe player's moon count
53*accSwingIntegerThe ID of the player's swing
54*accJetpackIntegerThe ID of the player's jetpack
55*demonsStringBreakdown of the player's demons, in the format {easy},{medium},{hard},{insane},{extreme},{easyPlatformer},{mediumPlatformer},{hardPlatformer},{insanePlatformer},{extremePlatformer},{weekly},{gauntlet}
56*classicLevelsStringBreakdown of the player's classic mode non-demons, in the format {auto},{easy},{normal},{hard},{harder},{insane},{daily},{gauntlet}
57*platformerLevelsStringBreakdown of the player's platformer mode non-demons, in the format {auto},{easy},{normal},{hard},{harder},{insane},{the map}
58*discordStringThe player's Discord handle
59*instagramStringThe player's Instagram username
60*tiktokStringThe player's TikTok handle
61*customStringThe player's custom one-time authentication token

Keys indicated with an asterisk (*) are only returned from the getGJUserInfo20 endpoint. Conversely, keys 6, 9, 14, & 15 are only returned by user search endpoints (getGJUsers20, getGJScores20)

Trivia

  • Setting Key 29 to 0 stops most aspects of your profile from loading

  • Key 27 is impossible to recieve from the server as there is no way for the server to know what the player's streak is

  • Key 15 represented the player's streak prior to 2.0; the 2 it now returns would have corresponded to the rainbow trail