We Cracked The “Impossible” Canvas New Quizzes Export

We Cracked The "Impossible" Canvas New Quizzes Export Ricoshae.com.au

The Day A Client Had 30 Days To Save Years Of Canvas Data

I got the phone call on a Tuesday.

“We’ve got until the end of the month.”

That was it. Just straight into the deadline. That’s how you know it’s serious.

The client had just found out their Canvas LMS instance was being switched off. Not next year. Not next semester. End of the month. And sitting inside that Canvas instance was years of student work — assignments, quiz attempts, discussion threads, grades, the lot. Once it was gone, it was gone.

Now, is that a problem?

Of course it is. Try explaining to a student that their assignment submissions, the ones that prove they actually did the work, have simply vanished into the ether because nobody backed them up in time. Try explaining that to a graduate who needs proof of a qualification five years down the track. It’s not just data. It’s evidence of somebody’s education.

What have you actually got in there?

Here’s the thing about Canvas, and honestly about most LMS platforms, they were never built with “please let me take all my stuff with me” in mind. They were built to run a semester, not to hand you a filing cabinet on your way out the door.

So when this client came to us, what they actually needed was simple to say and brutal to do:

Every course. Every student. Every submission. Every quiz answer. Organised in a way that a human being could actually open two years from now and make sense of.

That last bit is the trap most people fall into. You can grab data. Grabbing data isn’t hard. But grabbing thousands of files and dumping them into one folder called “export_final_FINAL” helps nobody. What they needed was structure. Term by term. Course by course. Student by student.

We’d already been quietly building exactly this. A tool to pull down a complete personal archive of Canvas data and lay it out properly, the way you’d actually want to find it again.

The part that keeps administrators up at night

Assignments are one thing. Files are one thing. But the part of this job that really makes people sweat is quizzes.

Quiz data in Canvas is messy by nature. You’ve got attempts, answers, scores, and if you’re using the older Classic Quizzes engine, a full question-by-question breakdown of exactly what the student answered and why they got the mark they got. That detail matters. That’s the difference between a grade sitting in a spreadsheet with no context, and a genuine record of what a student actually knew.

So the tool does the unglamorous, unloved work of pulling every quiz attempt, every answer, every score, and locking it down as structured, searchable data. Not a screenshot. Not a PDF someone forgot to update. Actual data you can query, alongside the original documents students submitted.

Here’s where the story nearly stopped dead.

A good chunk of this client’s courses weren’t running Classic Quizzes at all. They were on New Quizzes, Canvas’s newer engine. And if you’ve spent any time in Canvas developer forums, you’ll know New Quizzes has a reputation. The API is locked down tight. Question-by-question detail, the kind you need to actually understand what a student answered and why they got the mark they got, simply isn’t handed over the front door. Ask around and plenty of people will tell you, flatly, that it can’t be done. We’d said as much ourselves, in writing, more than once.

And it got worse. Buried inside those New Quizzes weren’t just multiple choice answers. Students had submitted actual documents through them, essays, worked solutions, files that existed nowhere else in the course. If we couldn’t get to that data, it wasn’t just a formatting inconvenience. It was a hole in the archive. Real student work, gone, with no back door and a deadline that didn’t care.

So we went looking for the back door anyway.

It took digging through undocumented endpoints, chasing down how New Quizzes actually stores its data behind the scenes rather than what the official API politely offers you, and a fair bit of trial, error, and language that isn’t fit for print. But we got there. We built a way to pull full New Quizzes data, question by question, answer by answer, and, critically, the student documents submitted inside them, out and into the same clean, structured archive as everything else.

Nobody was more surprised than us, honestly. We’d told this client, and ourselves, that this particular wall couldn’t be climbed. Turns out it could. It just needed someone stubborn enough to keep looking.

So what did we actually pull down for them?

Everything that mattered, organised the way a person would actually look for it:

  • Every assignment and every submission, with attachments, rubric feedback and grades intact
  • Every quiz attempt and answer, in full, for both Classic Quizzes and New Quizzes, including the student documents submitted inside New Quizzes
  • Full discussion threads, replies and authors preserved, not flattened into one wall of text
  • The complete announcement history for every course
  • Every file an instructor had shared, kept in its original folder structure
  • The modules exactly as instructors had arranged them
  • Grade records across every exported course

All of it saved as structured data, sitting right alongside the original documents. Readable by a human. Searchable by a computer. The best of both worlds, which is rarer than it should be.

The clock was the real enemy

Here’s what nobody tells you about a deadline like this. It’s not one course. It’s not one student. It’s dozens of courses and hundreds of students, and every single one of them needs their own clean little archive.

Doing that by hand is like trying to empty a swimming pool with a teaspoon. Technically possible. Not something you want to be doing at 11pm three days before the cutoff.

So the tool batch processes. Point it at a list of courses, let it run, and it tracks its own progress. And because Canvas, servers, and the internet in general like to have the occasional tantrum, if something drops out halfway through, it doesn’t start again from zero. It picks up where it left off. When you’re racing a hard deadline, that one feature alone is worth more than people realise, until the moment their connection drops at 2am and they realise exactly why it matters.

For the administrators on the client’s side, we also built a companion reporting tool that generates a per-student dashboard, grades, submissions, quiz performance, participation, all in one place. Handy for record keeping. Even handier when someone asks “can you show me exactly what this student did in this course” eighteen months after the course has closed.

Did it work?

Every course. Every student. Every quiz, Classic and New. Every submission, including the documents students had tucked away inside their New Quizzes attempts that nobody thought we’d ever get to. Archived, organised, and handed back to the client before their deadline, with time to spare.

More importantly, it’s retrievable. Not “we think it’s in there somewhere.” Retrievable, course by course, student by student, the way they asked for it in the first place.

I won’t pretend I saw that New Quizzes breakthrough coming when we picked up the phone that Tuesday. Half the fun of solving a problem is not knowing yet if it’s actually solvable.

What I’d tell you if you’re staring down the same deadline

If your institution is migrating platforms, shutting down an old system, or you’re simply the kind of person who doesn’t trust “it’ll be fine” as a data strategy, don’t wait until the countdown starts.

This is the tool we built for that client, and it now handles the New Quizzes data extraction, student documents included, that we once told people flat out wasn’t possible. We offer it as a service to students, teachers and administrators who need a complete personal archive of their own Canvas data, organised by term and course, ready to browse whenever they need it. Graduating, changing institutions, or just sleeping better at night knowing your work is actually yours, it’s built for exactly that.

Data doesn’t wait for you to be ready. Neither does a deadline. Best to be the person who already has the archive, not the one explaining why they don’t.