Introduction to the Tin Can API (aka xAPI)

When you’re getting started with e-learning, getting to know some of the basic terminology can be confusing, particularly the arena of e-learning standards. Standards are critical to understand, but they sure aren’t sexy.

E-learning uses standards such as SCORM and Tin Can API to ensure that different kinds of online learning content can be tracked and reported to a learning management platform. SCORM was designed to make sure that online learning courses could pass basic info, such as score and completion status to a learning management system (LMS). Tin Can API was developed on the same basic concept but takes it a step further.

To help folks get comfortable with e-learning standards, we wrote this handy introduction to SCORM, and pretty quickly we heard requests to do an explainer on Tin Can API/xAPI. At E-Learning Heroes, your wish is our command! So let’s talk Tin Can API.

A quick note: Tin Can API and xAPI are the same thing! “Project Tin Can” was the initial name for this, and it stuck. The two names are used interchangeably, and you can even set your preference in the upper left corner of the official website so you only see the name you like! At Articulate, we say Tin Can API, so that’s what we’ll be sticking with for the rest of this article.

Okay, now let’s get into the nitty-gritty. Here’s what you need to know.

What’s Tin Can API?

Tin Can API is an application programming interface (hence API) that allows different types of learning activities to be tracked in a central location.

Let’s first define “application programming interface.” An API is a protocol that lets different software programs communicate and share information with each other. For example, when you set up Twitter to automatically update your Facebook account each time you post a tweet, Twitter is sending info to Facebook via its API.

While SCORM is specifically a set of standards that allows e-learning courses and LMSs to communicate, Tin Can API is an API that allows other software to track many different types of learning activities.

Tin Can API still allows you to use uniform standards for e-learning to communicate information from e-learning courses to LMSs. But it also enables you to store different types of learning experiences in what’s called a learning record store (LRS). This broader definition of e-learning standards makes room for innovation in what kinds of learning activities can be tracked.

For example, an LMS could employ Tin Can API to create a browser extension that allows learners to track what articles, videos, or other content they’ve consumed through their browser. That means you can report learning that occurs outside of the LMS back to the LMS. Cool, right?

How Does Articulate Software Work with Tin Can API?

So I bet you’re wondering, "how do I know if I can or should publish to Tin Can?” You can publish to Tin Can if your LMS supports Tin Can API. And if your LMS supports Tin Can, we do recommend publishing to that standard. We generally find that course authors get the best results by publishing to the most current standard supported by their LMS.

If you’re creating e-learning with Articulate authoring tools, it’s a cinch to create Tin Can API–compliant content using our basic publishing tools. Here’s how:

More Resources

Dying to learn more about the Tin Can API? The Tin Can API website has tons of great resources. We’d recommend getting started with these:

Looking for an easier way to manage your online training? Start a free trial of, the all-in-one system that makes online training easy to create, enjoyable to take, and simple to manage. Have questions? Please leave them in the comments.

Alexander Covan
Akriti Sharma
Whitney Miller-Nichols