/
Course Discovery API
Course Discovery API
Multiple: /api/courses/v0/courses/
Returns a list of JSON representations of courses in the edX Platform, constrained by organization.
Single: /api/courses/v0/courses/{course_id}/
Returns the JSON representation for a single course
Available Query Parameters
Parameter | Type | Values | Required | Default | Notes |
---|---|---|---|---|---|
org | string | various | no | ||
display | string | brief | full | no | brief (multi), full (single) | |
course_id | csv | strings | no | ||
include_fields | csv | strings | no | Request additional fields, returns null for fields not found | |
page | integer | 1-N | no | 1 | Django REST Framework parameter |
page_size | integer | 1-N | no | 20 | Django REST Framework parameter |
pacing | string | strings | no | Request only courses with the specified pacing | |
mode | string | strings | no | Request only courses with specific modes | |
subject | string | strings | no | Request only courses on specific subjects |
Detailed Examples
Course Metadata Endpoint, Multiple
GET /api/courses/v0/courses/?page_size=1
{ "count": 2, "next": "http://0.0.0.0:8000/api/course_metadata/v0/courses/?org=edX&page=2&page_size=1, "previous": null, "num_pages": 2, "results": [ { "uri": "http://0.0.0.0:8000/api/course_metadata/v0/courses/MITx/4.605x_2/3T2014/", "id": "MITx/4.605x_2/3T2014", "org": "MITx", "course": "4.605x_2", "run": "3T2014", "name": "A Global History of Architecture: Part 1", "start_date": "2014-09-23T14:00:00Z", "end_date": "2014-12-11T05:00:00Z", "short_description": "This is the short description for the edX Demonstration Course", "media": { "video": { "uri": "http://media.edx.org/courses/edX/Demo/Course/videos/promo.mov", }, "image": { "uri": "http://media.edx.org/courses/edX/Demo/Course/images/promo.png", }, }, "purchase_url": "http://shop.edx.org/courses/edX/Demo/Course/purchase" "due": null, "staff":[ { "name": "Professor Smith", "image_url": "http://media.edx.org/courses/edX/Demo/Course/images/smith.png", "description": "Professor Smith is the lead researcher for this topic." }, { "name": "Assistant Ben", "image_url": "http://media.edx.org/courses/edX/Demo/Course/images/ben.png", "description": "Assistant Ben does a lot of the day-to-day work." } ], "price": "999.00" }, {...} ] }
Course Metadata Endpoint, Single
GET /api/courses/v0/courses/MITx/4.605x_2/3T2014/
{ "uri": "http://0.0.0.0:8000/api/course_metadata/v0/courses/MITx/4.605x_2/3T2014/", "id": "MITx/4.605x_2/3T2014", "org": "MITx", "course": "4.605x_2", "run": "3T2014", "name": "A Global History of Architecture: Part 1", "start_date": "2014-09-23T14:00:00Z", "end_date": "2014-12-11T05:00:00Z", "short_description": "This is the short description for the edX Demonstration Course", "media": { "video": { "uri": "http://media.edx.org/courses/edX/Demo/Course/videos/promo.mov", }, "image": { "uri": "http://media.edx.org/courses/edX/Demo/Course/images/promo.png", }, }, "purchase_url": "http://shop.edx.org/courses/edX/Demo/Course/purchase" "due": null, "staff":[ { "name": "Professor Smith", "image_url": "http://media.edx.org/courses/edX/Demo/Course/images/smith.png", "description": "Professor Smith is the lead researcher for this topic." }, { "name": "Assistant Ben", "image_url": "http://media.edx.org/courses/edX/Demo/Course/images/ben.png", "description": "Assistant Ben does a lot of the day-to-day work." } ], "price": "999.00" }
Complete Field List
Field | Type | Brief | Full | Notes |
---|---|---|---|---|
uri | string | x | x | Fully-qualified URL for the Course About page |
course_id | string | x | x | Full course identifier (opaque key) |
org | string | x | x | |
course | string | x | x | |
course_family | string | x | x | Combines org and course into a key that can be matched across runs |
run | string | x | x | |
name | string | x | x | |
start | datetime | x | x | |
end | datetime | x | x | |
short_description | string | x | x | |
media | dict | x | x | |
media.xxxxx | dict | x | x | Ex: ''video', 'image' |
media.xxxxx.uri | string | x | x | |
media.xxxxx.name | string | x | x | |
media.xxxxx.description | string | x | x | |
media.xxxxx.type | string | x | x | Ex: 'youtube', 'brightcove' |
staff | array | x | x | |
staff[n].name | string | x | x | |
staff[n].uri | string | x | x | |
staff[n].media | dict | x | ||
staff[n].media.xxxxx | dict | x | Ex: 'video', 'image' | |
staff[n].media.xxxxx.uri | string | x | ||
staff[n].media.xxxxx.name | string | x | ||
staff[n].media.xxxxx.description | string | x | ||
staff[n].media.xxxxx.type | string | x | Ex: 'youtube', 'large' | |
price | string | x | x | Price of the course in US dollars |
subjects | array | x | ||
subjects[n].title | string | x | ||
subjects[n].uri | string | x | ||
subjects[n].language | string | x | ||
level | dict | x | ||
level.title | string | x | ||
level.uri | string | x | ||
languages | array | x | ||
languages.xx | dict | x | ||
languages.xx.title | string | x | ||
languages.xx.uri | string | x | ||
pacing | enum | x | x | Possible values: ("self", "instructor") |
mode | enum | x | x | Possible values: ("honor", "audit", "verified", "credit") |
xseries | string | x | x | Which Xseries this course is a part of, if any |
length | string | x | ||
effort | string | x | ||
prerequisites | string | x |
, multiple selections available,
Related content
Analytics Data API - Paginated Course Summaries
Analytics Data API - Paginated Course Summaries
More like this
How to authenticate and query edX APIs with Postman
How to authenticate and query edX APIs with Postman
Read with this
edx-search testing
edx-search testing
More like this
Course Discovery RDB Model
Course Discovery RDB Model
Read with this
2015.07.01 Course Blocks and Navigation API
2015.07.01 Course Blocks and Navigation API
More like this
Tutor: Developing with Course Discovery
Tutor: Developing with Course Discovery
Read with this