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

 

 

subjects[n].uri

string

 

 

subjects[n].language

string

 

 

level

dict

 

 

level.title

string

 

 

level.uri

string

 

x

 

languages

array

 

 

languages.xx

dict

 

 

languages.xx.title

string

 

 

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

 

Comments