Accessing Open edX content via API or in an IFrame

I am interested in using EdX to create content, but would like to access the course content on another site, using either an API or maybe embedding the EdX course in an IFrame.

I will need to do things like register users for courses and collect exam scores on the fly, behind the scenes. The 3rd-party site would need to display exam questions, play the course media and display other course content so that it appears seamlessly integrated with the 3rd party site.

Does anyone know if these things are possible with Open EdX? If so, what documentation is available to learn how to do this?

1 Like

Yes, these things are possible, but highly non-trivial.

Documentation is at https://docs.edx.org/ , in edx-platform itself, and on each installation of edx at /api-docs/ e.g. https://courses.edx.org/api-docs/

One example is the Open edX mobile app - it interacts through the platform entirely through APIs and iframes, so you can check out how it works as an example.

Also, the entire platform is being converted slowly to “micro-frontends” (MFEs), which interact with the platform only through REST APIs. As that work is completed, it will give you more examples of interacting with the platform through API only, and make it easier to swap out the existing MFEs for your custom frontend. At the very least you should find GitHub - edx/frontend-app-learning to be a useful example, as it uses APIs and iframes to display Open edX content.

https://www.labxchange.org/ is another example, which is built using Open edX. It’s closed-source, but it shows what else is possible.

1 Like

Thank you Braden!

Great info. That will get me on my way.

Hi, you can also use LTI to read content/exams from an external provider then reflect the progress to Openedx
try to follow these instructions below: