Also looking at the data returned is it valid at the top level to have recordingId : Offset: lowlevel should it not be more recordingId: recordingId, offset :Offset: lowlevel: lowleveldata
i.e what I mean is that shouldn’t recordingId and offset have a label to identify that the value is a recording id or an offset ?
Thanks for bringing this to our attention! I guess we shouldn’t duplicate this documentation - I think we can change the page on https://acousticbrainz.org/data to describe the data and link to the API reference on readthedocs.
Regarding the dictionary format, the idea of putting query parameters (mbid, offset) as the dictionary key means that you can access the data that you want without having to iterate through results and comparing them,
e.g. in python with
you can do result[mbid][offset] to directly get the result that you want. If it was a list of dictionaries with keys mbid, offset, data then you would always have to iterate through the list checking each element to find a specific mbid/offset.
Note that in the case of the example query you gave offset is implicitly 0, as explained in the docs.