The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
I need to obtain the same csv/information you get when you export a gradebook, but via API/without going through the GUI. This includes final grades, all assignment grades, assignment names and ids, max scores, , and the grade for each assignment group for each student.
Here are my two attempts that have gotten me closest to my goal.
1. I've been able to obtain all final grades via the enrollment API, and all assignment details/grades via the submissions API, and then synthesize these together into a gradebook-esque csv. However, this doesn't give me assignment group grades , which are included in csv when you export the gradebook. Ideally, I would want all 3. Or if that's impossible, inform me how to get each student's assignment group grade (posted and unposted).
2. Some people have given hints that if you make a post call to https://canvas.instructure.com/courses/{courseid}/gradebook_csv, that you could theoretically start the download this way and then obtain the csv when its done downloading. However, whenever I do this, the only thing returned is "session timeout." I presume there is some authentication I'm missing (as I'm only providing my authentication token like it was an API endpoint), but I have no clue what it is.
If anyone could help me complete the missing step on these last two attempts, or provide me a completely alternative working process, I would be grateful
Are you able to share more of the code for the request(s) you are making with trying to download the Gradebook CSV?
When watching the Network traffic for exporting a gradebook it looks like it follows these steps:
I tried out this along with the required attributes in the body and added a bearer token in authorization. But I still cant generate a CSV. I think I am missing some essential headers. If someone made it work, would it possible to share a sample curl?
this endpoint is not accessible unless the request comes from a browser-authenticated session (using Canvas cookies and CSRF token).
I was trying to access the same endpoint but unfortunately it is not accessible.
Did someone find any way to automate the gradebook export?
Thanks
I'm trying to do the same thing. We would like to put this data into a data warehouse for analysis, but the only thing that seems to be accessible is the "Gradebook Change Log" which requires a lot of stitching together of different data points. (Assignments, Assignment Groups, Courses, Users). Seems like a gradebook export would be a logical endpoint, but I don't see anything of the sort.
Thanks for posing the question.
The Submissions endpoint seems to give everything, except information about Assignments (name and points_possible) which you can get from that endpoint. I wrote the R function canvas_gradebook() for this as part of library(examiner). See the installation and getting started sections for configuration.
If you're using a different language, you can probably figure it out by looking at the source code.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in