edX APIunofficial
Public provider course cards, course details and professional-certificate course membership from signed-out edX documents.
- edx.org
all live 3 operations, checked by the installs that call them.
Try it
Set up API Anything for your agents:
npx -y api-anything setupThen ask your agent, which finds this site by itself, or call it from a shell:
api-anything pull edx
api-anything call edx getCourse subject=computer-science courseSlug=harvard-university-cs50-s-introduction-to-computer-scienceOperations
| Operation | Method | Login | Writes | Status |
|---|---|---|---|---|
getCourse(subject, courseSlug) -> title, url, provider, description, level, language, learningOutcomes, prerequisitesRead public course description, learning outcomes, prerequisites, level and language from a linked edX course document. |
GET | no | no | Live0 confirmations |
getProgramCourses(programSlug) -> title, urlList public professional-certificate program course members in source frontend order, with course identities for getCourse. |
GET | no | no | Live0 confirmations |
listCourses(school) -> title, provider, urlList initial server-rendered course cards for an edX provider. Programs and additional course pages are excluded. |
GET | no | no | Live0 confirmations |
Notes
edX public courses
listCourses(school) lists initial provider course cards. Use a slug from an actual /school/ link. Pagination and complete catalog coverage are excluded. Empty or removed provider pages have no established empty-result contract.
getCourse(subject, courseSlug) reads public structured course metadata. Take both arguments together from one actual /learn/{subject}/{courseSlug} URL returned by listCourses. Arbitrary combinations are unproved. Provider names and learning outcomes retain source order. Prerequisites are the source statements, including “None” when supplied. Language is the source language code. Missing source fields may be absent.
Details come from the document’s Course JSON-LD, not a fully hydrated course interface. Neither operation establishes enrollment availability, free access, price, completion, or access to course content. Course dates, duration and workload are excluded.
getProgramCourses(programSlug) lists course members of the observed professional-certificate route, in the document's supplied frontend course order. Use a slug from a literal program link. Course URLs retain the source's double slash before learn. Take subject and courseSlug together from the two segments following /learn/ to call getCourse; do not send the double-slash URL as a detail request. Membership order does not establish prerequisites or required sequencing. Full curriculum, certificate rights, prices and enrollment guarantees are unproved.
About these operations
Each operation is a request learned from edX's own web pages: API Anything replays it over plain HTTP and falls back to a browser when it must. Read them as JSON.