Coursera App Platform: Frequently Asked Questions
Q: What is the Coursera App Platform?
The App Platform is a set of APIs and services that enable third party developers to integrate with Coursera. The platform is comprised of:
- REST APIs enabling you to pull Coursera data into a 3rd party application or website. See list of APIs below
- JavaScript plugins/extensions let you customize and plug in to the Coursera class experience. Such extensions can be packaged for reuse by other courses.
- Convenient JavaScript APIs for all of Coursera’s REST APIs.
- MOOC-scale infrastructure to help you scale simple apps: server-side graders and a secure Key-Value store.
Q: What can I do with all these APIs?
Here are just a few ideas of what you could do:
- Integrate learning tools: externally launched via LTI or deeply integrated with our lecture/quiz system. Our new LTI 1.1 compliance would enable you to post simple grades back to Coursera.
- Via JavaScript extensions, you could
- Embed an app in Coursera in-video quizzes.
- Pull in the students’ Facebook friends who are also on Coursera.
- Embed a Twitter feed on the class home page
- Listen to forum posts and search an external knowledge base for answers to student-submitted questions.
- Build full-page apps on coursera.org (games, interactive exercises, etc)
- Synchronize Coursera enrollments with a third-party student information system
- Post questions to the Coursera forums from an external application or website
- Build simple apps entirely in JavaScript via JS APIs and our MOOC-scale infrastructure
Q: What types of REST APIs will be available?
This is not a finalized or comprehensive list. We may add/remove APIs to this list before the official platform launch.
- Student
- account/profile
- enrolled courses
- send message
- Course Catalog
- Search/browse
- Course info
- Instructor profiles
- Auth
- OpenID
- OAuth
- Course data
- syllabus/schedule
- lecture/subtitle info
- forum viewing/posting
- quiz question import/export
- Student course data
- student progress, activity
- assignment grade submissions
- peer grading submission
- user roles/permissions
- Authorization via OAuth
- Note that not all APIs will be available to all apps in all courses. Some instructors may choose to restrict app access to features like quiz import/export or assignment submission.
Q: What about student privacy?
Coursera is a global educational platform and we’re committed to maintaining student privacy. Our APIs, with explicit permission, may expose personal data like student personal information (such as their name) or course progress. Via OAuth, students will be able to control how external applications access their Coursera data. Country-specific laws (such as FERPA in the US) will be rigorously adhered to and student consent will always be obtained when necessary. See our privacy policy for more details.
Q: Are there any constraints on my application architecture?
- For server-side apps, there are no constraints on architecture/language/infrastructure so long as the app can handle 1000s of concurrent users (“MOOC-scale”)
- Client-side JavaScript apps should be written using modern web standards and should be built to work with modern browsers. They should degrade gracefully when certain browser features are missing.
- We discourage the use of Flash, Silverlight or related rich client technologies for learning tools, as it won’t run on iOS.
Q: How much support will Coursera provide for the development, scaling, testing and integration of the app into the platform.
Coursera will be launching a developer portal with platform documentation, an API explorer, downloadable SDKs and developer forums that will be actively monitored by Coursera engineering staff. We will publish best practices and guidelines on how to test and scale your apps.
Q: Where can I learn more?
Coursera did technical session at our Partner’s Conference in April. Most of the information is summarized in this FAQ, but you may find the slides interesting as well.
Q: I’m interested in developing on the Platform. How do I get started?
The App Platform is currently under development and we’re looking for a set of partners to launch with us in a closed beta later this year. If you’re interested in working with us, please fill out our survey. Thanks for your interest!