About the Schoology API

Apps can integrate with Schoology through 2 methods:

  • the Schoology API
  • the LTI® specification

In this article, we'll focus specifically on integration through the Schoology API and discuss what apps can do with the API.

Overall the Schoology API helps third-party developers implement integration features with a school’s Schoology environment, such as:

  • Single sign-on
  • Rostering
  • Content integration
  • Grade passback

Single Sign-On

The authentication process for Schoology is a bit different than other LMSs. Schoology only supports authentication through OAuth 1.0, while most modern school data systems use OAuth 2.0 to authenticate users.

Many apps match users based on their email addresses listed in Schoology, there are several reasons why developer should choose a different identifier. For security purposes, the authentication process will never expose the user's Schoology password to the app.

Once a user runs through Schoology’s authentication process, apps can create accounts for first-time users signing in or match users with their existing account. After authentication, the app can start to communicate with the user's Schoology environment. This is where the API comes in.


The Schoology API can be used to retrieve a list of users, their courses, and enrollments. These lists are helpful for developers who want to create accounts for users before the user logs in. In addition to rostering through the API, developers can gather lists of real-time enrollments (think about the changes for when a student leaves or joins a course during the school year).

Content Integration

When a third-party app authenticates a user, the app can send back requests to the user’s Schoology environment. So, a developer can generate resources that appear in the user’s Schoology.

For example, a teacher logs into the app with their Schoology credentials. The teacher assigns a lesson from the app. Then the app can act as the teacher, sends the necessary information to Schoology to generate the lesson, and post it to the teacher's specified course.

The Schoology API allows apps to read, create, or modify a variety of resources in the user's Schoology environment, like:

  • Assignments
  • Student submissions
  • Polls
  • Enrollments
  • Courses
  • Pages

Click here for a full list of objects that can be accessed by the Schoology API.

Grade Passback

The API can also integrate to assign grades to students. The Schoology API can sync grades between assignments in an app and the Schoology gradebook. This feature reduces the time teachers spend gathering grades and adding to their gradebooks.

When developers rely on the API to sync grades, they won't have to spend time developing a gradebook or other methods to export grades.

How to Get Started Using the Schoology API

The first step to Schoology integrations is to review the Schoology API documentation and to sign up as a Schoology App Developer.

Read More on Schoology

Here are other articles we’ve written on Schoology to help you on your journey:

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!