Media, Film & Knowledge

edX API

The edX API returns online-course catalog data as clean JSON.

4 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary search endpoint returns courses and programs with id, name, URL, type, program type, partner(s), level, languages and subject, and you can pull a detail, partners and subjects. It is built for education apps, course-aggregators and learning tools that need edX catalog data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/edx/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "python"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "edx",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1079.4,
    "record_count": 20,
    "bytes": 165729,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "method": "algolia_product_index",
    "page": 1,
    "total_count": 324,
    "total_pages": 17,
    "has_more": true,
    "next_page": 2
  },
  "data": {
    "results": [
      {
        "id": "2cc794d0-316d-42f7-bbfd-25c34e4cd5df",
        "object_id": "course-2cc794d0-316d-42f7-bbfd-25c34e4cd5df",
        "name": "[redacted-name]",
        "type": "Course",
        "program_type": "Professional Certificate",
        "url": "https://www.edx.org/learn/python/harvard-university-cs50-s-introduction-to-programming-with-python",
        "slug": null,
        "partner": "Harvard University",
        "partners": [
          "Harvard University"
        ],
        "level": "Introductory",
        "languages": [
          "English"
        ],
        "subjects": [
          "Computer Science",
          "Data Analysis & Statistics"
        ],
        "availability": [
          "Available now"
        ],
        "weeks_to_complete": 10,
        "min_effort": 3,
        "max_effort": 9,
        "subscription_eligible": null,
        "recent_enrollment_count": 163337,
        "skills": [
          "Debugging",
          "Python (Programming Language)",
          "Boolean Expression"
        ],
        "image": "https://prod-discovery.edx-cdn.org/media/course/image/2cc794d0-316d-42f7-bbfd-25c34e4cd5df-033e46d516c0.png",
        "short_description": "An introduction to programming using Python, a popular language for general-purpose programming, data science, web programming, and more."
      },
      {
        "id": "381a0046-5d[redacted-phone]d59f48e",
        "object_id": "course-381a0046-5d[redacted-phone]d59f48e",
        "name": "[redacted-name]",
        "type": "Course",
        "program_type": "Professional Certificate",
        "url": "https://www.edx.org/learn/python/ibm-python-basics-for-data-science",
        "slug": null,
        "partner": "IBM",
        "partners": [
          "IBM"
        ],
        "level": "Intermediate",
        "languages": [
          "English"
        ],
        "subjects": [
          "Data Analysis & Statistics",
          "Engineering",
          "Computer Science"
        ],
        "availability": [
          "Available now"
        ],
        "weeks_to_complete": 3,
        "min_effort": 4,
        "max_effort": 10,
        "subscription_eligible": null,
        "recent_enrollment_count": 10162,
        "skills": [
          "Data Science",
          "Python (Programming Language)",
          "Machine Learning"
        ],
        "image": "https://prod-discovery.edx-cdn.org/media/course/image/381a0046-5d[redacted-phone]d59f48e-e2e7f4677ce2.jpeg",
        "short_description": "This Python course provides a beginner-friendly introduction to Python for Data Science. Practice through lab exercises, and you'll be ready to create your first Python scripts on your own!"
      },
      {
        "id": "956319ec-[redacted-phone]bc6-32c9a9aea5e9",
        "object_id": "course-956319ec-[redacted-phone]bc6-32c9a9aea5e9",
        "name": "[redacted-name]",
        "type": "Course",
        "program_type": "XSeries",
        "url": "https://www.edx.org/learn/computer-science/massachusetts-institute-of-technology-introduction-to-computer-science-and-programming-using-python",
        "slug": null,
        "partner": "Massachusetts Institute of Technology",
        "partners": [
          "Massachusetts Institute of Technology"
        ],
        "level": "Introductory",
        "languages": [
          "English"
        ],
        "subjects": [
          "Computer Science",
          "Engineering",
          "Science"
        ],
        "availability": [
          "Archived"
        ],
        "weeks_to_complete": 9,
        "min_effort": 14,
        "max_effort": 16,
        "subscription_eligible": null,
        "recent_enrollment_count": 7213,
        "skills": [
          "Data Science",
          "Python (Programming Language)",
          "Sales"
        ],
        "image": "https://prod-discovery.edx-cdn.org/media/course/image/956319ec-[redacted-phone]bc6-32c9a9aea5e9-885268c71902.jpg",
        "short_description": "An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5."
      }
    ]
  }
}
Actions

What the edX API does

ActionDescriptionConcrete use caseKey params
searchSearch 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.Content platforms call search to search the edX catalogue by keyword (any topic, skill, tool or course/program title.query, level, type, program_type, language, ...
detailFull 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.Research tools call detail to get full detail for one edX course OR program by slug or URL.slug, url
partnersBrowse 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.Community analysts call partners to get browse every school, university and company that publishes on edX (Harvard, MIT, IBM, Google….none
subjectsBrowse 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.Media monitors call subjects to get browse edX's subject areas (Computer Science, Business & Management, Data Analysis & Statisti….none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/edx/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"python"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.edx.search with {"query":"python"}.
Use cases

Who uses this API and why

  • Course-aggregators call search to list edX courses and programs by subject and level.
  • Learning apps use detail to show course info, partner and language options.
  • Skills tools use subjects and partners to map learning paths across providers.
FAQ

Questions developers ask before integrating

What is the edX API?

edX API is a ReefAPI endpoint group for edx It returns live JSON through POST requests under /edx/v1.

Is the edX API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. edX calls use the same shared credit balance as every other ReefAPI engine.

Do I need a edX login or account?

No login to edX is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the edX data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the edX API use?

edX actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call edX from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call edx actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the edX API a edX scraper?

It is the managed alternative to a DIY edX scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same edx back as clean JSON.

Why does my edX scraper keep getting blocked?

Most edX scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / edx

edX

edX

base /edx/v14 endpoints
post/edx/v1/detail1 credit

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

ParameterAllowed / rangeDescription
slugoptionalThe 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').
urloptionalAlternatively a full edX course/program URL (a search result's `url`).
Try in playground →
post/edx/v1/partnersfree

Browse 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 →
post/edx/v1/subjectsfree

Browse 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 →