Only way to know is to do a DNA test. How anyone can tell from a picture of pup that small/young is beyond me. Does it matter if it is or not? If it does matter, don't get it. If it doesn't, then just do a test when you get it.
He's certainly a cute little guy either way! But to tell for sure you have to do a DNA test. Sometimes you can tell a lot more as they develop, and then guess. But a good (embark) DNA test would let you know for sure what breeds he's got in him, and more importantly, what genetic propensity for certain ailments later in life he may have. Good Luck with him, and Congratulations!
I think the term you want is purebred. Because if a dog weren't full blooded, the dog would be anemic. Why do you question the pups pedigree? Just looking at pups is hard to tell unless it is obviously "something else". Why are you interested in this pup? If you are really taken with him and he's from a shelter (vs questionable breeder) is breed a concern?
At any rate, he is a cute guy, looks charming and engaged. Do you have any concerns beyond his lineage?
How old is the pup? They should not go to their new homes before 8 weeks, as the are still learning important things from their mother and siblings.
One thing I notice is his ears look a bit long for a GSD. They may have trouble standing. An experience breeder of GSDs once told me that when evaluating the ears, she would line the tip of the ear up with the corner of the dog's eye. If it came just to the corner of the eye, or was shorter, it would likely stand okay. Past the corner of the eye, it might not stand.
Probably a mix. If you want a purebred dog, you need to see the parents and pedigree. If you post a pedigree we can explain it to you. If you really want this dog, then does it matter if it’s a mix? It might not look anything like a German Shepherd when it is older.