Edtech developers have probably been asked by schools to integrate learning apps with a school’s LMS. There are 2 common methods to integrate external apps into an LMS:

  • through a proprietary API provided by the LMS
  • through the LTI® standard

What’s an API integration?

API integration is a very broad term. An API - or Application Programming Interface - is just a shared language that two pieces of software use to talk to one another. Websites you frequent every day can use API integrations to send data back and forth to one another.

For example, a user clicks the Continue with Facebook button to sign into a website that was not Facebook. That website (the one a user is trying to sign into) uses the Facebook API (that Facebook created) to sign the user into the website and retrieve information from the user’s Facebook profile, like a name and email address.

Public APIs offered by LMSs essentially act the same way. A public API is a set of actions that a developer can use to interact "behind the scenes" with the LMS. When talking about LMS API integration, refer to how an application can use this set of actions to add powerful functionality for users.

What functionalities do LMS API integrations have?

Say an edtech developer wants to let a Canvas user sign into the developer’s learning app using the user’s Canvas credentials. The developer would build an interface in the app that uses the Canvas API to sign in a user. Once Canvas authenticates the user, the developer can use the API to retrieve information about the user, such as the user’s name and email address.

APIs provided by LMSs also allow apps to perform actions on behalf of an authenticated user. For example, a teacher can sign into the app using their Canvas account. Then the app can retrieve the teacher's list of courses from Canvas, and the teacher can post an assignment to the LMS. Students can submit work to the LMS through the API, and the learning application can automatically sync grades.

Each LMS offers a different set of functionalities through its API. For instance, the Google Classroom API can do things that the Schoology API can't – and vice versa. Sometimes this makes it challenging for developers to plan and implement a decisive API integration strategy when users ask for a multitude of different systems.

What’s an LTI integration?

LTI integration refers to a very specific "language" or "syntax" used to send and receive data between learning platforms (think LMSs) and applications.

LTI (Learning Tools Interoperability) is an industry standard, developed to integrate external applications with many LMSs. The idea is a developer, who creates an app using the LTI standard, can (theoretically) integrate that app with any LMS, which supports the standard.

The 1EdTech Consortium (1EdTech) is a non-profit organization with memberships of companies and representatives across the edtech industry. 1EdTech maintains the LTI standard (as well as other standards) to help learning app developers create tools that can be used in a variety of LMSs. The goal is to not have to develop separate methods of communicating with each LMS individually.

There are several versions of the LTI standard. Most LMSs support at least one of these versions, with the exceptions of Google Classroom and Microsoft Teams. The most recent version of LTI is LTI 1.3 and LTI Advantage.

Developers should be aware that not all LMSs support LTI in the same way. So to connect to these LMSs, developers will have to support each LMS’s different LTI version. Canvas, Blackboard, Brightspace, and Moodle support versions of LTI up to LTI 1.3 and LTI Advantage. Schoology only supports up to LTI 1.1. Google Classroom and Microsoft Teams don't support LTI at all.

Interested in Integrations?

Read these other articles we've written on integrations.

If you’re looking for a partner to guide you through LMS LTI integrations, then let’s introduce ourselves. We’re Edlink!