Canvas LMS API
The REST API for the Canvas Learning Management System (LMS) by Instructure.
Users
30M+
Institutions
6,000+
API Standard
REST
About Canvas LMS API
The Canvas API is a comprehensive RESTful interface that allows developers to interact with all aspects of the Canvas LMS. Using OAuth2 for authentication, it provides extensive endpoints for managing courses, enrollments, assignments, grades, calendars, and more. It is widely used by educational institutions and EdTech developers to build custom applications, automate administrative tasks, integrate with Student Information Systems (SIS), and create unique learning tools. The API is built to be intuitive and follows modern web standards, supporting a vibrant ecosystem of third-party applications and extensions.
Core API Capabilities
Courses
Create, read, update, and delete courses and course content.
Users & Enrollments
Manage user accounts, roles, and course enrollments.
Assignments & Grades
Administer assignments, submit grades, and manage the gradebook.
Calendars
Manage course and user calendars, including events and assignments.
Submissions
Submit files, comments, and other content on behalf of users.
Developer & Integration Features
Authentication
Secure API access via OAuth2 developer keys.
Sandbox
Free-for-Teacher accounts provide a full-featured sandbox environment.
Lti Support
Integrates with external tools via the Learning Tools Interoperability (LTI) standard.
Webhooks
Real-time notifications for events within Canvas can be configured.