Udemy Scraper [💰$1.5/1K] | Courses | Curriculum | Reviews avatar

Udemy Scraper [💰$1.5/1K] | Courses | Curriculum | Reviews

Pricing

from $1.20 / 1,000 courses

Go to Apify Store
Udemy Scraper [💰$1.5/1K] | Courses | Curriculum | Reviews

Udemy Scraper [💰$1.5/1K] | Courses | Curriculum | Reviews

Scrape Udemy course data — price, discount, rating, students, instructors, full curriculum and individual reviews — for e-learning market research, affiliate price tracking and AI training data. API-based, no browser, two separate datasets.

Pricing

from $1.20 / 1,000 courses

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Udemy Course Scraper

Scrape Udemy course data for e-learning market research and online-course price tracking — price and discount, rating, review count, student count, instructor, full curriculum and individual review text from any Udemy course landing page, with no browser and no official API.

Main Use Cases

  • Online course price tracking — monitor Udemy price and discount changes over time to time affiliate promotions.
  • Course benchmarking for creators — compare competitor courses: curriculum structure, pricing, ratings and review sentiment.
  • E-learning market research — build datasets of course supply, pricing and demand signals across categories.
  • AI training data — clean, structured JSON (curriculum, reviews, metadata) ready for LLM fine-tuning or RAG pipelines.
  • Course review analysis — extract individual review texts, ratings, reviewer profiles and instructor responses.

How It Works

This Udemy scraper is API-first: it reads the full course object from the server-rendered Next.js flight-data payload (Udemy's internal CLPCourse GraphQL query) and enriches it with Udemy's internal pricing and reviews JSON APIs. Requests are retried across five request "personas" (desktop browser, Udemy Android app fingerprint, auto-generated Chrome and Safari fingerprints, bare HTTP client) until one returns 200 — so runs stay cheap, plain-HTTP, and resilient to Cloudflare. If every persona is blocked, all HTML-derived fields (title, rating, students, curriculum, instructors, category, ...) still come back.

Courses are stored in the default dataset; individual reviews land in a separate reviews dataset that can be billed separately per review.

Track Udemy Course Prices Without an Official Udemy API

Udemy has no public API for course pricing or catalog data. This actor reads the same internal JSON surface the website renders, so you get current price, list price and discount percentage per course (pricingVia reports which request persona succeeded). Set a schedule to track price drops across your watchlist — a common affiliate-marketing workflow. Note: prices are geo-dependent (Udemy prices by country).

Benchmark E-Learning Courses: Curriculum, Ratings & Reviews

Every course record includes the full curriculum (sections + lectures with titles, types, durations), rating, review count, student count, and instructor identities — everything needed for a competitor course analysis or an edtech market report. Enable includeReviews and maxReviewsPerCourse to also pull individual review text with reviewer job titles and instructor responses into the separate Reviews dataset.

Input

FieldTypeRequiredDefaultNotes
startUrlsarrayYes—Udemy course URLs (https://www.udemy.com/course/...) or bare course slugs (the-complete-web-development-bootcamp).
maxItemsintegerNo50Maximum number of courses to scrape.
includeCurriculumbooleanNotrueInclude full curriculum (sections and lectures with titles, durations and types).
includeReviewsbooleanNofalseFetch individual course reviews (review text, rating, author) from Udemy's reviews API. Best-effort.
maxReviewsPerCourseintegerNo20Max review texts per course (1–500). Values above 100 page through the API. Only used when includeReviews is on.
proxyobjectNooffStandard Apify proxy picker — enable if you hit blocks at scale.

Example Input

{
"startUrls": [
"https://www.udemy.com/course/the-complete-web-development-bootcamp/",
"the-complete-python-bootcamp"
],
"maxItems": 50,
"includeCurriculum": true,
"includeReviews": true,
"maxReviewsPerCourse": 100
}

Output — Courses dataset (default)

One item per course. Key columns in the overview view: title, url, instructors, category, rating, reviewCount, students, price, listPrice, discountPercent, level, duration.

Field groupFields
Identityurl, courseId, title, headline, description
Taxonomycategory, subcategory, primaryTopic, level, locale, duration, hasCertificate
Instructorsinstructors[] (id, name, url)
Social proofrating, reviewCount, students, totalReviewsAvailable, moreReviewsAvailable
Pricingprice, listPrice, discountPercent, pricingVia
LearninglearningOutcomes[], curriculum (sections → items with id, title, type, duration)

Example Output — Courses

{
"url": "https://www.udemy.com/course/the-complete-web-development-bootcamp/",
"courseId": "1565838",
"title": "The Complete Full-Stack Web Development Bootcamp",
"category": "Development",
"subcategory": "Web Development",
"instructors": [{ "id": "31334738", "name": "Dr. Angela Yu, Developer and Lead Instructor", "url": "https://www.udemy.com/user/..." }],
"rating": 4.66,
"reviewCount": 474751,
"students": 1590698,
"price": "€84.99",
"listPrice": "€84.99",
"discountPercent": null,
"level": "ALL_LEVELS",
"duration": "61h 53m 57s",
"hasCertificate": true,
"learningOutcomes": ["Build 16 web development projects for your portfolio..."],
"curriculum": {
"contentCounts": { "lecturesCount": 362, "quizzesCount": 0 },
"sections": [
{ "id": "2281624", "title": "Front-End Web Development", "items": [{ "id": "12638830", "title": "What You'll Get in This Course", "type": "VIDEO_LECTURE", "durationInSeconds": 167 }] }
]
}
}

Output — Reviews dataset (optional, includeReviews)

One item per individual review. Key columns in the overview view: courseTitle, reviewer.displayName, rating, content, createdFormatted, instructorResponse.content, courseUrl. Full records also include reviewer.jobTitle, reviewer.url, instructorResponse.instructor.displayName, timestamps, and more.

{
"courseUrl": "https://www.udemy.com/course/the-complete-python-bootcamp/",
"courseTitle": "The Complete Python Bootcamp From Zero to Hero in Python",
"reviewId": 246225329,
"rating": 4.5,
"content": "A great course, very well explained!",
"createdFormatted": "a day ago",
"reviewer": { "displayName": "Shilpa Santosh", "jobTitle": "Software Developer", "url": "https://www.udemy.com/user/shilpa-santosh-2/" },
"instructorResponse": { "content": "Thank you for the feedback!", "instructor": { "displayName": "Jose Portilla" } }
}

Download either dataset as JSON, HTML, CSV or Excel from the Storage tab (both datasets appear under Storage → Courses + Reviews).

Extract Udemy Reviews for Course Quality Analysis

Enable includeReviews to pull individual review texts for sentiment analysis — review content, star rating, reviewer profile (name, job title, avatar, URL), timestamps and instructor responses. maxReviewsPerCourse up to 500 lets you build a substantial review corpus for a single course; the reviewer jobTitle field is a useful signal for audience-profiling research.

Integrations & Automation

  • Apify API — call the actor from your affiliate, research or ed-tech product.
  • Webhooks — notify your Slack/CRM when a run finishes.
  • Scheduling — run daily or weekly for price-drop monitoring and review tracking.
  • Export — JSON, CSV, HTML, Excel.

Recommended schedule: daily for price tracking, weekly for course benchmarking snapshots.

FAQ

Why use this actor instead of the official Udemy API?

Udemy does not offer a public API for course catalog, pricing, curriculum or review data. This actor reads the same internal JSON surface Udemy's own website renders (Next.js flight payload + internal pricing/reviews APIs) — no API key, no OAuth, no browser rendering. Requests rotate across desktop/mobile-app/fresh-fingerprint personas to stay reliable.

What are alternatives to this actor / Udemy course data?

How can I track Udemy course price drops?

Schedule this actor daily on a watchlist of course URLs, enable includeReviews off, and compare price / discountPercent between runs. Use the Apify API to diff consecutive dataset exports.

What is the best way to build an online-course market research dataset?

Scrape category-representative course URLs in bulk (maxItems up to unlimited on paid plans), keep includeCurriculum on, and aggregate category, subcategory, rating, students, price and discountPercent in your analysis layer. The Reviews dataset adds qualitative sentiment on top.

For AI Agents & LLM Apps

  • Purpose: returns one structured course record per Udemy URL/slug in the default dataset (identity, taxonomy, rating, students, pricing, learning outcomes, curriculum), and optionally one review record per review in the reviews dataset.
  • Minimal input:
{ "startUrls": ["the-complete-web-development-bootcamp"], "maxItems": 10 }
  • Variant input — course + reviews:
{
"startUrls": ["the-complete-python-bootcamp"],
"includeCurriculum": true,
"includeReviews": true,
"maxReviewsPerCourse": 100
}

Behaviors an agent should know:

  • startUrls is required — accept full course URLs or bare slugs.
  • includeReviews: false by default — enabling it adds one API call per course and writes to the separate reviews dataset, billed per review.
  • maxReviewsPerCourse only applies when includeReviews is on; values >100 page through Udemy's API (max 500).
  • Pricing/review fields are best-effort — if Udemy's internal APIs are blocked, all HTML-derived fields are still returned (pricingVia reports how pricing was fetched; totalReviewsAvailable/moreReviewsAvailable summarize review coverage).
  • Prices are geo-dependent and may appear with the currency of the requesting locale.
  • Billing: pay-per-event — $0.0015 per course record, $0.0008 per review record.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Udemy, Inc. It accesses only publicly available course metadata and review text — it does not bypass login walls or access paid content. Users are responsible for complying with Udemy's Terms of Service and applicable law; review scraping results may include publicly posted reviewer names and job titles, which should be handled in line with data-protection rules (e.g. GDPR/CCPA where applicable) and must not be used for unsolicited outreach. If you still hit blocks at scale, enable the Apify proxy input and retry.

SEO Keywords

udemy scraper, udemy course data, udemy api alternative, udemy price tracking, course price monitoring, online course market research, edtech market research, udemy reviews, udemy course reviews, curriculum data, ai training data, course benchmarking, udemy course prices, udemy discount tracking, e-learning dataset, online course pricing, udemy ratings, instructor data, course sentiment analysis, udemy search alternative, course quality analysis, learning marketplace data