I haven't put this on git but could look to do that. The code is all Scala, and not very good scala at that as it was a quick and dirty solution; so you'd need to be comfortable with that. The easiest way to understand the api is to just use curl:
curl --compressed --digest -u user:password -v http://192.168.5.2/link.b
The things you need to pull are !sys.b, link.b, stats.b and probably others, depending upon what you want to see, but you will find them all in index.html, together with Javascript to process them.
If you are a Javascript kind of a guy then index.html will tell you everything you need. I'm not so kind of figured out what I needed from clues in the naming conventions used inside the data packages. Most things are hex encoded so you'll need to parse out the data which is a Javascript object format as close as I can figure. Would have been so much easier if they were json encoded but hey.
I only have two Mikrotik switches to pull data from but most things seem to be comman between them. I don't run VLANS so none of that was of interest to me and hence I didn't have examples to reverse engineer...