You are describing a client-specific API. It’s completely ok to build APIs for groups of similar clients, or for individual clients if you’ve got enough folks around. Netflix used to do this sort of thing with XBox API and Android API.
Unless you’re designing your APIs as GET /xbox360_spash_screen you’re never going to get all of your random data into one single payload.
This is where HTTP 2 comes in and makes it easy to get multiple chunks of data from the same server over the same collection. That helps out tremendously, especially when you use something like Protobuff to make them payloads small.