You’re using an older browser version. Update to the latest version of Google Chrome, Safari, Mozilla Firefox, or Microsoft Edge for the best site experience.

What Is xAPI (Tin Can)?

12 minutes

Table of Contents

All-in-one tool to create xAPI courses
Explore iSpring Suite

Think about a surveillance camera that follows a student or a group of students as they complete a course in class, read an e-book on their way home, and play an educational game without ever logging into any system, even if offline. That is exactly what xAPI does. But, learners, don’t be scared of total control: xAPI only tracks what is essential to make your learning experience smoother and more efficient.

In this article, you’ll learn all the important details about xAPI to help you decide if you should utilize it in your learning process, and what the benefits and difficulties of switching from SCORM to xAPI are. As a part of practical training, we’ll create a course, set up the reporting, and see it in action.

What Is xAPI?

xAPI (Experience API) is the most recent and versatile eLearning standard. This eLearning software specification was developed in 2013 by an ADL initiative with the intention of capturing the learner’s experience as it is. It was initially called “Project Tin Can” (as the requirements were intended to be based on a two-way conversation with the community), but it was later officially named Experience API. The new xAPI approach addresses other modern eLearning problems that older standards couldn’t overcome.

xAPI history

In 2010, eLearning reporting technology lagged behind the tech progress in other areas. The world started its steady movement towards mobile and cloud. SCORM (Sharable Content Object Reference Model) and former learning standards couldn’t function inside of mobile apps. They required a browser, LMS login, constant Wi-Fi connection, and they didn’t report all the details that course developers wanted.

Just imagine the situation: you are taking a quiz, and suddenly, the Wi-Fi connection is getting dropped. The worst-case scenario is that you lose all your quiz results and have to start over! As you can see, SCORM wasn’t very promising in terms of the future of eLearning.

Here are some of the learning cases that needed a new approach:

  • Offline learning (Wi-Fi and cellular networks may be interrupted as you move)
  • Mobile learning (apps for tablets and smartphones are actively used in education)
  • Collaborative learning (groups of learners can solve tasks together)
  • Games and simulations (usually software simulations, frequently used in corporate learning)
  • Real-world activities (Internet of Things, simulation dashboards and other devices)
  • Augmented and virtual reality (the future of educational technologies in some areas)
  • Security concerns (quiz answers may contain personal info, and should be encoded and transmitted over https:// protocol)

How xAPI Works

Application programming interface (API) is an option to exchange data between various systems, applications, websites, etc.

An xAPI specification describes a Client entity (a course, app, simulation, etc.), also called an Activity Provider, which generates xAPI statements; and an LRS Endpoint, which receives statements and stores them in a database.

Сlient, activity provider sends xAPI statements to LRS

An Activity Provider can be an LMS, a standalone course, video, game, simulator, a medical device, etc. The xAPI statement can be transmitted at the same time as the action being completed or any time later when the internet connection is restored. Also, the Activity Provider can perform an action in the real world not connected to any tracking system, so that it uses Tin Can API to update the statement afterward.

If you have a chunk of learner’s data in your corporate database and you need it for analysis, along with the most recent results, you can submit the selected data objects into the LRS by means of xAPI too.

LRS as a center of all your learning activities

Experience data is a combination of activity, learners’ behaviors, and performance data. Learners complete a plethora of actions throughout their learning process and assessments. Sometimes, specific choices are more important than the overall result, and xAPI is capable of capturing user’s choices precisely.

The centerpiece of every xAPI ecosystem is a cloud repository that stores all experiences from all the Activity Providers that are connected to it. This storage is called the Learning Record Store (LRS). Each Activity Provider (an xAPI course) should have an LRS address specified prior to publishing, so it knows where to report.

What is LRS

Unlike a Learning Management System (LMS), which performs many functions, such as:

  • Managing users and content
  • Providing courses to learners
  • Storing learning paths
  • Calendars, chats, etc.

A Learning Record Store doesn’t do any of that, and it wasn’t designed to. It only receives and stores statements in one list, offers learning analytics, and reports. So, it’s merely a database for learning activities.

An LRS releases learners from conventional learning platforms. You’re free to place eLearning content wherever you want. 

The LRS can be a standalone system placed in the cloud:

LRS can be a standalone system

The LRS can also be incorporated into traditional learning management systems (LMSs) within the same domain:

 LRS can be incorporated into an LMS

These are the most common environment configurations. There could be numerous other configurations with many connected LRSs, with local LRSs, etc.

If you want to place courses locally, or in the Ethernet, you can still open specific firewall ports so they can send the results to a distant server. A hardcore option is to deploy an LRS in your corporate’s Ethernet, but for that, you need to obtain one that’s available for installation. In general, LRSs are distributed by the SaaS model.

xAPI statement structure

Surprisingly, Experience API speaks human language. No convoluted statements like SCORM uses:

API.SetValue(‘cmi.completion_status’, ‘completed’); crossed through

Experience API, in contrast, provides full freedom to express whatever the learning activity needs. 

At its core, an xAPI statement is a JSON object (JSON = JavaScript Object Notation). The basic formula of the statement is: Actor+Verb+Object

This is an exact piece of data that will go to an LRS and will be subsequently used for analysis and generating reports. The basic xAPI statement answers the question “who did what on what learning activity.”

There are unlimited possibilities for customizing statements to specific requirements. The statement may contain a timestamp, a quiz question ID, question text, and other extra parameters.

xAPI statement example: John D successfully Completed the math course, Fractions.

xAPI statement structure, Actor Verb Object

It can be translated as: John D answered ‘0.7’ to the question number 6 with text ‘½ + 0.2 = ?’ in the math course, Fractions, with ID 0134 on date and time 2019-12-20T14:20:50.52 with a duration of 5 seconds, on an Android device with resolution 1080×1920 px.

The flexibility and simplicity of the Tin Can API allows you to realize more accurate learning process tracking as opposed to just submitting SCORM quiz results to an LMS.

To explore the xAPI specification in greater detail, please visit the GitHub repository.

What xAPI Tracks

Unlike its predecessors, xAPI can track any activity that a learner undertakes (e.g., watching a video, reading an e-book, interacting with a simulation) and even real-world job performance — not merely offer points and progress percentages. Here are some examples of what needs to be tracked by an admin or an instructor in different fields of study:

  • Which video parts a learner skipped through the economy course,
  • What physical buttons were pressed on a plane simulator during takeoff,
  • What tool was used first in a VR simulation of a neurosurgery procedure,
  • Heart rate and geolocation data of a runner who is preparing for a marathon,

… and hundreds of other activities, details, and various parameters.

Tin Can API doesn’t have any predetermined sets of commands. It’s all up to a course designer and authoring tool developers who configure an xAPI course component (add a javascript wrapper) what activities to report and when.

If you use one of the eLearning authoring tools that are capable of publishing xAPI courses, they will already have the wrapper that is configured to publish statements. Learn more about how xAPI is supported in iSpring course publication from this article about Tin Can API statements descriptions.

What Devices Are Supported?

One of the main reasons that xAPI development was initiated is that tablets and other mobile devices were used by the majority of people. An important task was to support all possible devices that have access to the Internet and provide the highest level of interoperability between learning activities and the reporting system.

For example, this real simulator cabin below can generate events – when the landing gear is put up after takeoff, it allows evaluation of the accuracy of how a pilot follows instructions.

Boeing 777-300ER Flight Simulator cabin

Boeing 777-300ER Flight Simulator, used for aircraft pilots’ training and practice.


LMS and SCORM are like a school with textbooks and quizzes to complete there. Remember the class grade sheet that teachers used in schools? eLearning technology wasn’t that far from this concept in terms of grading and tracking learners’ progress.

xAPI was created to be the next-gen version of SCORM, but in practice, there are too many differences between them. xAPI is capable of tracking all learning activities and steps made by learners, whereas SCORM is designed to be used for packaged courses with quizzes as the main assessment tool.

On the other hand, xAPI doesn’t describe the course structure and packaging, while SCORM does. It was intentionally not included in the specification, because a single sign-on mechanism can be used to get learners from one system to another (e.g., from an LMS to a game on your domain). xAPI is explicitly used to get the tracking data to an LRS, where you can do whatever you want with the data: analyze it, create reports, etc.

Each standard has its time and purpose, and they’re primarily built on top of each other’s functionality. cmi5 is “the modern version of SCORM” that describes packaging on top of the xAPI functionality. Look at the simplified learning standards’ timeline:

AICC → SCORM 1.2 → SCORM 2004 → xAPI (you are here) → cmi5

Learn more about comparison with other eLearning standards →

Hands-on Experience with xAPI

Nothing helps the comprehension of Experience API technology better than testing it out and experimenting with it. Setting everything up is not that hard, and it’ll only take 10 minutes. We’ll need LRS and xAPI course authoring software. We’ll be using iSpring Suite for publishing an xAPI course.

Step 1. Setting up an LRS

Register an account at SCORM Cloud to create an LRS for testing purposes. Rustici software are developers of SCORM and xAPI standards, and they offer sandbox solutions for free to test your courses or authoring tools if you’re a developer.

1. Log in to your SCORM Cloud.

2. Select Apps /API from the main menu in the bottom left corner.

SCORM Cloud Apps

3. Click Add Application, and name it, e.g., iSpring LRS.

4. Select xAPI LRS from the left-hand side menu.

5. Copy the link for iSpring LRS, as it’ll be required in the course authoring step.

Step 2: Creating an xAPI course

To create an xAPI course, you can use any authoring tool with this format supported. iSpring Suite is an early adopter of xAPI and can help you produce an xAPI-ready course in no time.

1. Install and open iSpring Suite.

2. Click on the New Course button. 

Creating xAPI course in iSpring Suite

3. Fill your eLearning course with the necessary content.

4. Click Publish on the ribbon.

xAPI course in iSpring Suiteу

5. Choose the LMS publishing destination, and then select Experience API in the LMS profile menu.

LMS profile menu in iSpring Suite

6. Click Customize next to the drop-down menu and paste the endpoint link that you got from the LRS (Step 1). Click Save to close the Learning Course window.

xAPI endpoint in iSpring Suite

7. Click Publish on the bottom, and iSpring will publish your course into an xAPI format.

That’s it, launch it locally or upload to the web. As you run through the course, watch the statements show up in the LRS.

Learning First, Technology Last

Experience API is just one of a few standards that makes eLearning possible. It introduces some new concepts, such as LRS, offline and detailed tracking, which addresses most of the problems that earlier standards had.

However, it may be overwhelming for course authors to take care of not just the material but all the methods to report the results. It’s a whole new level of developing digital training and online courses.

Fiddling with LRSs might be tricky too. If the LRS of your choice doesn’t offer good reporting/analytics tools, you’ll most probably have to hire a data analyst who’ll help you to deal with a large amount of data.

For a general learning approach, SCORM might be just fine. It’s simple and useful when you evaluate learner’s success based on quizzes and the fact of opening course materials. However, if you have higher ideas of organizing learning processes and have the resources for that, the xAPI is the perfect solution.

Have questions about xAPI and publishing to this format? Leave a comment below to open a discussion with learning experts.

iSpring Suite

Fast course authoring toolkit

Create online courses and assessments in record time.

Fast course authoring toolkit