To work on GeoGuessr maps, I created an app that would pull in data from the game using the game’s API. I had to use my browser’s console to find out what API calls the website actually makes as there is no publically accessible documentation on it.
So here’s my unofficial guide for those who wish to use the GeoGuessr API.
Notes: Most calls start with “geoguessr.com/api/” unless specified. For some of the calls, you need to be logged in, for others you don’t. The latter are indicated with italics. As I understand, there’re 2 versions of the API currently in use, 3 and 4. It is possible that in the near future a complete transition to v4 will happen and the old calls will be deprecated.
- v4/feed/private – entries from the “Activities” page of your profile, including game tokens. Variables: count, page.
- v3/profiles – info of the currently logged-in user.
- v4/notifications – notifications of the currently logged-in user. Returns an empty array if all the notifications have been read. Variables: count, page.
- v3/social/friends – friends of the currently logged-in user. Presumably, returns an empty array if the user doesn’t have friends. Variables: count, page.
- v3/social/friends/summary – same as the previous one but adds friends’ requests and recommendations.
- v3/social/friendships – shorter information on the friends of the currently logged-in user.
- v3/profiles/achievements – achievements of the currently logged-in user.
- v4/objectives – objectives of the currently logged-in user. You can also add the /unclaimed endpoint to this address.
- v3/social/maps/browse/personalized – personalised map for the currently logged-in user.
- v3/social/badges/unclaimed – unclaimed badges of the currently logged-in user.
- v3/social/events/unfinishedgames – unfinished games of the currently logged-in user, including the guesses, but not the rounds themselves.
- v3/profiles/maps – maps of the currently logged-in user (“My Maps” page).
- v3/likes – liked maps of the currently logged-in user (“Liked Maps” page). Variables: count, page.
- v4/stats/me – stats of the currently logged-in user but not what you see on your profile page.
- v3/profiles/stats – stats of the currently logged-in user which are displayed on the profile page.
- v3/subscriptions – subscriptions of the currently logged-in user.
- v3/explorer – details on the explorer mode of the currently logged-in user.
- v3/accounts/signin – signs you in, your credentials must be attached as a JSON payload in the format {email: “XXXXXX@blah.com”, password: “XXXXXX”}. You might need to properly serialise JSON with your credentials, a simple string that looked like JSON didn’t do it for me.
- v3/accounts/signout – signs you out. Be careful, no payload is required for this operation so it signs you out as soon as you reach the endpoint.
- v4/trophies/<user_ID_here> – trophies of any user. If you add “/case” at the end, it will show only the trophies you selected for your trophy case. Also works without providing your user ID, if you are logged in.
- v3/games/<game_token_here> – insert a game token to gather information about a specific game, including its type, rounds, score, etc. Any game ever played by whatever user can be accessed with this call, provided you have the token.
- v3/social/maps/browse/popular/random – a random popular map.
- v3/challenges/daily-challenges/today OR v3/challenges/daily-challenges/previous – today’s or previous daily challenges info.
- v3/challenges/<challenge_token_here> – insert a challenge token to gather information about a certain challenge.
- v4/seasons/active/stats – stats of the current season.
- v4/seasons/previous – info on the previous season.
- v4/seasons/next – info on the next season, if available.
- v3/experiments – list of GeoGuessr experiments.
- v3/competitions – list of GeoGuessr competitions.
- maps/(map name or map id) – info on maps, works with map names for official maps like “world” or “famous-places”.
- https://game-server.geoguessr.com/api/battle-royale/<game_ID_here> – allows seeing the stats of any BR game, provided you have the game ID.
- https://game-server.geoguessr.com/api/lobby/<game_ID_here> – lobby of the game, including users (even their ids and stats), type of the game, etc.
- v4/seasons/game/BattleRoyaleCountries – info valid for the current season. “BattleRoyaleCountries” can be substituted with “BattleRoyalDistance” or “BattleRoyaleDuels” to get the exact same result.
- https://game-server.geoguessr.com/api/duels/<duel_game_ID_here> – info on your duel game.
- https://game-server.geoguessr.com/api/tournaments – info on the current and past tournaments.
For some of the calls, I’m not entirely certain what the response should be as in my case they return an empty array. Additionally, I haven’t played most of the game modes yet because I mostly play country streak so my expertise might not be so deep and some of my comments might not be as extensive.
Enjoy the guide and if in the future you create anything using Geoguessr API, feel free to share your work! I’ll be sharing my app as soon as I build a decent GUI.
BONUS SOUND EFFECTS:
- New game
- Countdown
- Division upgrade
- Division downgrade
- Round 1
- Round 2
- Round 3
- Round 4
- Multiple damage
- Healing round
- Churchbell
- Game lost
- Game won
- Healing up
- Count healing
- Loadig round
- Loading duel round
- Loading duel healing round
- Score tie
- Damage up
- Damage crush
- Counting damage
- Slide in rows
- Slide in
Pingback: GeoGuessr Country Streak Stats App – efisha's maps