API Anything

edX APIunofficial

Public provider course cards, course details and professional-certificate course membership from signed-out edX documents.

all live 3 operations, checked by the installs that call them.

Try it

Set up API Anything for your agents:

npx -y api-anything setup

Then 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-science

Operations

OperationMethodLoginWritesStatus
getCourse(subject, courseSlug) -> title, url, provider, description, level, language, learningOutcomes, prerequisites

Read public course description, learning outcomes, prerequisites, level and language from a linked edX course document.

GET no no Live0 confirmations
getProgramCourses(programSlug) -> title, url

List public professional-certificate program course members in source frontend order, with course identities for getCourse.

GET no no Live0 confirmations
listCourses(school) -> title, provider, url

List 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.

← All shared sites