Ok, I eventually figured it out after debugging my code.
The problem wasn’t because the next_page_token key was empty on the last page of results like I had originally assumed. It was because I wasn’t updating the next_page_token variable with the new key. Foolish mistake!
Working code below:
for i in range(1, page_count): # start at page index 1 since we already have the first page
payload = { 'userId': email, 'from': RECORDING_START_DATE, 'next_page_token': next_page }
response = requests.get(url=API_ENDPOINT_RECORDING_LIST(email), headers=AUTHORIZATION_HEADER, params=payload)
recordings_data = response.json()
next_page = recordings_data['next_page_token'] # update with new token
recordings.extend(recordings_data['meetings'])
return recordings