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.
I don't think your first take-away was what I was saying. Canvas has said that if you're making one call at a time, you won't hit the limit and it will basically stay at 700 (it refills faster than you can use it in a single threaded environment). That does not mean that you have to make calls one at a time, just that if you're only making one at a time then you don't have to worry about the rate limiting.
There are several API calls that will get multiple user records at one time. The one I use is the List enrollments endpoint. I get a list of courses and then fetch the enrollments for those courses. That works for me because I only need the students that are actually enrolled in courses for the purpose I'm gathering data.
I fetch the items in this order.
I guess only items 1-2 need to be first. The others could happen in any order. You'll notice that I get a lot information from the enrollments api.
The Canvas implementation of GraphQL is not as full-featured as some. Notably filtering isn't widely supported, so you cannot say "give me all students who have spent 0 time in the course." I don't use graphQL much because what I need is available through the REST API. However, as Canvas moves forward, more development is taking place through GraphQL and not necessarily being backported to the REST API.
There is one API call that will give you a list of users if you don't want to garner it from enrollments or some other API call. That's the list users in account endpoint. It does not allow you to give it a list of user IDs (the search is limited to 1 item). It does not allow you tack on extra information that you would like to have -- that's why I don't use it for my data warehouse. I do use it in my nightly processing of SIS data to make sure that no records fell through the cracks.
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