I truncated the results for simplicity to show there’s no total_results or pages in my response. I know there are 3 pages of data (~1300 results) because I’ve run API request through postman.
To answer your first question, the only way I know there’s more to request is if there are 500 results returned on a page (max defined by the API), then I’d try to pull the next page. Rinse and repeat until the results returned is not 500. I realize there’s a potential for a campaign to have a number of results divisible by 500 and will make a call that will result in 0 responses.