Convert query request for 10k Product ids in batch of 1k ids. possible?

My graphql queries response are very big. A user can query for 10k or even 100k Product details by passing list of ids as input.

I am thinking to create a service between client and apollo server that will convert query of 10k ids in 10 batch of 1k ids. This way the graphql sever need not to process 10k in one go but in batch of 1k ids. This also gives me advantage to process 10k or 50k or even 100k without worrying about scaling my graphql server. As in my case time is not a constrain.

I am not sure if apollo graphql or any other package has this feature to split a graphql query in N batches, based on Input length and stich back the response from each batch so that the final response looks exactly the way if it was requested as single query.