Khan Academy API

hblumberg edited this page Jun 4, 2015 · 18 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 the content covered by Khan Academy. You can use the names of each topic to discover the videos within individual topics (e.g. Overview and History of Algebra, Banking and Money, Circulatory and Pulmonary Systems, etc). Or, you can use the topic names to give you info about exercises for each (e.g. Trigonometric Functions, SAT Math Level 1, Tests for Convergence and Divergence, etc). You can also access the full Topictree (warning: ~30MB).

Exercises and videos are related, so you can make a specific api call to find out about an exercise like the Absolute Value Exercise and 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 by topic, 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/topictree, 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!