{"name":"edx","domain":"edx.org","baseUrl":"https://www.edx.org","displayName":"edX","description":"Public provider course cards, course details and professional-certificate course membership from signed-out edX documents.","notes":"# edX public courses\n\n`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.\n\n`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.\n\nDetails 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.\n\n`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.","operations":[{"hash":"ac1c6ea13ea6e84f9ff827668b13a55a865baecbfed0bf40a85314e00a135278","status":"live","confirmations":0,"operation":{"name":"getCourse","description":"Read public course description, learning outcomes, prerequisites, level and language from a linked edX course document.","request":{"method":"GET","url":"https://www.edx.org/learn/%7Bsubject%7D/%7BcourseSlug%7D","headers":{"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36","sec-ch-ua":"\"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"156\", \"Google Chrome\";v=\"156\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""}},"slots":[{"param":"subject","at":["path:1"]},{"param":"courseSlug","at":["path:2"]}],"volatile":[],"trigger":{"url":"https://www.edx.org/learn/{subject}/{courseSlug}"},"match":{"method":"GET","host":"www.edx.org","path":"/learn/*/*"},"response":{"format":"embedded","contentType":"text/html; charset=utf-8","extract":"@graph[1]","pick":["title=name","url","provider=provider[*].name","description","level=educationalLevel","language=inLanguage","learningOutcomes=teaches","prerequisites=coursePrerequisites"],"embedded":{"regex":"<script\\b[^>]*type=\"application/ld\\+json\"[^>]*>([\\s\\S]*?)</script>"}},"params":[{"name":"subject","type":"string","required":true,"description":"Subject segment from the same literal /learn/ course link as courseSlug. Do not combine independently.","example":"computer-science","pattern":"[a-z0-9-]+"},{"name":"courseSlug","type":"string","required":true,"description":"Course slug from the same literal /learn/ course link as subject.","example":"harvard-university-cs50-s-introduction-to-computer-science","pattern":"[a-z0-9-]+"}],"readOnly":true,"minTier":1,"learnedLoggedIn":false,"checks":[{"args":{"subject":"how-to-learn","courseSlug":"edx-how-to-learn-online"},"expect":"result","purpose":"The edX learning course differs in identity, description and learning outcomes from Harvard CS50."},{"args":{"subject":"python","courseSlug":"harvard-university-cs50-s-introduction-to-programming-with-python"},"expect":"result","purpose":"Held-out Harvard Python course from a literal provider course link."}]}},{"hash":"d06a009fafdee34ec37c2f2de4cb94fd092c48debf00076ed64f22201a8f2811","status":"live","confirmations":0,"operation":{"name":"getProgramCourses","description":"List public professional-certificate program course members in source frontend order, with course identities for getCourse.","request":{"method":"GET","url":"https://www.edx.org/certificates/professional-certificate/%7BprogramSlug%7D","headers":{"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36","sec-ch-ua":"\"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"156\", \"Google Chrome\";v=\"156\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""}},"slots":[{"param":"programSlug","at":["path:2"]}],"volatile":[],"trigger":{"url":"https://www.edx.org/certificates/professional-certificate/{programSlug}"},"match":{"method":"GET","host":"www.edx.org","path":"/certificates/professional-certificate/*"},"response":{"format":"embedded","contentType":"text/html; charset=utf-8","extract":"@graph[1][0][2].hasPart","pick":["title=name","url"],"embedded":{"regex":"<script type=\"application/ld\\+json\">([\\s\\S]*?)</script>"}},"params":[{"name":"programSlug","type":"string","required":true,"description":"Program slug from an actual /certificates/professional-certificate/ link.","example":"harvardx-computer-science-for-python-programming","pattern":"[a-z0-9-]+"}],"readOnly":true,"minTier":1,"learnedLoggedIn":false,"checks":[{"args":{"programSlug":"harvardx-computer-science-for-cybersecurity"},"expect":"result","purpose":"Cybersecurity membership differs from Python membership."},{"args":{"programSlug":"harvardx-computer-science-for-web-programming"},"expect":"result","purpose":"Held-out web programming program membership."}]}},{"hash":"c902277a35a0ebd67ca56d2d0aaf9f869f09bb0c4d0955c644eb32f030c5d116","status":"live","confirmations":0,"operation":{"name":"listCourses","description":"List initial server-rendered course cards for an edX provider. Programs and additional course pages are excluded.","request":{"method":"GET","url":"https://www.edx.org/school/%7Bschool%7D","headers":{"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36","sec-ch-ua":"\"Google Chrome\";v=\"155\", \"Chromium\";v=\"155\", \"Not(A:Brand\";v=\"24\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""}},"slots":[{"param":"school","at":["path:1"]}],"volatile":[],"trigger":{"url":"https://www.edx.org/school/{school}"},"match":{"method":"GET","host":"www.edx.org","path":"/school/*"},"response":{"format":"html","contentType":"text/html; charset=utf-8","html":{"items":"a[href^=\"/learn/\"]","fields":{"title":"span.font-bold","provider":"span.text-sm","url":"@href"}}},"params":[{"name":"school","type":"string","required":true,"description":"Provider slug from a public edX /school/ link, such as harvardx or edx.","example":"harvardx"}],"readOnly":true,"minTier":1,"learnedLoggedIn":false,"checks":[{"args":{"school":"edx"},"expect":"result","purpose":"The edX provider course cards differ from the Harvard University example."},{"args":{"school":"uc-berkeleyx"},"expect":"result","purpose":"Third provider has independently grounded initial course titles, provider labels and URLs."}]}}]}