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

ParameterTypeValuesRequiredDefaultNotes
orgstringvarious

no

  
displaystringbrief | fullnobrief (multi), full (single) 
course_idcsvstringsno  
include_fieldscsvstringsno Request additional fields, returns null for fields not found
pageinteger1-Nno1Django REST Framework parameter
page_sizeinteger1-Nno20Django REST Framework parameter
pacingstringstringsno Request only courses with the specified pacing
modestringstringsno Request only courses with specific modes
subjectstringstringsno 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

FieldTypeBriefFullNotes
uristringxxFully-qualified URL for the Course About page
course_idstringxxFull course identifier (opaque key)
orgstringxx 
coursestringxx 
course_familystringxxCombines org and course into a key that can be matched across runs
runstringxx 
namestringxx 
startdatetimexx 
enddatetimexx 
short_descriptionstringxx 
mediadictxx 
media.xxxxxdictxxEx: ''video', 'image'
media.xxxxx.uristringxx 
media.xxxxx.namestringxx 
media.xxxxx.descriptionstringxx 
media.xxxxx.typestringxxEx: 'youtube', 'brightcove'
staffarrayxx 
staff[n].namestringxx 
staff[n].uristringxx 
staff[n].mediadict x 
staff[n].media.xxxxxdict xEx: 'video', 'image'
staff[n].media.xxxxx.uristring x 
staff[n].media.xxxxx.name

string

 x 
staff[n].media.xxxxx.descriptionstring x 
staff[n].media.xxxxx.typestring xEx: 'youtube', 'large'
pricestringxxPrice of the course in US dollars
subjectsarray  x 
subjects[n].titlestring  
subjects[n].uristring  
subjects[n].languagestring  
leveldict  
level.titlestring  
level.uristring x 
languagesarray  
languages.xxdict  
languages.xx.titlestring  
languages.xx.uristring x 
pacingenumxxPossible values: ("self", "instructor")
modeenumxxPossible values: ("honor", "audit", "verified", "credit")
xseriesstringxxWhich Xseries this course is a part of, if any
lengthstring x 
effortstring x 
prerequisitesstring x