---
title: "xAPI learning record stores and cmi5 tooling | SCORM Tools"
canonical_url: "https://scorm-tools.com/categories/xapi-cmi5"
last_updated: "2026-10-31T10:21:56.445Z"
meta:
  description: "The standards after SCORM — and the tools that actually implement them."
  "og:description": "The standards after SCORM — and the tools that actually implement them."
  "og:title": "xAPI learning record stores and cmi5 tooling"
---

# **xAPI learning record stores and cmi5 tooling**

The standards after SCORM — and the tools that actually implement them.

Compiled and checked by the scorm-tools.com editor. Last updated 24 August 2026.

SCORM records what happened inside a course, in a course's own terms, to the LMS that launched it. xAPI breaks all three assumptions: any activity, anywhere, reported to any record store. cmi5 then puts the discipline back — it is an xAPI profile that restores the parts of SCORM an administrator actually needs, a defined launch, a session, and rules for what counts as completion.

This category holds the infrastructure. **Learning record stores** receive, validate and serve statements; they are ordinary databases with a specific API and specific conformance expectations, and several good open-source ones exist. **Client libraries** send statements from courses and applications. **cmi5 tooling** covers players, assignable-unit runtimes and the conformance test suite that decides whether an implementation is real.

A caution worth stating plainly, because it is the fact this directory most often has to correct: an xAPI endpoint is not cmi5 support. Receiving statements is the easy half. Honouring the AU lifecycle, the session identifier and the moveOn rules is what makes a completion mean something — and it is what we check before recording cmi5 as supported.

**18 tools** · 18 open source · 6 support cmi5

Order is editorial and never for sale: standards coverage first, then maintenance state, then popularity, then alphabetical. [~~How we list ~~](https://scorm-tools.com/how-we-list).

## Tools in this category

## Filter these tools

**Standard**

**Licence**

**Platform**

**Open source only (18)**

Showing 18 of 18

@xapi/cmi5

A typed JavaScript client that handles the cmi5 handshake for you inside a course

Standards supported: xAPI · cmi5

Licence: **MIT**Pricing: **Open source**

[@xapi/cmi5](https://scorm-tools.com/tools/xapi-cmi5-library)

ADL LRS

ADL's own open-source learning record store, now tracking xAPI 2.0

Standards supported: xAPI

Licence: **Apache-2.0**Pricing: **Open source**

[ADL LRS](https://scorm-tools.com/tools/adl-lrs)

ADL xAPIWrapper

ADL's own JavaScript wrapper for talking to an LRS, built against xAPI 1.0.1

Standards supported: xAPI

Licence: **Apache-2.0**Pricing: **Open source**Maintenance: **Stale**

[ADL xAPIWrapper](https://scorm-tools.com/tools/adl-xapiwrapper)

Apereo OpenLRW

Java learning record warehouse for xAPI, Caliper and OneRoster data, dormant since 2020

Standards supported: xAPI

Licence: **ECL-2.0**Pricing: **Open source**Maintenance: **Stale**

[Apereo OpenLRW](https://scorm-tools.com/tools/openlrw)

CATAPULT

ADL's cmi5 player, content test suite and LMS test suite in one repository

Standards supported: xAPI · cmi5

Licence: **Apache-2.0**Pricing: **Open source**

[CATAPULT](https://scorm-tools.com/tools/catapult)

Learning Locker (Community)

The best-known open-source LRS, with no commit on master since November 2021

Standards supported: xAPI

Licence: **GPL-3.0**Pricing: **Open source**Maintenance: **Stale**

[Learning Locker (Community)](https://scorm-tools.com/tools/learning-locker)

Ralph

A Python xAPI LRS, CLI and data-pipeline toolbox from France Universite Numerique

Standards supported: xAPI

Licence: **MIT**Pricing: **Open source**

[Ralph](https://scorm-tools.com/tools/ralph-lrs)

RapidCMI5

Desktop authoring tool that outputs cmi5 packages, aimed at TLA programmes

Standards supported: xAPI · cmi5

Licence: **AGPL-3.0**Pricing: **Open source**

[RapidCMI5](https://scorm-tools.com/tools/rapidcmi5)

SQL LRS

An xAPI learning record store that runs on SQLite or your existing SQL database

Standards supported: xAPI

Licence: **Apache-2.0**Pricing: **Open source**

[SQL LRS](https://scorm-tools.com/tools/sql-lrs)

TRAX LRS

A deliberately minimal self-hosted xAPI Learning Record Store built on Laravel

Standards supported: xAPI

Licence: **GPL-3.0**Pricing: **Open source**

[TRAX LRS](https://scorm-tools.com/tools/trax-lrs)

TinCanJS

Rustici's original JavaScript xAPI library — still the most-linked, unchanged since 2016

Standards supported: xAPI

Licence: **Apache-2.0**Pricing: **Open source**Maintenance: **Stale**

[TinCanJS](https://scorm-tools.com/tools/tincanjs)

cmi5 Client Library (ADL)

ADL's archived JavaScript wrapper and example AU for the content side of cmi5

Standards supported: xAPI · cmi5

Licence: **Apache-2.0**Pricing: **Open source**Maintenance: **Archived**

[cmi5 Client Library (ADL)](https://scorm-tools.com/tools/adl-cmi5-client-library)

cmi5.js

Rustici's JavaScript runtime for the assignable-unit side of a cmi5 course

Standards supported: xAPI · cmi5

Licence: **Apache-2.0**Pricing: **Open source**Maintenance: **Stale**

[cmi5.js](https://scorm-tools.com/tools/cmi5-js)

cmi5launch for Moodle

ADL's Moodle activity module that launches cmi5 content via the CATAPULT player

Standards supported: xAPI · cmi5

Licence: **Apache-2.0**Pricing: **Open source**

[cmi5launch for Moodle](https://scorm-tools.com/tools/moodle-mod-cmi5launch)

lxHive

Small PHP and MongoDB Learning Record Store for xAPI 1.0.x

Standards supported: xAPI

Licence: **GPL-2.0**Pricing: **Open source**

[lxHive](https://scorm-tools.com/tools/lxhive)

moodle-logstore\_xapi

Turns Moodle log events into xAPI statements and posts them to an LRS

Standards supported: xAPI

Licence: **GPL-3.0**Pricing: **Open source**

[moodle-logstore\_xapi](https://scorm-tools.com/tools/moodle-logstore-xapi)

xAPI Java

Immutable xAPI model and Spring-based LRS client for Java, actively released

Standards supported: xAPI

Licence: **Apache-2.0**Pricing: **Open source**

[xAPI Java](https://scorm-tools.com/tools/xapi-java)

xAPI.js

Strongly typed TypeScript client for the xAPI 1.0 Statement and State APIs

Standards supported: xAPI

Licence: **MIT**Pricing: **Open source**

[xAPI.js](https://scorm-tools.com/tools/xapi-js)

## **Questions people ask about xapi & cmi5**

### **What is the difference between xAPI and cmi5?**

xAPI is a statement format and a store API — deliberately unopinionated. cmi5 is a profile of xAPI that specifies how a course is launched, how a session is identified, and how completion is determined. If you need SCORM-like accountability with xAPI's reach, you need cmi5, not xAPI alone.

### **Do I need an LRS?**

Only if you are using xAPI or cmi5. SCORM reports to the LMS and needs nothing extra. Once statements leave the LMS, something has to store them, and that something is an LRS.

### **Is xAPI replacing SCORM?**

Not in practice, and not soon. SCORM remains what procurement asks for and what every LMS imports. xAPI is additive — it captures what SCORM cannot — and most real deployments run both.

### **How do I know an LRS is conformant?**

ADL publishes a conformance test suite and maintains a list of adopters. We link that registry rather than certifying anything ourselves; listings backed by it carry the Verified chip.

## **Related categories **

**Authoring tools & course frameworks**

Where the course gets made — and where its SCORM output is decided.

[Authoring tools & course frameworks](https://scorm-tools.com/categories/authoring-tools)

**Converters & migration**

Turning what you already have — decks, video, H5P, old packages — into something an LMS accepts.

[Converters & migration](https://scorm-tools.com/categories/converters-migration)

**Players, runtimes & debuggers**

Run a SCORM package outside an LMS — and watch what it actually does.

[Players, runtimes & debuggers](https://scorm-tools.com/categories/players-runtimes-debuggers)

**Testing, validation & conformance**

Prove a package is correct before a client's LMS proves it isn't.

[Testing, validation & conformance](https://scorm-tools.com/categories/testing-validation-conformance)

**Packagers, SDKs & libraries**

The pieces you build with when the course is an application, not a slide deck.

[Packagers, SDKs & libraries](https://scorm-tools.com/categories/packagers-sdks-libraries)

**LMS & LMS plugins**

Where the package finally has to run — and how well each platform actually implements the spec.

[LMS & LMS plugins](https://scorm-tools.com/categories/lms-and-plugins)

**Distribution, licensing & hosting**

Getting a course into someone else's LMS without giving away the course.

[Distribution, licensing & hosting](https://scorm-tools.com/categories/distribution-licensing)

**Analytics & tracking**

Turning completion records into something worth reading.

[Analytics & tracking](https://scorm-tools.com/categories/analytics-tracking)