GuidesWhat is a headless LMS?

What is a headless LMS?

A headless LMS is a learning management system without its own learner-facing front end. It keeps the courses, progress, scores and certificates, and hands them to your product through an API and an embeddable player — so people learn inside the software they already use, not in a separate portal.

By · Founder of Outworx, builds UnderlayerPublished

What is a headless LMS?

Short answer
An LMS with the “head” — the learner portal — taken off. The system still stores content and records who learned what; your application decides where and how the training appears. Learners never visit a second site or create a second account.

The term borrows from headless CMSs, which did the same thing to websites: keep the content and its editing on one side, and let any front end ask for it. In a headless LMS the thing being served is a course, and what comes back is as important as what goes out — a headless LMS has to report who opened it, how far they got, what they answered and whether they passed.

How is it different from a traditional LMS?

A traditional LMS is a destination. Learners get an invitation, create an account, log in to a catalogue and take courses there. A headless LMS is a service your product calls. The differences follow from that one change:

Traditional LMS compared with a headless LMS
FeatureTraditional LMSHeadless LMS
Where learners goA separate portal, usually on the vendor's domainNowhere new — training renders in your product
Learner identityAn account in the LMS, or SSO into itThe user id you already have, passed by your backend
Who owns the interfaceThe LMS vendorYou — themed, embedded, or built on the API
How results come backReports inside the LMS, exportsAPI reads and webhooks into your own systems
Typical pricing basisSeats or active learnersUsage — calls, views or completions — varies by vendor

What does a headless LMS actually do?

Take the portal away and five jobs remain. A headless LMS worth the name does all of them:

  • Hold the content. Courses, their screens, questions and media, with drafts and publishing — authored in a dashboard, over the API, or both.
  • Deliver it. An embeddable player (usually an iframe) for the common case, and the API for teams that want to render everything themselves.
  • Know who is learning. Accept your user's id from your backend — ideally signed, so nobody can claim to be someone else by editing a URL.
  • Record what happened. Views, progress, answers, scores and completions, readable over the API and pushed as webhooks the moment they happen.
  • Prove it and move it. Certificates a third party can verify, and exports — SCORM for a customer's own LMS, raw data for yours — so the content is never stuck.

How does the integration work?

The integration is small because the LMS does the hard part. With Underlayer it is three steps; other headless platforms differ in the details but not the shape:

  1. Create and publish a course — in the dashboard, with POST /api/v1/courses, or by asking an AI client through the MCP server.
  2. Put one iframe where your users already are, with their id signed by your backend so the player knows who is learning without a second login.
  3. Listen for results — a course.completed webhook carries the learner, score and pass/fail into your own database.
the learner's side of the integrationhtml
<iframe
src="https://underlayerhq.com/embed/COURSE_ID?identity=usr_8f2k&expires=1767225600&signature=9c1e…"
width="100%" height="600" style="border:0"
></iframe>

The signature is an HMAC of the identity and expiry, made on your server with a secret that never reaches the browser. The embed docs have the full signing code, and the quickstart goes from an API key to a finished course in ten minutes.

When do you need one?

A headless LMS earns its place when the training is part of a product rather than a program:

  • Onboarding and feature adoption for your own customers, shown next to the feature it explains.
  • Certification or enablement for partners and resellers, inside the partner portal you already run.
  • Training that is itself a feature of your software — an HR, compliance or field-service platform that sells courses to its own customers.
  • Any case where asking learners to create one more account would cost you most of them.
  • Any case where paying per seat for learners who never open a course makes the economics fail.

When is a traditional LMS the better fit?

Headless is not always the answer. If what you need is a standalone academy — a public catalogue, course sales and checkout, learner profiles, discussion forums — a traditional LMS or a customer education suite ships all of that ready-made, and rebuilding it on an API is work you would not need to do. The same goes for internal compliance training for your own staff, which usually belongs in the HR system your company already has.

A useful test: if the answer to “where should this training appear?” is “inside our product”, you want headless. If it is “on its own site”, you probably don't.

What to check before you choose one

Most platforms now say “API-first” or “embeddable”. These questions separate the ones that mean it:

  • Can a learner take a course embedded in your product without creating an account with the vendor?
  • Is the learner's identity signed by your backend, or can anyone open a course as anyone by changing a URL?
  • Does the API cover the whole lifecycle — create, update, publish, translate, read results — or only reporting?
  • Are webhooks signed, retried, and fired for the events you care about (completion, score, certificate)?
  • Can you export a course as SCORM when a customer insists on running it in their own LMS?
  • Is the price published, and what is it priced on — seats, active learners, or usage?
  • Can you get all of your content and learner data out, on every plan?

How Underlayer does it

Underlayer is built to be exactly this, so every answer above is yes. Courses are built from 39 block types over the REST API, the dashboard builder, the MCP server or AI drafting from a document; they embed with one signed iframe; completions arrive as signed webhooks; and any course exports as SCORM 1.2 or 2004. The course editor itself can be embedded too, for products whose users write training rather than take it.

It is priced on course views rather than seats, and every number is on the pricing page: Build is $149 a month for 25,000 views, with a free sandbox to try the whole platform first. Courses export as JSON and SCORM and learner records as CSV on every plan.

Keep reading