Something Big Is Coming to Garmin Badge Database

Something's been in the works.

If you've used Garmin Badge Database over the years, you know there's always been a list of things it should do, features that were missing, things that didn't quite work the way they should, a design that was ready for retirement. We heard it. We felt it too.

So we went away and fixed it. All of it.

The new Garmin Badge Database is nearly ready, and it's a complete rebuild — a modern design that's actually nice to look at, new features, proper accounts, a rewritten sync tool, and a lot of the things the community has been asking for. We're not ready to lift the curtain quite yet, but here's a taste of what's coming:

  • A clean, modern redesign that works great on any screen
  • Personal profiles showing every badge you've earned — including how many times
  • A full badge catalog with filtering, country flags, and detailed badge pages
  • Leaderboards — because of course
  • A Chrome extension that syncs your Garmin data in one click
  • A Python script for those who prefer the command line — same sync, no browser needed
  • Calendar feeds so you never miss a badge deadline again
  • And a lot more

Launch is coming soon. If you want to be among the first to try it, keep an eye on this page — we'll post the moment it goes live.

It's been worth the wait. 🏅

garminbadges.com

Comments

  1. Which python library does the new sync use, now that garth is dead?

    ReplyDelete
    Replies
    1. Garth-ng. It really works. I've also added multi user support.

      Delete
    2. Hello e7andy,

      I see that you said that you also added, "I've also added multi user support." 😉
      Is that why I'm seeing "myself" twice on the Garminbadges.com site. As Vincent Jones & Vincent (W🌎rldWide). If this is a mistake. I prefer, Vincent Jones. Please!

      Thank You!

      Delete
    3. That is a mistake in the old site. The new site (that hopefully will launch in a few days) will fix most issues with the old site. Nothing is saved from the old site. Everything is new. So, all user data must be added again and connected to the account you have to create. Not really a big difference since in the old site the user data is deleted on every sync before the updated data is added.

      Delete
    4. OK, Thank You! For the clarification and quick response.

      Delete
    5. garminbadges-updater.py doesn't work for me. I uninstalled garth, installed garth-ng, and it looks like it logged in (or at least tried?) First it asked for the credentials, then I got an error. Then it's stuck, I have to Ctrl+C, then it stops. Next time I run it it doesn't ask for the credentials, but the same error happens.

      ./garminbadges-updater.py

      Exception in thread Thread-77 (fetchOneBadgeFromGarmin):
      Traceback (most recent call last):
      File ".venv/lib/python3.13/site-packages/garth/http.py", line 203, in request
      self.last_resp.raise_for_status()
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File ".venv/lib/python3.13/site-packages/curl_cffi/requests/models.py", line 193, in raise_for_status
      raise HTTPError(f"HTTP Error {self.status_code}: {self.reason}", 0, self)
      curl_cffi.requests.exceptions.HTTPError: HTTP Error 404:

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
      File "./garminbadges-updater.py", line 180, in fetchOneBadgeFromGarmin
      garminBadgeResponse = garth.connectapi("/badge-service/badge/detail/v2/" + str(badgeNo))
      File ".venv/lib/python3.13/site-packages/garth/http.py", line 278, in connectapi
      resp = self.request(method, "connectapi", path, api=True, **kwargs)
      File ".venv/lib/python3.13/site-packages/garth/http.py", line 205, in request
      raise GarthHTTPError(
      ...<2 lines>...
      )
      garth.exc.GarthHTTPError: Error in request: HTTP Error 404:

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
      File "/opt/homebrew/Cellar/python@3.13/3.13.12_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/threading.py", line 1044, in _bootstrap_inner
      self.run()
      ~~~~~~~~^^
      File "/opt/homebrew/Cellar/python@3.13/3.13.12_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/threading.py", line 995, in run
      self._target(*self._args, **self._kwargs)
      ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "./garminbadges-updater.py", line 186, in fetchOneBadgeFromGarmin
      if not garminBadgeResponse:
      ^^^^^^^^^^^^^^^^^^^
      UnboundLocalError: cannot access local variable 'garminBadgeResponse' where it is not associated with a value
      ^CTraceback (most recent call last):
      File "./garminbadges-updater.py", line 288, in
      main()
      ~~~~^^
      File "./garminbadges-updater.py", line 80, in main
      garminBadgeJsonArray = fetchBadgesFromGarmin(badgesToFetch.json());
      File "./garminbadges-updater.py", line 207, in fetchBadgesFromGarmin
      while len(badgeJson) < len(threads):
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      KeyboardInterrupt

      Delete
    6. The new script is completely rewritten so I don't think garth-ng is a drop-in replacement.

      The new site very soon completed. Just some admin functions and final tests left to be done.

      Delete
  2. J imagine que vous mettrez un pas à pas pour créer un profil
    Pas hyper doué en informatique mais très fan de votre travail !

    ReplyDelete
    Replies
    1. It should hopefully be self explanatory, but we will see what issues you will run into. There will of course be issues with such a major change.

      Delete

Post a Comment

Popular posts from this blog

January 2026 - Challenges and Badges

October 2025 - Challenges and Badges

July 2025 - Challenges and Badges