@robbwinkle agreed on the idea of using GQL’s bulk operation to just pull larger recordsets all in one shot. If that’s not a viable solution due to an inherent requirement of solely utilizing the REST API, then larger recordsets require handling the cursor-based paginated results. And regardless of the API model, iterating the results to sort, slice, and dice however is needed.
For my own projects I find it better to receive too many records as opposed to too few. And iterating a result set to keep, to discard, and re-sort to my final set is just part of the process.