@kj460 ,
In addition to what @bneporadny wrote, you may be able to use the List submissions for multiple assignments endpoint of the Submissions API. You'll need to know the corresponding assignment ID for the quiz to do this. It's what the gradebook uses to download grades and is the API version of what he's getting through the student submissions report.
What I do is get the Quiz Submissions like he mentioned, then iterate through them. I was doing an analysis where I needed the grade for all of the students and for of the attempts, not just the last one. If submission.attempt > 1, then the student has multiple attempts. You can fetch the quiz submission for each attempt by adding an id and attempt to the quiz submissions call.
Out of curiosity, which call are you using to see which students got certain questions correct? I haven't been able to find a reliable way to extract student answers from Canvas, either through the API or through Canvas Data. The closest I've been able to come is with the Quiz Audit Log, so if you've found a way, I would love to know it.