Skip to content

pipwerks SCORM API Wrapper

The JavaScript wrapper most SCORM courses have been built on since 2008

Stale · 40 mo Last commit Checked · 24 Aug 2026

The facts

Licence
MIT — OSI approved
Pricing
Open source
Deployment
Embedded in your own application
Platforms
Library · Web
Vendor
Philip Hutchison

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for pipwerks SCORM API Wrapper, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Yes editor-checked · 24 Aug 2026— source, opens in a new tabThe wrapper walks the frame chain for `window.API`, and switches its data-model calls between `cmi.core.*` and `cmi.*` on the detected version.
SCORM 2004 Yes editor-checked · 24 Aug 2026— source, opens in a new tabFinds `window.API_1484_11` and uses Initialize/Terminate. It does not distinguish 2004 editions — the runtime API signature is the same across them, and sequencing is left entirely to the LMS.
xAPI No editor-checked · 24 Aug 2026
cmi5 No editor-checked · 24 Aug 2026
AICC No editor-checked · 24 Aug 2026
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

The pipwerks wrapper sits between a course and the LMS's SCORM API, and has done that job since 2008. It solves the two problems that trip up everyone writing SCORM by hand: finding the API object, which may be several frames up or in an opener window, and papering over the fact that SCORM 1.2 and 2004 use different element and method names for the same ideas.

It is aimed at anyone hand-building a SCO, or writing a publish template for an authoring tool. At roughly 900 lines of dependency-free ES5 with no build step, it drops into a package and works in whatever browser the client's LMS insists on. ActionScript 2 and 3 versions ship alongside, of historical interest only.

What it is not is a runtime. It talks to an LMS-provided API — it does not implement one, does not simulate one for local testing, and does not touch sequencing, rollup or navigation. Nor does it validate what you write.

The practical point today: the last commit was May 2023 and the file's own version string reads 2018. It is stable rather than maintained — the runtime API has not changed since 2009, so there is little to fix, but nothing will be fixed either. If you want a maintained equivalent with SCORM 2004 sequencing and a TypeScript build, look at scorm-again; if you want the smallest thing that has worked for fifteen years, this is still it.

Alternatives to pipwerks SCORM API Wrapper

Chosen by hand because they solve the same problem, not because they share a keyword.

scorm-again
A tested JavaScript SCORM 1.2 and 2004 runtime for anything that has to host a course

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