With the JSON stuff working now there's an introduction of a Results struct for most of the structs to help deserialize and they're all exported; is there value to the consumer to have those exported? If not, I would make them private, or if they're only used in one location, I might even make an anonymous struct there to handle that deserialization.
Also removes most manual marshalling and unmarshalling