What data is canonical?

Data fetched from the players' team interface, which is accessible via the game's VPN.

You should be basing game decision exclusively on the game data json fetched through your team interface.

In-game data is delayed. Is public data also delayed?

Yes. In fact, public data may be further delayed (it's a low-priority transfer).

Can I get the raw data?

Yes! In fact, download the latest.json.

While that does include all game data, we're also providing some extra convenience files: current_score_info.json, score_data.json, service_info.json.

Is current_tick correct?

The json is generated right after the new tick "kicks in".

In other words, game_state_6.json will say the current tick is 7. There should be no tick 7 events yet. Apologies if it's misleading. You can verify using the timestamps and time-remaining estimates.

Scraping this website is hard. Gimme the score.

We don't think you should scrape, and this year we added more json data so that you really shouldn't need to.

The latest.json has all the data useful to compute the score, our intermediate computation results are also available for convenience, and the only missing thing is the addition/normalization (reference).

How do you make the score again?

Team score = 350 aMa + 350 dMd + 300 kMk

With Ma = max( max_attack_score_among_all_teams, 100 ) and so on.

You can get the latest maxima and per-team a,d,k (tot_attack, tot_defense, tot_koh) via current_score_info.json or re-compute all from the latest json, if you wish.

If still confused, look at last year's final scoreboard

The score computation is wrong

If you compute the score from latest.json and it doesn't match our result, we may have a problem and you're welcome to report it.

Will I get the data at game end?

Yes. In fact, you'll also get the entire database from which it's generated.