xAPI Analytics Guide

This guide provides a high-level overview of xAPI. The xAPI, also known as the Experience API or Tincan API, is a new specification for learning technology that makes it possible to collect data about the wide range of experiences a person has (online and offline). This guide describes how the xAPI fits into Kaltura's product ecosystem, how to enable and configure the xAPI in Kaltura MediaSpace™ (KMS) and other products, a description of events xAPI records, and troubleshooting/FAQs. This guide is intended for Kaltura partners, community members, and customers who want to understand xAPI analytics and configure Kaltura's xAPI Analytics Tool on their system(s).

This guide requires that users have access to both MediaSpace and the Configuration Management Section of MediaSpace. For technical support, please contact Kaltura Customer Care. Please contact your Customer Success Manager with all other inquiries.  

Understanding xAPI and Associated Nominclature

A Learning Management System (LMS) is a software application used to manage, record, and provide educational courses, training, or other learning programs. An LMS gives an organization the ability to create customized courses and track the progress of their learners. A Learning Record Store (LRS) is a unique type of server that collects all that learning data in one place. It stores the learning records and allows for reporting and exporting of raw data. LRSs are defined by the xAPI specification. 

The xAPI is a specification to support learning, teaching, and assessment that makes it possible to gather and measure information about online and offline user experiences. This API obtains data from a wide range of systems and different technologies in one uniform way, enabling the capture and sharing of this information using xAPI's straightforward vocabulary.

xAPI's Critical Role in Kaltura's Product Ecosystem

Kaltura's extensive product line for teaching and learning offer personalized video messages, lecture capture, video creation and other features. In an age of increased online learning, videos can be used for classroom capture, remote learning, accessibility, flipped classrooms, course materials, and video assignments and assessments. Kaltura's xAPI functionality (Kaltura's xAPI Analytics Tool) is designed to send a broad range of events from MediaSpace and other Kaltura product integrations to the Learning Resource Store (LRS). In Kaltura's case, the LRS acts as a digital grade book of sorts, tracking a learners' progress as they watch Kaltura-hosted videos required by their syllabus. 

The following set of xAPI events are delivered from Kaltura to the LRS:



Start, 25%, 50%, 75%, 100% (events are sent when user has passed said marks in video).

playUser started or resumed the playback of an Entry.


User paused playback of an Entry. (verb reference)


User intentionally seeks to a different time in the Entry. (verb reference)



User opens a gallery or channel page.


User logs into the KMS, or LMS.


User likes an Entry.


User comments on an Entry.


User uploads an Entry.


User marks an Entry as Unlisted.


User publishes an Entry.


User is made a co-editor to an Entry.



User launches the Kaltura Capture product.

The following is sample xAPI data for a playProgress event. Click to expand the view. Note the highlighted line showing playthrough progress of 50%. 

  "actor": {
    "objectType": "Agent",
    "name": "John User",
    "account": {
      "name": "johnuser",
      "homePage": "https://example.mediaspace.kaltura.com"
  "verb": {
    "id": "http://activitystrea.ms/schema/1.0/watch",
    "display": {
      "en": "watched"
  "result": {
    "extensions": {
      "https://w3id.org/xapi/cmi5/result/extensions/progress": 50
  "context": {
    "contextActivities": {
      "category": [
          "objectType": "Activity",
          "id": "http://tincan-definitions.kaltura.com/products/mediaspace/1",
          "definition": {
            "type": "http://id.tincanapi.com/activitytype/source"
          "objectType": "Activity",
          "id": "https://example.mediaspace.kaltura.com/default/channels/view/channelid/21212121",
          "definition": {
            "type": "http://id.tincanapi.com/activitytype/category",
            "name": {
              "en": "Marketing"
      "other": [
          "objectType": "Activity",
          "id": "https://example.mediaspace.kaltura.com",
          "definition": {
            "type": "http://activitystrea.ms/schema/1.0/application",
            "name": {
              "en": "Kaltura MediaSpace"
    "extensions": {
      "http://tincan-definitions.kaltura.com/extensions/context/video-mode": "VOD"
  "timestamp": "2019-05-03T21:40:35+00:00",
  "object": {
    "objectType": "Activity",
    "id": "https://example.mediaspace.kaltura.com/media/t/1_msutjxqy",
    "definition": {
      "type": "http://adlnet.gov/expapi/activities/video",
      "name": {
        "en": "Kaltura Video Solutions for Media Companies"

Enabling and Configuring Event Delivery

For events to be delivered to the LRS, you must enable and configure the Xapi module in the Configuration Management section of your MediaSpace instance or LMS integration (KAF Configuration Management). If your Kaltura account is integrated into a supported LMS, you must enable and configure one additional module - the Xapikaf module. 

To enable and configure the Xapi module 

  1. Log into your MediaSpace Admin or KAF Admin Console (by going to your MediaSpace URL  and add admin at the end, for example: https://{your_KMS_URL}/admin/  
  2. Login using your Kaltura user ID and password.
  3. Click Sign In. The Configuration Management screen is displayedIf this module is not in your MediaSpace application or LMS integration, please contact your Kaltura representative to enquire about adding it. 
  4. In the list of configurable items on the left of your screen, locate and click on Xapi. The Xapi configuration window is displayed.

    The Xapi item will be crossed out because it is disabled by default.  

    The Module Info box displays a description of the module (what enabling this module allows users to do) and a link to the list of xAPI events that KMS currently supports.  

  5. In the enabled pull down list, select Yes to enable the Xapi module. 
  6. Specify connection parameters as shown in the following table. .Retrieve the connection parameters from the LRS. Some LRSs allow for all providers to use the same key and secret. Some recommend creating separate keys and secrets for each provider. Follow the instructions of your LRS.




    The xAPI (TinCan) endpoint of your LRS.


    The xAPI app key defined in your LRS.


    The xAPI app secret defined in your LRS.

  7. Specify integration parameters as shown in the following table..

    Integration NameValuesDescription


    Yes or No(Default: No)


    • If set to "No" (recommended), the actor.mbox property (user email) will be sent to the endpoint. If the user email is not available, the actor.account property (user ID and user site) will be sent.

    • If set to "Yes", only the actor.account property (user ID, user Site) will ever be sent.

  8. Click Save. You will receive a notice that your configuration for Xapi was saved and the cache was cleared. 

To enable and configure Xapikaf module

  1. In addition to choosing and enabling Xapi, select and enable the Xapikaf module.  
  2. Follow the instructions as for the Xapi Module.The Xapikaf module has no additional configuration options. 

Learning Record Stores Supported

Kaltura xAPI is designed to support standards-based data exchange to Learning Record Stores. Following are the tested integrations, however, we welcome our clients to incorporate any other LRS they may be using at present. 

LRS NameAdditional Documentation
Watershed LRS
SCORM Cloud 
Apereo OpenLRW 


ProblemTroubleshooting Steps

Data is not being passed to the LRS

  1. Confirm that the media playback event is happening in the LMS, MediaSpace, or through a MediaSpace secureembed.
  2. Confirm that the endpoint, key and secret have been correctly copied from the LRS system. Make sure there are no extra spaces or characters in the configuration.

In This Article
Was this article helpful?
Thank you for your feedback!