xAPI Java
Immutable xAPI model and Spring-based LRS client for Java, actively released
The facts
- Licence
- Apache-2.0 — OSI approved
- Pricing
- Open source Price source for xAPI Java, opens in a new tab
- Deployment
- Embedded in your own application
- Platforms
- Library
- Vendor
- BerryCloud
- Headquarters
- United Kingdom
Standards support
Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.
| Standard | Supported | Provenance | Checked | Note |
|---|---|---|---|---|
| SCORM 1.2 | Not stated | — | — | — |
| SCORM 2004 | Not stated | — | — | — |
| xAPI | Yes | editor-checked · 24 Aug 2026— source, opens in a new tab | `XapiClient` sets `X-Experience-API-Version` to 1.0.3 as a default header. The model carries the specification's validation rules, which can be relaxed individually for non-conformant activity providers. | |
| cmi5 | Not stated | — | — | — |
| AICC | Not stated | — | — | — |
| LTI | Not stated | — | — | — |
- Claimed
- — the vendor states it. We have not confirmed it.
- Checked
- — an editor confirmed it on the date shown.
- Verified
- — an official registry lists it, and we link to the entry.
Editor's notes
A Java library in two parts: a model of the xAPI data types with the specification's validation rules built in, and a client for sending statements and documents to a learning record store. Both use a fluent builder interface and immutable objects, and the client is a Spring WebClient wrapper with auto-configuration, so in a Spring Boot service the endpoint and credentials become three properties in application.yml.
It suits back-end systems that generate learning records — an LMS, an assessment engine, a simulation that reports outcomes — and it suits them well, because validation happens at the model boundary rather than being discovered when an LRS rejects a batch. The escape hatch matters too: real-world activity providers break the rules constantly, and individual validation constraints can be switched off, with the README stating plainly that doing so violates the specification.
Two things to check before adopting. Java 25 for the current line is aggressive, and the 1.x fallback for Java 17 will not receive the same attention. And the Spring dependency is not incidental — outside Spring you are using the model and writing your own transport.
Maintenance looks genuinely healthy for a project this size: commits within the last week, v2.0.2 released in May 2026, one open issue, and CodeQL and SonarCloud gates on the pipeline. Nineteen stars understate it; this is a small vendor's working library, not a weekend project.
Listed on scorm-tools.com
Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.
Get the embed code