Class Central Scraper avatar

Class Central Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Class Central Scraper

Class Central Scraper

Scrape Class Central's course meta-search index - search or browse courses from Coursera, edX, Udemy, YouTube and 100+ providers. Get ratings, reviews, level, language, pricing, syllabus, and provider detail. No login required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape Class Central — the course meta-search engine that indexes courses from Coursera, edX, Udemy, YouTube, Google, IBM, and 100+ other providers, with independent ratings and reviews. Search by keyword, browse by subject or provider, pull curated "Best of All Time" lists, or fetch full course detail (rating, reviews, syllabus, effort, pricing). HTTP-only, no login, no proxy required.

What this actor does

  • Six modes: search, bySubject, byProvider, byUniversity, collection, courseDetail
  • 92 curated subjects (Computer Science, Data Science, Business, Health, Humanities, and more), 104 providers (Coursera, Udemy, YouTube, Google Skills, Microsoft Learn, MIT OpenCourseWare, ...), and ~100 universities/institutions (Stanford, MIT, Oxford, Harvard, ...) as ready-to-pick dropdowns
  • Filters: level (beginner/intermediate/advanced), language (62 languages), duration/effort bucket, free-only, certificate-only, career-certificate-only, university-only, minimum rating, minimum number of ratings, and sort order
  • Course detail mode returns rating, review count, a sample of real user reviews, syllabus topic outline, effort/duration, session type, pricing, and institution (when university-affiliated)
  • Empty fields are omitted — you won't see null, "", or [] anywhere in the output

Output: course listing (mode = search / bySubject / byProvider / byUniversity / collection)

  • courseId, title, slug
  • courseUrl — canonical Class Central course page
  • imageUrl — course thumbnail
  • description — one-line course teaser
  • formatcourse, credential (nanodegree/professional certificate), specialization, etc.
  • levelbeginner / intermediate / advanced
  • language — course language
  • provider, providerUrl — the platform hosting the course (Coursera, Udemy, ...)
  • institution — university/partner name, when the course is university-affiliated
  • subject — Class Central's subject tag for this course
  • rating (0–5), numRatings
  • isFree, hasCertificate, isUniversityCourse
  • sessionTypeSelf-Paced or a specific session/date window
  • pricingLabel — e.g. Free Online Course, Paid Course
  • effort — e.g. 109 hours, when Class Central shows a workload estimate
  • rank — 1-based position in this run's result order
  • sourceMode — which mode produced this record (search / bySubject / byProvider / byUniversity / collection)
  • recordType: "courseListing", scrapedAt

Output: course detail (mode = courseDetail)

  • courseId, slug
  • title, courseUrl, imageUrl, description
  • provider, providerType (e.g. Nanodegree), currency, price (when a listed price exists)
  • institution, institutionUrl — university/academic partner and its Class Central page, when the course is university-affiliated (e.g. Coursera courses run by University of Michigan)
  • pricingLabel, languages, certificateLabel, certificateAvailable
  • effort — e.g. 109 hours
  • sessionTypeSelf-Paced or session dates
  • level
  • rating (0–5), numRatings
  • subjectTags — subject/topic breadcrumb leaves for this course
  • syllabus — ordered list of syllabus topic titles
  • reviews[] — sample of real user reviews: author, date, text, rating
  • recordType: "courseDetail", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / bySubject / byProvider / byUniversity / collection / courseDetail
searchQuerystringpythonKeyword query (mode=search)
subjectSlugstringSubject to browse (mode=bySubject); also narrows mode=collection
providerSlugstringProvider to browse (mode=byProvider)
universitySlugstringUniversity/institution to browse (mode=byUniversity)
collectionSlugstringtop-free-online-coursesWhich curated collection (mode=collection)
courseUrlsarrayCourse page URLs to fetch detail for (mode=courseDetail)
levelstringbeginner / intermediate / advanced
languagestringCourse language (62 supported)
durationstringEffort/workload bucket: <30 / 30-60 / 1-2 / 2-5 / 5-10 / 10+ (minutes/hours)
freeOnlybooleanfalseOnly free courses
certificateOnlybooleanfalseOnly courses offering a certificate
careerCertificateOnlybooleanfalseOnly courses offering a career/professional certificate
universityOnlybooleanfalseOnly university-affiliated courses
minRatingnumberOnly courses rated at or above this value (0–5); unrated courses excluded
minReviewsintegerOnly courses with at least this many ratings; unrated courses excluded
sortBystringrelevancyrelevancy / highestRated / lowestRated / recentlyAdded
maxItemsint30Hard cap on emitted records (1–500)

Example: search with filters

{
"mode": "search",
"searchQuery": "machine learning",
"level": "beginner",
"freeOnly": true,
"maxItems": 40
}

Example: browse a subject, sorted by rating

{
"mode": "bySubject",
"subjectSlug": "data-science",
"sortBy": "highestRated",
"certificateOnly": true,
"maxItems": 50
}

Example: browse a provider's catalog

{
"mode": "byProvider",
"providerSlug": "coursera",
"language": "spanish",
"maxItems": 30
}

Example: browse a university's catalog, highly-rated only

{
"mode": "byUniversity",
"universitySlug": "stanford",
"minRating": 4.5,
"minReviews": 20,
"maxItems": 30
}

Example: curated "Best of All Time" list for one subject

{
"mode": "collection",
"collectionSlug": "top-free-online-courses",
"subjectSlug": "cs",
"maxItems": 20
}

Example: full detail for specific courses

{
"mode": "courseDetail",
"courseUrls": [
"https://www.classcentral.com/course/udacity-intro-to-programming-nanodegree--nd000-18207"
]
}

Use cases

  • Edtech curriculum research — discover and compare courses across every major MOOC provider in one pass
  • Market intelligence — track which providers dominate a subject, and how their courses are priced and rated
  • Content aggregation — build a course-discovery feed filtered by level, language, or free/paid status
  • Review mining — pull real learner reviews for sentiment analysis or course-quality benchmarking
  • Corporate L&D — source free, certificate-bearing courses for employee upskilling programs

FAQ

What is the data source? The public classcentral.com website — a third-party course meta-search engine. This actor is not affiliated with Class Central or any course provider.

Does this require login or an API key? No. All modes work against Class Central's public pages with no authentication.

Why are some fields missing on some courses? Class Central sources course metadata from each provider, and not every provider supplies every field (e.g. price, institution, or duration). This actor omits any field it can't populate rather than showing an empty value.

What's the difference between subject (in course listings) and subjectTags (in course detail)? subject is the single subject tag Class Central assigns for catalog placement. subjectTags (course detail only) is the fuller set of topic breadcrumbs the course is filed under.

Are the reviews the full review history for a course? No — reviews[] returns the sample of reviews shown on the course's main page (up to 20), not a fully paginated review archive.

How fresh is the data? Every run scrapes Class Central live; there is no caching on this actor's side.

Why do courseUrl / providerUrl links return 403 when fetched with a plain script? Class Central fronts its pages with a TLS-fingerprint check that blocks simple HTTP clients (curl, requests, httpx) while allowing real browsers through transparently. Every URL in the output is a real, working Class Central page — opening it in any normal web browser works immediately. This actor itself uses a browser-matching HTTP client internally so it is unaffected.

Can I filter by duration/effort? Yes — the duration input filters by total workload bucket (<30 minutes up to 10+ hours), matching Class Central's own catalog filter. effort (the human-readable workload string, e.g. 109 hours) is also available as an output field on every listing and detail record.

What's the difference between provider/providerUrl and institution/institutionUrl in course detail? provider is the platform hosting the course (Coursera, Udacity, edX, ...). institution/institutionUrl is the university or academic partner that authored the course content, when applicable (e.g. a Coursera course run by the University of Michigan). Not every course has an institution — many platform-original courses (Udacity nanodegrees, YouTube videos) have no academic affiliation, so the field is omitted for those.