Skip to content

getGJLevels21.php

This endpoint is used to search levels by name and or filter

Parameters

ParameterDescriptionRequired
secretCommon Secret: Wmfd2893gb7Yes
gameVersionA number representing the game's version. The current value is 22 for 2.2
binaryVersionA number representing the game's small version. The current value is 47 for 2.2081 on PC and 48 for 2.2082 on mobile
accountIDThe player's account ID (not to be confused with user ID). Used for authorization
gjp2The player's account password, encoded with GJP2. Used for authorization
typeSearch type, see values. Defaults to most liked
strSearch query, user ID or level list depending on typeOnly on types 5 and 10
diffComma-separated list of difficulty values, see values
lenLevel length, see values
pageWhich page to request, defaults to 0
totalProbably the cached total number of levels, default is 0
uncompletedUncompleted filter, either 0 or 1
onlyCompletedCompleted filter, either 0 or 1
featuredFeatured filter, either 0 or 1
originalOriginal filter, either 0 or 1
twoPlayerTwo Player Mode filter, either 0 or 1
coinsCoins filter, either 0 or 1
epicEpic filter, either 1 or not sent
legendaryMythic filter, either 1 or not sent (swapped with legendary)
mythicLegendary filter, either 1 or not sent (swapped with mythic)
localWhether to fetch "My Online Levels", either 1 or not sent
songOfficial (or custom) song ID, not sent when off (Stereo Madness = 1)
customSongWhether the song is a Newgrounds song. Either 1 or not sent
starRated filter, either 1 or not sent
noStarUnrated filter, either 1 or not sent
demonFilterSelects which demon difficulty to search, see values. If not sent will search all demon types
followedComma separated list of the followed account IDsOnly on type 12
completedLevelsComma separated list of completed level IDs surrounded by ()Only when using (un)completed filters
type
TypeDescription
0Search query (used when opening the original level)
1Most downloaded
2Most liked
3Trending
4Recent
5User's levels, uses str as the user ID
6Featured
7Magic
8Moderator sent levels
10List of levels (not to be confused with type 25, which is for in-game lists), uses str as a comma separated list of level IDs
11Awarded
12Followed (see followed parameter)
13Friends (login required)
15Most liked in GD World
16Hall of fame
17Featured in GD World
18Unknown (always empty, perhaps robtop only?)
19Unknown (same as type 10 but this type has pagination and no star rate filter)
21Daily history
22Weekly history
23Event history
24Reported levels (Elder Moderator only)
25Level list, uses str as the list ID
26Local level list (same as type 19 but can return up to 100 levels)
27Sent
28GD Lite weekly levels
29GD Lite bonus levels (platformer)
diff
diffDescription
-None
-1N/A
-2Demons (see demonFilter for specifying demon difficulty)
1Easy
2Normal
3Hard
4Harder
5Insane
demonFilter
demonFilterDescription
1Easy demon
2Medium demon
3Hard demon
4Insane demon
5Extreme demon
len
lenValue
-Any
0Tiny
1Short
2Medium
3Long
4XL
5Platformer

Response

A successful level search will return the data in the format

levels#creators#songs#page info#hash

where:

  • levels is a list of Level Objects separated by |
  • creators is a list of creators separated by |, each in the format userID:username:accountID
  • songs is a list of Song Objects separated by :
  • page info is in the format total:offset:amount where:
    • total - total number of levels for the query
    • offset - offset from which the current page starts
    • amount - number of levels per page (always 10 for the gd servers)
  • hash is a hash of every level, see Hashes

If the request is not successful, it will return -1

Python

py
import requests

headers = {
    "User-Agent": ""
}

data = {
    "str": "bloodbath",
    "star": 1,
    "type": 0,
    "secret": "Wmfd2893gb7",
}

url = "https://www.boomlings.com/database/getGJLevels21.php"

req = requests.post(url=url, data=data, headers=headers)
print(req.text)

curl

plain
curl https://www.boomlings.com/database/getGJLevels21.php -A "" -d "str=bloodbath&star=1&type=0&secret=Wmfd2893gb7"

Output

plain
1:10565740:2:Bloodbath:5:3:6:503085:8:10:9:50:10:44138442:12:0:13:21:14:2375318:17:1:43:6:25::18:10:19:10330:42:0:45:24746:3:V2hvc2UgYmxvb2Qgd2lsbCBiZSBzcGlsdCBpbiB0aGUgQmxvb2RiYXRoPyBXaG8gd2lsbCB0aGUgdmljdG9ycyBiZT8gSG93IG1hbnkgd2lsbCBzdXJ2aXZlPyBHb29kIGx1Y2suLi4=:15:3:30:7679228:31:0:37:0:38:0:39:0:46:1:47:2:35:467339|1:21761387:2:Bloodbath Z:5:1:6:3277407:8:10:9:20:10:4556435:12:0:13:20:14:200369:17:1:43:4:25::18:10:19:17840:42:0:45:0:3:UmVtYWtlIG9mIEJCLCBidXQgU2hvcnRlciBhbmQgbXVjaCBlYXNpZXIgWEQgTW9yZSBvZiBhIGdhbWVwbGF5IGxldmVsISAgSnVzdCBhIGZ1biBlYXN5IGRlbW9uLiBWZXJpZmllZCBCeSBYaW9kYXplciEgRW5qb3kgOkQ=:15:3:30:0:31:0:37:3:38:1:39:10:46:1:47:2:35:223469|1:64968478:2:Bloodbath but no:5:1:6:19747356:8:10:9:50:10:652130:12:0:13:21:14:51559:17::43:6:25::18:8:19:24992:42:0:45:23233:3:Qmxvb2RiYXRoLCBJdCdzIG5vdCBldmVuIHRoaXM=:15:3:30:0:31:0:37:0:38:1:39:8:46:1:47:2:35:706340|1:75795864:2:Bloodbath:5:2:6:12348083:8:10:9:40:10:88763:12:0:13:21:14:4326:17::43:5:25::18:7:19:25025:42:0:45:55947:3:VGhhbmtzIHRvIGV2ZXJ5b25lIGluIG15IGRpc2NvcmQgc2VydmVyIHRoYXQgY29udHJpYnV0ZWQ=:15:3:30:0:31:0:37:0:38:1:39:6:46:1:47:2:35:513064#503085:Riot:37415|3277407:Zyzyx:88354|12348083:KNOEPPEL:3009121|19747356:Texic:6152129#1~|~223469~|~2~|~ParagonX9 - HyperioxX~|~3~|~31~|~4~|~ParagonX9~|~5~|~3.77~|~6~|~~|~10~|~http%3A%2F%2Faudio.ngfiles.com%2F223000%2F223469_ParagonX9___HyperioxX.mp3~|~7~|~~|~8~|~1~:~1~|~467339~|~2~|~At the Speed of Light~|~3~|~52~|~4~|~Dimrain47~|~5~|~9.56~|~6~|~~|~10~|~http%3A%2F%2Fgeometrydashcontent.com%2Fsongs%2F467339.mp3~|~7~|~~|~8~|~1~:~1~|~513064~|~2~|~EnV - Uprise~|~3~|~149~|~4~|~Envy~|~5~|~8.71~|~6~|~~|~10~|~http%3A%2F%2Faudio.ngfiles.com%2F513000%2F513064_EnV---Uprise.mp3~|~7~|~UCaRqE7rKwJl1BvMRU4FFVJQ~|~8~|~1~:~1~|~706340~|~2~|~-At the Speed of Light- (8 bit Remix)~|~3~|~46724~|~4~|~ThaPredator~|~5~|~4.78~|~6~|~~|~10~|~http%3A%2F%2Faudio.ngfiles.com%2F706000%2F706340_-At-the-Speed-of-Light--8-.mp3~|~7~|~~|~8~|~1#4:0:10#1664b8bb919b0822a4408752c37a9fb5f651f813