Udemy Scraper [💰$1.5/1K] | Courses | Curriculum | Reviews
Pricing
from $1.20 / 1,000 courses
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
Maintained by CommunityActor 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
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | Yes | — | Udemy course URLs (https://www.udemy.com/course/...) or bare course slugs (the-complete-web-development-bootcamp). |
maxItems | integer | No | 50 | Maximum number of courses to scrape. |
includeCurriculum | boolean | No | true | Include full curriculum (sections and lectures with titles, durations and types). |
includeReviews | boolean | No | false | Fetch individual course reviews (review text, rating, author) from Udemy's reviews API. Best-effort. |
maxReviewsPerCourse | integer | No | 20 | Max review texts per course (1–500). Values above 100 page through the API. Only used when includeReviews is on. |
proxy | object | No | off | Standard 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 group | Fields |
|---|---|
| Identity | url, courseId, title, headline, description |
| Taxonomy | category, subcategory, primaryTopic, level, locale, duration, hasCertificate |
| Instructors | instructors[] (id, name, url) |
| Social proof | rating, reviewCount, students, totalReviewsAvailable, moreReviewsAvailable |
| Pricing | price, listPrice, discountPercent, pricingVia |
| Learning | learningOutcomes[], 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.
Related Actors
- Udemy Course Scraper 📚 — the most-used Udemy actor on the Store (e-learning cluster authority).
- Udemy Course Reviews Scraper 📚 — Udemy review extraction by the same developer.
- Udemy Course Scraper — 40+ fields, keyword and category browsing.
- Udemy Course/Reviews Scraper — combined course + reviews extraction.
- Udemy Course Scraper — search-by-keyword and category browsing.
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?
- easyapi/udemy-course-scraper and easyapi/udemy-course-reviews-scraper.
- silentflow/udemy-scraper-ppe and mikolabs/udemy-course-scraper.
- Direct Udemy page access via a general web scraper (browser-based, slower and more expensive).
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
reviewsdataset. - 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:
startUrlsis required — accept full course URLs or bare slugs.includeReviews: falseby default — enabling it adds one API call per course and writes to the separatereviewsdataset, billed per review.maxReviewsPerCourseonly applies whenincludeReviewsis 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 (
pricingViareports how pricing was fetched;totalReviewsAvailable/moreReviewsAvailablesummarize review coverage). - Prices are geo-dependent and may appear with the currency of the requesting locale.
- Billing: pay-per-event —
$0.0015per course record,$0.0008per review record.
Legal & Compliance Disclaimer
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