Can I use openedx course as an embed in my website?

Hey Guys. Can someone provide any leads as to how do I embed an openedx course as an iframe in my website?

I have a page wherein I’m trying to fetch courses by API and populate a list. As new courses get added to the LMS my site would automatically update the list. How can I get an embed link to a course?

Also I found that the GET “api/courses/v1/courses?course_id=xxxx” is returning all courses. I’m using same key course_id as returned in fetching all courses.

Hi @Mukesh_Chawla, that depends a lot on what you are trying to achieve. You’ll need to define the requirements a lot better, and if your project is as complex as it sounds, it may be helpful to consult with an expert in more detail.

Do you need reporting of user results back to your website? Do you want users to be logged in, or just see an “anonymous” read-only view of the course? If users need to log in and enroll in courses, do you want that to happen within the iframe? Are you using SSO? Will you manage enrollments with an API or do you need auto-enroll on course access?

1: If you want to have enrollment and authentication within the iframe, you can literally just embed the LMS URL in an iframe, no special code needed.

2: If you want to hide the LMS header/footer, you’ll need to somehow manage the authentication yourself; one option would be to use LTI instead of a plain iframe, and then you can use LTI to embed the root course XBlock into your website, with authentication taken care of (but you’d still have to manage enrollment using an API).

3: Another option is to use the “chromeless” XBlock view to display the root course XBlock on your site; this is the same webview that the mobile app uses, and will display the course on your site but won’t handle user authentication nor enrollment.

And in either case 2 or this case 3, there would be no access to any tab of the course other than the courseware (no discussions, instructor dashboard, handouts, etc.).

4: Some people have even used the SCORM API to embed a whole course into another LMS, but I would recommend LTI or plain iframes instead as SCORM is a pain to work with.