This is very standard with web scraping implementations. Honestly, if you are reversing someone's protocol or scraping their web site, you are stupid if you put the implementation on the client because it will break all the time. Instead you put it on a server where you can fix breaks instantly. The server usually delays/shows stale data while things are broken as well, then does what it can to replay once fixed.