edX Course Scraper avatar

edX Course Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
edX Course Scraper

edX Course Scraper

[๐Ÿ’ฐ $2.5 / 1K] Extract edX courses, programs, executive education, and online degrees โ€” titles, partner schools, skills, difficulty level, pacing, duration, language, and enrollment counts. Search by keyword or paste edX URLs.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Pull the full edX catalog into clean, structured rows โ€” courses, programs, executive education, and online degrees, each with its school, skills taught, difficulty level, pacing, weekly effort, language, availability, and recent enrollment counts. Search by keyword or paste edX links, and get one flat row per product. Built for edtech market researchers, course-directory builders, and learning & development teams who need edX catalog data at scale without copy-pasting product pages one at a time.

Why This Scraper?

  • All four edX content types in one run โ€” Courses, Programs (Professional Certificate, MicroMasters, XSeries), Executive Education, and Online Degrees, each tagged with a recordType discriminator so you can split them downstream.
  • 15 course languages and 3 difficulty levels โ€” filter to English, Spanish, French, Chinese, Arabic, Japanese, Portuguese, Korean, and 7 more, at Introductory, Intermediate, or Advanced.
  • Recent enrollment counts on every product โ€” a live demand signal (recentEnrollmentCount) showing how many learners recently signed up, captured on every course, program, and degree.
  • Two-level skills taxonomy on every product โ€” each course and program carries both a flat skills list and a structured skillsData tree (skill โ†’ category โ†’ subcategory), ready for taxonomy mapping, skills-gap analysis, or curriculum matching.
  • Partner-school name and logo โ€” the offering institution plus its logo image URL for Harvard, MIT, Berkeley, and 200+ other edX partners.
  • Effort and pacing on a single row โ€” self-paced vs. instructor-led, estimated weeks to complete, and minimum/maximum weekly hours, so you can rank offerings by time commitment.
  • Beat the 1,000-per-query ceiling โ€” leave the content-type filter empty and each of the four types is searched separately, returning up to 4,000 products for one broad keyword.
  • Flat, one-row-per-product output โ€” every field sits at the top level with no nested blobs, so results drop straight into Google Sheets, Excel, or a BI table.
  • Short, full, and overview descriptions โ€” a clean plain-text summary alongside the complete description and course overview for every product.

Use Cases

Edtech Market Research

  • Size the online-learning market by subject, school, or content type
  • Track how many programs each partner institution offers on edX
  • Rank subjects by learner demand using recent enrollment counts
  • Map language coverage across the catalog to spot localization gaps

Competitive Intelligence

  • Monitor a competing institution's new courses, programs, and degrees
  • Benchmark pricing and pacing against comparable offerings
  • Detect emerging topics from a burst of newly listed products
  • Compare executive-education portfolios across business schools

Course Aggregators & Directories

  • Populate a course-comparison site with fresh, structured catalog data
  • Keep listings current with weekly re-runs on the same keywords
  • Enrich existing directory entries with skills, effort hours, and levels
  • Build subject-specific landing pages from a single keyword search

Lead Generation for Edtech

  • Identify partner schools and programs for affiliate or content partnerships
  • Build outreach lists of institutions active in a given subject area
  • Surface high-enrollment programs worth featuring or promoting

Learning & Development / Content Curation

  • Curate approved course lists for employee upskilling by level and language
  • Match internal skills frameworks to courses that teach those skills
  • Compare weekly time commitment across candidate programs
  • Assemble localized catalogs for regional teams using the language filter

Getting Started

The simplest run โ€” one topic, up to 100 products:

{
"searchQueries": ["data science"],
"maxResults": 100
}

Filtered Search (Content Type + Level + Language)

Narrow to introductory English courses and programs on a topic:

{
"searchQueries": ["business analytics"],
"contentType": ["course", "program"],
"level": ["Introductory"],
"language": ["English"],
"maxResults": 200
}

Paste edX URLs directly โ€” a search results page and a single course page in one run:

{
"startUrls": [
"https://www.edx.org/search?q=artificial+intelligence",
"https://www.edx.org/learn/computer-science/harvard-university-cs50-s-introduction-to-computer-science"
],
"maxResults": 150
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchQueriesstring[]["data science"]Keyword searches such as "data science", "python", or a school name like "Harvard". Each query is searched separately. Leave empty if you are only using Start URLs below.
startUrlsstring[][]Paste edX URLs directly โ€” search result pages, subject/category pages, or individual course, program, or degree pages. Leave empty if you are only using Search Queries.

Filters

Filters apply to keyword searches. Leave a filter empty to include everything.

ParameterTypeDefaultDescription
contentTypeselect[]["course"]Which product types to include: Courses; Programs (Professional Certificate, MicroMasters, XSeries); Executive Education; Online Degrees. Leave empty to include all four types.
levelselect[][]Only include products at these difficulty levels: Introductory, Intermediate, Advanced. Empty means all levels.
languageselect[][]Only include products taught in these languages โ€” 15 options including English, Spanish, French, Chinese, Arabic, and Japanese. Empty means all languages.

Limits

ParameterTypeDefaultDescription
maxResultsinteger100Maximum products to return in total across all queries and URLs. Set to 0 for unlimited. edX returns up to 1,000 products per keyword for a single content type; leaving the content-type filter empty searches all four types separately, so a broad keyword can return up to 4,000. Start with 50โ€“100 to test.

Output

Every row carries a recordType field โ€” course, program, executive_education, or degree โ€” over one shared, flat schema. Program rows add a few program-specific fields, and executive-education and degree rows add an externalUrl.

Course (recordType: "course")

{
"recordType": "course",
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"title": "CS50's Introduction to Computer Science",
"url": "https://www.edx.org/learn/computer-science/harvard-university-cs50-s-introduction-to-computer-science",
"productType": "Course",
"partnerName": "Harvard University",
"partnerLogoUrl": "https://prod-discovery.edx-cdn.org/organization/logos/harvard.png",
"subjects": ["Computer Science"],
"skills": ["Algorithms", "Data Structures", "SQL", "Web Development"],
"skillsData": [
{ "skill": "Algorithms", "category": "Information Technology", "subcategory": "Software Development" },
{ "skill": "SQL (Programming Language)", "category": "Information Technology", "subcategory": "Query Languages" }
],
"level": ["Introductory"],
"pacing": ["self_paced"],
"weeksToComplete": 11,
"minHoursPerWeek": 6,
"maxHoursPerWeek": 18,
"languages": ["English"],
"availability": ["Available now"],
"isActive": true,
"isPartOfProgram": false,
"recentEnrollmentCount": 154236,
"staff": ["david-j-malan", "doug-lloyd"],
"imageUrl": "https://prod-discovery.edx-cdn.org/media/course/image/cs50.jpg",
"shortDescription": "An introduction to the intellectual enterprises of computer science and the art of programming.",
"fullDescription": "<p>This is CS50, Harvard University's introduction to the intellectual enterprises of computer science...</p>",
"overview": "<p>Learn how to think algorithmically and solve problems efficiently.</p>",
"translationLanguages": ["Spanish", "French"],
"price": 0,
"currency": "USD",
"sourceUrl": "https://www.edx.org/search?q=computer science",
"seedType": "search",
"seedValue": "computer science"
}

Program (recordType: "program")

Program rows share the core fields above and add course-membership details:

{
"recordType": "program",
"id": "9f8e7d6c-1234-5678-9abc-def012345678",
"title": "Professional Certificate in Data Science",
"productType": "Professional Certificate",
"partnerName": "Harvard University",
"level": ["Introductory", "Intermediate"],
"courseCount": 9,
"courseUuids": ["11111111-...", "22222222-...", "33333333-..."],
"weeksToCompleteMin": 8,
"weeksToCompleteMax": 16,
"tags": ["Data Science", "Statistics"],
"recentEnrollmentCount": 48210,
"seedType": "search",
"seedValue": "data science"
}

Executive-education and online-degree rows carry the same core fields plus an externalUrl pointing to the program's landing page.

Core Product Fields

FieldTypeDescription
recordTypestringcourse, program, executive_education, or degree
idstringedX product UUID (dedup key is recordType:id)
titlestringProduct title
urlstringedX product page URL
productTypestringedX's own label (e.g. "Course", "Professional Certificate")
partnerNamestringOffering school or institution
partnerLogoUrlstringPartner logo image URL
subjectsstring[]Subject / category tags
skillsstring[]Skills taught (flat list)
skillsDataobject[]Skills taxonomy โ€” one { skill, category, subcategory } object per skill
levelstring[]Difficulty level(s)
languagesstring[]Language(s) of instruction
availabilitystring[]e.g. "Available now", "Starting soon", "Archived"
isActivebooleanWhether the product is currently active
isPartOfProgrambooleanWhether the course belongs to a program

Effort, Pacing & Pricing

FieldTypeDescription
pacingstring[]self_paced or instructor_paced
weeksToCompletenumberEstimated weeks to complete
minHoursPerWeeknumberMinimum effort hours per week
maxHoursPerWeeknumberMaximum effort hours per week
recentEnrollmentCountnumberRecent enrollment count (demand signal)
pricenumberVerified/paid track price when present
currencystringCurrency code for price

Content & Media

FieldTypeDescription
imageUrlstringProduct card / hero image URL
staffstring[]Instructor / staff identifiers
shortDescriptionstringPlain-text short description
fullDescriptionstringFull description (HTML)
overviewstringProduct overview (HTML)
translationLanguagesstring[]AI-translation languages offered

Program & Provenance Fields

FieldTypeDescription
courseCountnumberPrograms only โ€” number of courses in the program
courseUuidsstring[]Programs only โ€” UUIDs of the included courses
weeksToCompleteMinnumberPrograms only โ€” minimum weeks across courses
weeksToCompleteMaxnumberPrograms only โ€” maximum weeks across courses
tagsstring[]Programs only โ€” tag labels
externalUrlstringExecutive Education / Online Degrees only โ€” external landing-page URL
sourceUrlstringSearch or discovery page the record was found on
seedTypestringsearch or url โ€” how the record was reached
seedValuestringThe query text or URL that produced this record

Tips for Best Results

  • Start small. Set maxResults to 50โ€“100 on your first run to confirm the data matches your needs, then scale up.
  • Leave the content type empty to break the 1,000-per-query ceiling. With no contentType filter, all four product types are searched separately, so a broad keyword can return up to 4,000 products instead of 1,000.
  • Build localized catalogs with the language filter. The 15 language options map to edX's own catalog facets โ€” set language to ["Spanish"] to pull a Spanish-only catalog in one pass.
  • Narrow broad keywords. A term like "business" returns the maximum window; "business analytics for managers" gives a tighter, more relevant set.
  • Rank by demand. Sort your dataset by recentEnrollmentCount (descending) to surface the most popular offerings first โ€” ideal for featuring or curation.
  • Combine searches and links. Mix searchQueries and startUrls in a single run to cover keyword discovery and specific product pages at once.
  • Filter by level for curriculum planning. Use level to separate Introductory offerings from Advanced ones when assembling role-based learning tracks.

Pricing

From $2.50 per 1,000 results โ€” a flat pay-per-result rate that undercuts comparable edX extractors. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.30$0.28$0.27$0.25
1,000$3.00$2.80$2.65$2.50
10,000$30.00$28.00$26.50$25.00
100,000$300.00$280.00$265.00$250.00

A "result" is any product row in the output dataset โ€” a course, program, executive-education course, or online degree. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor is designed for legitimate market research, competitive analysis, course-directory building, and learning & development use. Users are responsible for complying with applicable laws and edX's terms of service, including making reasonable-rate requests and respecting content usage rules for any material linked from edX. Do not use extracted data for spam, harassment, or any illegal purpose.