There is a service I do like from https://tapiriik.com/ that will sync all your fitness data across a bunch of common fitness apps (it helps when all your friends want to link up for activities but nobody agrees on a single tracking platform). One of the sync options is just to directly download all the raw datafiles to dropbox which is pretty convenient.
If none of those sound good you could roll your own from the source code to tapiriik which is available here: https://github.com/cpfair/tapiriik . It does use some hacks to get around garmin not making all their APIs easy for personal development.
The FIT file format isn't fully documented (SDK has encumbrances and perhaps cost -- it's been a while since I checked).
Here are some of the tools I've used with Vivosmart HR and Fenix 3HR FIT files. They're not polished for easy usage, but they'll get a technically-skilled hacker started. The core is Kiyokazu Suto's 'fitdump' perl.