Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Khan Academy API
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.
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).
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!
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.
Check out the API Explorer to see (and experiment with) all of our API calls. The explorer contains the latest documentation for each call.
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
This repository's source contains more detailed examples of using and authenticating against the API.
All API methods return JSONP if you add a callback parameter (
&callback=yourFunction) to your request.
The current API version is 1.0. The previous 0.1 version is now deprecated and unsupported.