Integration examples for using H5P in Flask, FastAPI, Django, PHP, .NET (via h5p-server)
I've been using Lumi Education's excellent @lumieducation/h5p-server library to run H5P outside of WordPress/Moodle. The library handles all the heavy lifting, but I found myself writing the same integration glue in different projects - callback URLs, xAPI webhook handling, iframe embedding, etc.
I put together some examples that might save others time:
- Flask (~150 lines)
- FastAPI (~200 lines)
- PHP (~300 lines)
- .NET 8 (~300 lines)
- Django (reusable plugin)
- LTI 1.3 provider (for LMS integration)
All examples follow the same pattern: your app opens the H5P editor in a popup, receives a callback with the contentId, embeds the player in an iframe, and receives scores via webhook.
Repo: https://github.com/chrishonselaar/h5p-integration-kit
This is entirely built on top of the work by H5P.org and Lumi Education - just wrapper examples to help people get started faster. Sharing in case it's useful to anyone else trying to integrate H5P into a custom application. Included is a ready-to-go Docker image based on @lumieducation/h5p-server that provides simple user-facing screens so everything works with near-zero setup.

otacke
Fri, 01/16/2026 - 09:57
Permalink
Nice!
Nice!
chris-honselaar
Sat, 01/17/2026 - 11:47
Permalink
I hope so! Let me know if I
I hope so! Let me know if I should add anything. I've tested every example and am using the Django plugin myself in a custom-written mini LMS (pathology training platform), so I will probably be adding more functionality, perhaps even contribute a few strange H5P content types of my own :-)
otacke
Fri, 01/23/2026 - 13:00
Permalink
Thanks! It's nothing that I
Thanks! It's nothing that I require myself, but I am glad that slowly more and more developers publish things for H5P.