@nev you could, yep!
In fact you wouldn't even have to mess with tee, process substitution alone would work - something like:
result=''
verbose=1
url_next='https://whatever_apicall_to_get_page1'
until [[ ! $url_next == http* ]]; do
result=$(curl --dump-header '.headers' --url "$url_next")
if [[ $verbose == 1]]; then echo "$result"; fi
# url_next=$(grep ... '.headers.') # step to get the next link, or nothing
# step to do whatever with "$result" here
done