edX API scraper
edX API scraper
/edx/v1/search1 creditSearch the edX catalogue by keyword (any topic, skill, tool or course/program title — 'python', 'machine learning', 'data science', 'cybersecurity', 'finance'). Returns a paginated list of result cards: name, url, type (course / program / executive education / degree), partner, level, languages, subjects, duration, effort, price, skills and enrollment. Optional filters: level, type, program_type, language, subject, partner, availability. Page with `page` (20 per page); meta.has_more / meta.total_count tell you how many. Feed a result's slug/url into the detail action.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | What to search edX for — a topic, skill, tool or course/program title ('python', 'machine learning', 'excel', 'cybersecurity', 'project management'). |
| level | optional | Introductory · Intermediate · Advanced | Filter by difficulty: Introductory, Intermediate or Advanced. |
| type | optional | Course · Program · Executive Education · 2U Degree | Filter by product type: Course, Program, Executive Education or 2U Degree. |
| program_type | optional | Professional Certificate · MicroMasters · XSeries · MicroBachelors · Bachelors · Masters · Doctorate · Certificate | For programs, filter by program type: Professional Certificate, MicroMasters, XSeries, MicroBachelors, Bachelors, Masters, Doctorate, Certificate. |
| language | optional | — | Filter by course language (English, Spanish, French, Italian, Arabic, Portuguese, German, …). Use the subjects/partners-style facet names exactly. |
| subject | optional | — | Filter by subject area (Computer Science, Business & Management, Data Analysis & Statistics, Engineering, Economics & Finance, …). See the subjects action. |
| partner | optional | — | Filter by partner school/company exactly as named (Harvard University, MIT, IBM, Google Cloud, …). See the partners action. |
| availability | optional | Available now · Upcoming · Archived | Filter by availability: Available now, Upcoming or Archived. |
| page = 1 | optional | 1–200 | Result page (20 per page). Page until meta.has_more is false; meta.total_count / meta.total_pages tell you how many. |
/edx/v1/detail1 creditFull detail for one edX course OR program by slug or URL. For a course: level, languages, duration, effort, price, enrollment count, full description, what-you'll-learn, overview, prerequisites, syllabus, skills, subjects, partners, instructors (faculty) and course runs (sessions). For a program (professional certificate / MicroMasters / XSeries / degree): the same plus the list of courses inside it. Pass a search result's url or slug.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | optional | — | The course/program slug — the path of an edX URL after the domain (a search result's `slug`, e.g. 'learn/python/harvard-university-cs50-s-introduction-to-programming-with-python'). |
| url | optional | — | Alternatively a full edX course/program URL (a search result's `url`). |
/edx/v1/partnersfreeBrowse every school, university and company that publishes on edX (Harvard, MIT, IBM, Google Cloud, Stanford, Delft, …) with the number of courses/programs each offers. Use a partner name as the search `partner` filter.
Try in playground →/edx/v1/subjectsfreeBrowse edX's subject areas (Computer Science, Business & Management, Data Analysis & Statistics, Engineering, Economics & Finance, …) with the number of courses in each. Use a subject name as the search `subject` filter.
Try in playground →curl -X POST https://api.reefapi.com/edx/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"python"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}