#development #golang #sports #tools

I'm a big fan of Komoot, but I was missing a way to batch export my planned routes. I have about 350 routes on there, so downloading them manually wasn't an option.

After some fiddling around and reverse-engineering their API, I came up with a tool to do this. You can find it on GitHub:

https://github.com/pieterclaerhout/export-komoot

Usage is prettry straightforward:

 1Usage of ./export-komoot:
 2  -concurrency int
 3        The number of simultaneous downloads (default 16)
 4  -email string
 5        Your Komoot email address
 6  -filter string
 7        Filter on the given name
 8  -format string
 9        The format to export as: gpx or fit (default "gpx")
10  -no-incremental
11        If specified, all data is redownloaded
12  -password string
13        Your Komoot password
14  -to string
15        The path to export to

It does a full download, knows how to do an incremental download and allows you to specify if you want to export .gpx or .fit files. Since it's written in Go, I couldn't resist in adding concurrency for the downloads to make it really fast.

On my machine, it does a full download of all my 347 routes in about 8.5 seconds. That's about 40 routes per second…