Coursera Course & Specialization Catalog Scraper avatar

Coursera Course & Specialization Catalog Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Coursera Course & Specialization Catalog Scraper

Coursera Course & Specialization Catalog Scraper

Search Coursera's course and specialization catalog by keyword, difficulty or partner university, with rating, learner count, enrollment type and course links.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Nimbryxo-studio

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Features

Limited permissions

Share

Coursera publishes tens of thousands of learning products: individual courses, multi-course specializations, professional certificates, guided projects, degrees and shorter credentials. This actor turns that public catalog into structured records you can filter, compare and export. Give it a keyword, a category, a university, a slug or a URL, and it returns the matching products with ratings, skills, providers, level, duration, language coverage, access flags and direct links.

Optional detail enrichment adds the parts that only exist on each product page: instructors, module-by-module syllabus, lecture durations, total enrollment, monthly page views, star distribution, top reviews, learning objectives and recommended background.

What this actor does

  • Keyword search across every Coursera learning product type
  • Category (topic) browse and partner/university browse
  • Slug, URL and product-ID lookups
  • All 10 live product types: courses, specializations, guided projects, projects, professional certificates, degrees, graduate certificates, MasterTrack certificates, university certificates and postgraduate diplomas
  • Filters for level, duration band, cost label, topic, content language, subtitle language, hands-on learning format, tool/software, partner, skill and Coursera Plus inclusion
  • Best-match and newest ordering
  • Optional instructor, syllabus, enrollment, page-view, rating-breakdown and review fields
  • Search rank and page metadata so repeated runs can be compared

Modes

ModeRequired inputWhat it does
searchqueryKeyword search with every filter
byCategorytopicsBrowse one or more subject areas; query is optional
byPartnerpartnersBrowse a university or company; query is optional
bySlugslugsLook up products by slug (a full URL also works)
byUrlstartUrlsProduct URLs return one detail record; search or /courses?query= URLs become catalog queries
byIdsproductIdsLook up course~... and s12n~... product IDs
browsenoneTop products with filters and no keyword
searchSpecializationsqueryLegacy alias for a search limited to specializations and professional certificates

Lookup modes (bySlug, byUrl, byIds) always return detail fields. Search modes return detail fields only when includeDetails is true.

Input

FieldTypeDefaultNotes
modedropdownsearchOne of the eight modes above
querytextemptyRequired for search and searchSpecializations; optional narrowing for byCategory and byPartner
startUrlsURL listemptyProduct, search or /courses?query= URLs
slugstext listemptySlugs such as machine-learning; full URLs accepted
productIdstext listemptycourse~..., s12n~..., or a bare course ID
productTypesmulti-selectall10 product types
difficultiesmulti-selectallBeginner, Intermediate, Advanced, Mixed
durationsmulti-selectallLess than 2 hours through 1-4 years
costsmulti-selectallFree, Free Trial, Paid, Preview
topicsmulti-selectall11 Coursera subject areas
languagesmulti-selectall67 content languages
subtitleLanguagesmulti-selectall67 subtitle languages
handsOnLearningTypesmulti-selectallDialogues, guided projects, coding labs, cloud sandboxes, Gen AI playgrounds
toolsmulti-selectall10 tool/software values
partnerstext listemptyNames are matched to the live partner filter; partial names resolve when possible
skillstext listemptyMatched to the live skill filter
courseraPlusStatusdropdownanyIncluded or not included in Coursera Plus
freeOnlybooleanfalseAdds the Free cost filter
sortBydropdownBest matchBest match or Newest
maxItemsinteger501-1000
includeDetailsbooleanfalseAdds one product-page request per record

Every filter is applied by Coursera's own catalog search. The actor does not post-filter a fixed page, so broad filters are not silently narrowed by a hidden default.

Examples

Beginner machine learning courses, full detail

{
"mode": "search",
"query": "machine learning",
"productTypes": ["COURSE"],
"difficulties": ["BEGINNER"],
"maxItems": 25,
"includeDetails": true
}

Spanish data-science specializations from a partner

{
"mode": "byPartner",
"partners": ["IBM"],
"topics": ["Data Science"],
"languages": ["Spanish"],
"productTypes": ["SPECIALIZATION"],
"maxItems": 20
}

Look up a course by its URL

{
"mode": "byUrl",
"startUrls": [
{"url": "https://www.coursera.org/learn/machine-learning"}
]
}

Look up several products by ID

{
"mode": "byIds",
"productIds": [
"course~8UjeMk-mEeit4g4GsxE4dg",
"s12n~nOOfCDWeEeuiZgo2K4rorQ"
]
}

Browse free courses with subtitles in Spanish

{
"mode": "browse",
"productTypes": ["COURSE"],
"costs": ["Free"],
"subtitleLanguages": ["Spanish"],
"maxItems": 30
}

Output per product

Every record carries recordType, productType, productTypeLabel, productId, slug, name, siteName, sourceUrl, productUrl and scrapedAt. Course records also keep the familiar courseId, courseUrl and photoUrl fields; specialization records keep specializationId, specializationUrl, logoUrl, courseIds and numCourses.

List-level fields:

tagline, description, partnerName, partnerNames, partnerIds, partnerLogos, avgRating, numRatings, reviewCount, difficultyLevel, duration, durationLabel, skills, tools, handsOnLearningTypes, isCourseFree, isCreditEligible, isNewContent, isPartOfCourseraPlus, enrollmentType, badges, fullyTranslatedLanguages, subtitlesOnlyLanguages, primaryLanguageCodes, subtitleLanguageCodes, workload, certificates, topics, subtopics, topicIds, subtopicIds, courseType, searchQuery, searchRank, page, totalResults.

Detail fields (includeDetails or a lookup mode):

instructors, modules, totalDuration, totalDurationSeconds, totalEnrollmentCount, learnerCount, pageViewsLastMonth, contentSatisfactionScore, contentSatisfactionRatingsCount, averageInstructorRating, instructorRatingCount, ratingCountsByStar, topReviews, learningObjectives, recommendedBackground, specializations (course membership), courses (specialization membership), numAssignments, learningHoursPerWeek, totalLearningMonths, careerOutcomes, projectsOverview, professionalCertificateType, headline, subheader, courseStatus, launchedAt.

A module contains its week number, title, description, lecture count, total duration in seconds and a lectures array with title, type, ISO duration and duration in seconds. A topReview contains author, rating, date and text. Empty fields are omitted at every depth; booleans are kept even when false.

Data source and reliability

The actor reads Coursera's public catalog through the same endpoints the public website uses:

  • The catalog search endpoint at https://www.coursera.org/graphql-gateway?opname=Search for keyword search, facets, sorting and pagination.
  • Public batch endpoints (courses.v1, onDemandSpecializations.v1) for description, workload, certificates, languages and subject areas.
  • Public product pages for the optional detail fields.

No account, cookie, API key or proxy setup is needed. Results are deduplicated by product ID. The actor retries transient HTTP errors with exponential backoff and, if a cloud exit is ever blocked, falls back to an Apify datacenter proxy automatically. Runs stop on the requested item count, the end of the source or an exhausted result window; there is no wall-clock cut.

Use cases

  • Curriculum research - map which universities and companies teach a subject and at what level
  • Competitive analysis - compare ratings, enrollment signals, duration and skills across course providers
  • Learning and development - build internal training shortlists filtered by topic, language and difficulty
  • Edtech market intelligence - track new specializations, professional certificates and guided projects
  • Academic research - export a reproducible catalog slice with search rank and page metadata

FAQ

Do I need a Coursera account? No. Every request is cookieless and unauthenticated.

How many records can one run return? Up to 1,000. Coursera's own search window is 10,000 products; the actor never needs more than 1,000 for a run and partitions by filters when you need different slices of a large topic.

Why do some records lack a rating or review count? Coursera does not publish ratings for every new or low-traffic product. The field is omitted rather than filled with zero.

Why is enrollmentType shown as AUDIT or VERIFIED? Coursera's current public catalog no longer exposes the old enrollment-form value. The actor keeps the historic values meaningful by deriving them from isCourseFree (free products become AUDIT, others VERIFIED). The authoritative access signals are isCourseFree, isPartOfCourseraPlus and isCreditEligible.

What does includeDetails cost? One extra product-page request per record. It is the only setting that adds per-record requests; leave it off for fast catalog exports.

Can I get exact prices or discounts? No. Coursera does not publish a stable price in the public catalog payload; it depends on region, session and promotions. Free/paid/trial/preview labels and Coursera Plus inclusion are available.

Can I get every review for a course? The product page exposes a curated set of top reviews (typically 12-20). Bulk review export is outside this catalog actor's scope.

Do degree and certificate pages have the same detail fields? Degrees and graduate certificates use a different Coursera page template with sparse public metadata. They are returned from the search catalog with list-level fields; course, project, specialization and professional-certificate pages have the full detail set.

Why did a slug or ID return nothing? Some legacy products are retired or moved. Try the product URL in byUrl, or use a search query to find the current slug. Unsupported ID prefixes are reported in the run log.

A slug exists as both a course and a guided project. Which one is returned? A bare slug is ambiguous; bySlug follows the first catalog hit. Use byUrl with the full product URL when you need a specific product type.

Is this affiliated with Coursera? No. This is an independent, third-party actor that reads public catalog data. It is not operated by or affiliated with Coursera, Inc.

Limitations

  • Coursera's search index returns at most 10,000 products per query. The actor caps runs at 1,000 records; use filters (product type, topic, level, duration, language, partner) to cover a large topic in several runs.
  • Exact price and discount data are not part of the public catalog payload.
  • Bulk/all reviews are not available from the catalog page; only the page's top reviews are returned.
  • Degree and graduate-certificate detail pages expose a different, sparse schema; those product types are list-level only.
  • One legacy professional certificate was missing from the public batch endpoint during research; the actor falls back to the product page for such IDs and reports a shortfall in the status message if the page is also gone.

Responsible use

Use the actor for lawful catalog research and export. Respect Coursera's terms, copyright and privacy rules, and do not republish course content. The actor collects public catalog metadata and top review excerpts, not learner records or paid course materials.