When sed is writing to another process or to a file, it will buffer data.
Try adding the --unbuffered options to sed.
--unbuffered
you can also use awk. since your URL appears in field 3, you can use $3, and you can remove the grep as well.
awk '!/ERROR/{sub("URL:","",$3);print $3}' file