Apologies I didn’t get to this sooner where it might have been more relevant.
The JSON API was really just meant to power the graphs, hence it shows a bit different data (and the CSV logs more as “logs”, I suppose).
You can get your server ID next to the CSV link on the scores page and then query the full data set in Google BigQuery:
SELECT
EXTRACT(year from ts),
EXTRACT(month from ts),
AVG(score),
AVG(offset),
count(*)
from ntppool.ntppool.log_scores
where server_id = 57259
group by 1,2
order by 1,2;
To include data from before 2020, use
from `ntppool.ntppool.log_scores*`
(I can’t figure out how to link to a working example; I think opening the “console” from that link and then clicking “create sql query” and using the example above might work).