Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Khan Academy API

Alan Pierce edited this page · 16 revisions

The Khan Academy API gives developers access to nearly all types of Khan Academy data via a RESTful API that outputs easy-to-parse JSON.

Overview

At the highest levels, the API will give you information about Every Playlist. You can use the titles of each playlist to discover the videos within individual playlists (i.e. Algebra, Banking and Money, Biology, etc). Or, you can use the playlists to give you info about exercises for each (i.e. Precalculus, Trigonometry, Arithmetic, etc).

Exercises and Videos are related, so you can make a specific api call to find out about a video like Absolute Value or you can ask for that video's related exercises.

Similarly, you can ask about the Absolute Value Exercise and in much the same way as in the video example above, find the exercise's related videos.

You can use these unauthenticated api calls to get information about nearly all of the Khan Academy's library organized in Playlists, or as individual videos or exercises. In addition, you can also retrieve information about the Badges we award via the exercise dashboard.

Authenticated api calls will give you information about the logged in user (either a student or a coach/parent), such as videos seen, exercises completed, playlist progress and so forth. This repository's README includes helpful instructions (and a python script) for authenticated api calls. Try it out!

Getting Started

Just point your browser at http://www.khanacademy.org/api/v1/playlists, and you've already made your first API call. Pretty easy. You have instant access to all of our public playlist and exercise data, and once authenticated you can access private user data and history.

Methods

Check out the API Explorer to see (and experiment with) all of our API calls. The explorer contains the latest documentation for each call.

Authentication

The Khan Academy API uses an OAuth flow for authenticating users. You don't have to authenticate unless you're trying to access user-specific data, like /api/v1/user/exercises.

Examples

This repository's source contains more detailed examples of using and authenticating against the API.

Other

JSONP

All API methods return JSONP if you add a callback parameter (&callback=yourFunction) to your request.

Version

The current API version is 1.0. The previous 0.1 version is now deprecated and unsupported.

Terms of Service and Brand Usage Policy

And finally, what you've all been waiting for...the Khan Academy API Terms of Service and Trademark and Brand Usage Policy!

Something went wrong with that request. Please try again.