If you are an edtech developer, you've probably been asked by schools to integrate your products with their learning management systems. There are two commonly used methods to integrate external content into an LMS - through a proprietary API provided by the LMS or through the LTI® standard.

When we talk with companies in edtech about LMS integration, we're often asked questions like these:

  1. What is API integration?
  2. What is LTI integration?
  3. What are the differences between API and LTI integration?

In this article, we'll talk about the different ways of integrating content into an LMS. Note that we won't be covering every single difference between LTI and API integration. However, we'll hopefully give you a good understanding of what it means to integrate with an API versus using the LTI standard.

What is 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, you've probably used the Continue with Facebook button to sign into a website that was not Facebook. The website that you're trying to sign into uses the Facebook API (that Facebook created) to sign you into their platform and retrieve information from your Facebook profile, like your name and email address.

Example: Log in With Facebook interface

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 we talk about LMS API integration, we are specifically referring to how your application can use this set of actions to add powerful functionality for your users.

What can I do with LMS API integrations?

Let's say that you want to let a user from Canvas sign into your app using their Canvas credentials. You would build an interface in your app that uses the Canvas API to sign in a user. Once the user is authenticated by Canvas, you can use the API to retrieve information about the user, such as their name and email address.

The 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, 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 your application can automatically sync grades.

Each LMS offers a different set of functionality through its API. For instance, the Google Classroom API can do things that the Schoology API can't - and vice versa. This can sometimes make it challenging to plan and implement a decisive API integration strategy when you have clients who are asking for a multitude of different systems.

What is an LTI integration?

Earlier, we said that API integration is a broad term that describes any method that two pieces of software use to communicate. LTI integration on the other hand, refers to a very specific "language" or "syntax" used to send and receive data between learning platforms and applications.

LTI - or Learning Tools Interoperability - is an industry standard that was developed as a way to integrate external applications with many learning management systems. A developer who creates an app using the LTI standard can (theoretically) integrate that app with any LMS that also supports the standard.

The IMS Global Learning Consortium® is a large non-profit organization that is made up of many companies and representatives across the edtech industry. IMS Global maintains the LTI standard (as well as many others) to help app developers create tools that can be used in a variety of LMSs, without having to develop separate methods of communicating with each one individually.

In fact, there are several versions of the LTI standard. Most LMSs support at least one of these versions, with the notable exceptions of Google Classroom and Microsoft Teams. The most recent specification of LTI specification is LTI Advantage, which you can read more about here.

Developers should be aware that not all LMS's support LTI in the same way. 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.

What else should I know?

If you'd like to learn more about LTI and API integrations for LMSs, you should check out Edlink! We have extensive experience integrating with LMSs via APIs and providing LTI solutions for our clients who need them. You can email us at accounts@ed.link or contact us at our support page.

Learning Tools Interoperability® (LTI®) is a trademark of the IMS Global Learning Consortium, Inc. (www.imsglobal.org). Edlink has not received certifications from the IMS Global Learning Consortium, Inc.