Udemy Course/Reviews Scraper avatar

Udemy Course/Reviews Scraper

Pricing

from $18.00 / 1,000 results

Go to Apify Store
Udemy Course/Reviews Scraper

Udemy Course/Reviews Scraper

The fastest and most affordable way to scrape Udemy course and reviews data at scale. Extract complete course information from any Udemy course URL in seconds — pricing, ratings, reviews, curriculum, reviews, instructor details, and 60+ data points — all delivered as clean, structured JSON.

Pricing

from $18.00 / 1,000 results

Rating

0.0

(0)

Developer

mikolabs

mikolabs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Udemy Course Scraper — Extract Any Course Data Instantly

The fastest and most affordable way to scrape Udemy course data at scale. Extract complete course information from any Udemy course URL in seconds — pricing, ratings, curriculum, reviews, instructor details, and 60+ data points — all delivered as clean, structured JSON.

No browser extensions. No manual copy-paste. No expensive APIs. Just drop in a URL and get data.


What Is This?

The Udemy Course Scraper is a cloud-based tool that automatically extracts detailed information from any Udemy course page. Whether you need data on a single course or thousands, this scraper handles it instantly — running in the cloud so your machine stays free.

Built for:

  • 📊 Market researchers tracking course pricing trends across categories
  • 🧑‍💼 Educators & course creators benchmarking competitors
  • 🤖 Developers building course aggregators, comparison tools, or recommendation engines
  • 📈 Analysts monitoring student enrollment and rating changes over time
  • 🛒 E-learning platforms enriching their catalogues with live Udemy data
  • 💬 NLP / AI teams collecting review datasets for sentiment analysis

Why Choose This Scraper?

FeatureThis Scraper
⚡ SpeedExtracts a full course + 100 reviews in under 30 seconds
💰 CostLess than 0.01 USD per course — fraction of a cent each
📦 Data depth60+ fields per course including reviews, curriculum, and instructor portfolio
🔄 Bulk supportScrape hundreds of URLs in a single run
🔁 Auto-retryRetries failed pages automatically with exponential backoff
🌍 Residential proxyBuilt-in Apify proxy widget — one click to enable
☁️ Cloudflare bypasscurl_cffi Chrome TLS impersonation — no 403 blocks
🍪 Cookie injectionLogged-in scraping for personalised pricing and enrolled data
💬 Reviews APIFull student reviews with ratings, text, and instructor responses
🎓 Instructor portfolioAll courses by the instructor with ratings, enrolments, and durations
🧹 Clean outputStructured JSON — ready for Excel, BigQuery, or your database

What Data Do You Get?

Every scraped course returns 60+ structured fields across 6 categories:

📌 Core Info

FieldDescription
titleFull course title
headlineShort marketing tagline
description_shortSEO meta description
description_fullComplete course description (plain text)
imageThumbnail image URL
languageCourse language (e.g. en-US)
levelBeginner / Intermediate / Expert / All Levels
date_publishedDate last updated (YYYY-MM-DD)
created_dateOriginal creation timestamp
is_bestsellerTrue if the bestseller badge is shown
is_free / is_paidFree or paid status
category / primary_category / primary_subcategoryFull category hierarchy
topicsTopic tags with Udemy URLs
available_languagesAll subtitle / caption languages
course_idUdemy's internal numeric course ID

💰 Pricing

FieldDescription
priceCurrent price (numeric)
price_displayCurrent price with currency symbol (e.g. ₹539)
original_pricePre-discount price (numeric)
original_price_displayPre-discount price with symbol (e.g. ₹3,469)
discount_percentDiscount percentage (e.g. 84)
currencyISO 4217 currency code (e.g. INR, USD, BRL)

⭐ Ratings & Popularity

FieldDescription
ratingAverage star rating (0.0 – 5.0)
rating_countTotal number of ratings
review_countTotal written reviews
num_subscribersTotal enrolled students (all time)
num_quizzesNumber of quizzes

🎓 Curriculum

FieldDescription
total_durationTotal video length (e.g. 27h 14m)
total_duration_isoISO 8601 duration (e.g. PT27H14M)
total_lecturesNumber of individual lectures
total_sectionsNumber of curriculum sections
curriculum_sectionsEach section with name and duration
curriculum_sections_countTotal section count
curriculum_summaryRaw header text (e.g. 33 sections • 391 lectures • 27h)
estimated_content_length_minTotal content in minutes

👨‍🏫 Instructors

FieldDescription
instructorsList of instructor display names
instructors_detailName, job title, profile URL, avatar per instructor
instructor_stats_rawAll-time stats (total students, reviews, rating)
instructor_idPrimary instructor's numeric Udemy user ID

📚 Course Details

FieldDescription
what_you_will_learnFull list of learning objectives
requirementsPrerequisites and requirements
target_audienceWho the course is designed for

💬 Reviews & Sentiment

FieldDescription
reviewsFull array of review objects (see below)
reviews_scraped_countNumber of reviews collected in this run
reviews_total_countTotal reviews available on the course
reviews_with_responseReviews that include an instructor reply
avg_rating_scrapedMean rating of the collected batch
rating_distributionStar breakdown: {"5": 199100, "4": 60629, ...}
rating_distribution_pctStar breakdown as percentages: {"5": 70.0, "4": 21.3, ...}
top_keywordsTop 20 most frequent words from all review text

Each review object contains:

FieldDescription
idUnique review ID
ratingStar rating given (1.0 – 5.0)
contentPlain-text review body
content_htmlHTML version of the review body
createdISO 8601 creation timestamp
created_formattedHuman-readable (e.g. "3 months ago")
reviewer_nameReviewer's public display name
reviewer_imageReviewer avatar URL (50×50)
reviewer_initialsInitials fallback
has_instructor_responseTrue if the instructor replied
instructor_responseInstructor reply (plain text)
instructor_response_dateWhen the instructor replied

🎓 Instructor Portfolio (optional)

FieldDescription
instructor_profileFull profile: name, job title, rating, students, reviews, courses
instructor_coursesAll courses by the instructor
instructor_courses_totalTotal published courses
instructor_courses_fetchedCourses collected in this run

Each instructor course contains: id, title, url, avg_rating, num_reviews, num_lectures, estimated_length_min, last_update_date, level, locale, caption_languages, is_practice_test, num_coding_exercises.


How to Use

Step 1 — Open the Actor

Go to the Actor page on Apify and click Try for free.

Step 2 — Add Your URLs

Paste one or more Udemy course URLs into the Course URLs field:

https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c03/
https://www.udemy.com/course/the-complete-web-development-bootcamp/

Step 3 — Configure Options (optional)

All settings have sensible defaults. Toggle reviews, instructor courses, and proxy on/off as needed.

Step 4 — Click Run

The Actor runs in the cloud. Results stream into the Dataset tab in real time.

Step 5 — Export

Download as JSON, CSV, Excel, or XML, or connect via the Apify API.


Input Options

FieldTypeDefaultDescription
Course URLsURL list(Required) One or more Udemy course page URLs
Scrape ReviewsToggleOnCollect student reviews via Udemy's reviews API
Max ReviewsNumber100Max reviews per course (0 = all available)
Scrape Instructor CoursesToggleOffFetch all courses by the course instructor
Browser CookiesJSON array[]Logged-in session cookies for personalised pricing
Max RetriesNumber3Retries per URL before marking failed
Min Delay (ms)Number1500Minimum pause between requests
Max Delay (ms)Number4000Maximum pause between requests
Proxy ConfigurationProxy widgetResidentialApify proxy picker — datacenter, residential, or custom
HeadlessToggleOnHeadless browser mode (disable only for local debugging)

Providing cookies lets the scraper access your personalised Udemy prices and enrolled course data. The cookies are also used to authenticate the reviews and instructor courses APIs.

  1. Log in to Udemy in Chrome
  2. Install the EditThisCookie extension
  3. Visit any Udemy course page
  4. Click the extension → Export
  5. Paste the JSON array into the Browser Cookies field

Note: cf_clearance and session cookies expire after ~30 minutes of inactivity. Re-export if you see 403 errors on the APIs.


Input Example

{
"start_urls": [
{ "url": "https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c03/" },
{ "url": "https://www.udemy.com/course/the-complete-web-development-bootcamp/" }
],
"scrape_reviews": true,
"max_reviews": 100,
"scrape_instructor_courses": false,
"max_retries": 3,
"min_delay_ms": 1500,
"max_delay_ms": 4000,
"proxy_configuration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output Example

{
"url": "https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c03",
"scrape_status": "success",
"course_id": 2196488,
"title": "Ultimate AWS Certified Solutions Architect Associate 2026",
"headline": "Full Practice Exam | Learn Cloud Computing | Pass the AWS SAA-C03 Certification!",
"language": "en-US",
"level": "All Levels",
"date_published": "2026-03-01",
"is_bestseller": true,
"is_free": false,
"rating": 4.7,
"rating_count": 284429,
"num_subscribers": 1200000,
"price": 539,
"price_display": "₹539",
"original_price": 3469,
"original_price_display": "₹3,469",
"discount_percent": 84,
"currency": "INR",
"total_duration": "27h 14m",
"total_lectures": 391,
"total_sections": 33,
"instructors": ["Stephane Maarek"],
"instructor_id": 16122994,
"primary_category": "IT & Software",
"primary_subcategory": "AWS Certification",
"what_you_will_learn": [
"Pass the AWS Certified Solutions Architect Associate Certification",
"Full Practice Exam with Explanations included",
"Perform Real-World Solution Architecture on AWS"
],
"curriculum_sections": [
{ "name": "IAM & AWS CLI", "duration": "56m" },
{ "name": "EC2 Fundamentals", "duration": "1h 38m" }
],
"reviews_scraped_count": 100,
"reviews_total_count": 284429,
"reviews_with_response": 12,
"avg_rating_scraped": 4.83,
"rating_distribution": { "5": 199100, "4": 60629, "3": 14221, "2": 5480, "1": 4999 },
"rating_distribution_pct": { "5": 70.0, "4": 21.3, "3": 5.0, "2": 1.9, "1": 1.8 },
"top_keywords": [
{ "word": "excellent", "count": 42 },
{ "word": "detailed", "count": 38 },
{ "word": "recommend", "count": 31 }
],
"reviews": [
{
"id": 38291047,
"rating": 5.0,
"content": "Excellent course! Stephane explains everything clearly with real-world examples.",
"created": "2026-03-10T14:22:00Z",
"created_formatted": "1 week ago",
"reviewer_name": "Ravi Kumar",
"reviewer_image": "https://img-c.udemycdn.com/user/50x50/anonymous_3.png",
"reviewer_initials": "RK",
"has_instructor_response": true,
"instructor_response": "Thank you Ravi! Best of luck on your exam!",
"instructor_response_date": "3 days ago"
}
]
}

Pricing & Speed

This scraper is engineered to be the most efficient Udemy scraper on the platform:

  • 🏎️ ~20–30 seconds per course (including 100 reviews)
  • 💵 Less than 0.01 USD per course on the Apify Free plan
  • 📦 100 courses ≈ 1–2 Compute Units
  • 🆓 Free tier — Apify gives you $5 in free credits every month

No subscriptions. No per-seat fees. Pay only for what you use.


Use Cases

🔍 Competitor Research

Monitor how rival instructors price their courses, what topics they cover, and how their ratings evolve over time. Use the instructor portfolio feature to see their entire catalogue at once.

📉 Price & Discount Tracking

Track Udemy's flash sales and discount patterns. Know exactly when your target courses hit their lowest price.

🗂️ Course Catalogue Building

Populate your own database or e-learning platform with rich, structured Udemy course metadata including full curriculum breakdowns.

📊 Market Analysis

Understand demand signals — which categories have the most students, highest-rated instructors, and most competitive pricing.

💬 Sentiment & Review Analysis

Collect thousands of student reviews to run NLP sentiment analysis, identify recurring pain points, or discover what makes top-rated courses stand out. The top_keywords field gives you an instant word frequency map across all scraped reviews.

🤖 AI & Recommendation Engines

Feed structured course data into ML pipelines, recommendation systems, or LLM-powered course advisors.

🧑‍🏫 Instructor Intelligence

Use the instructor portfolio feature to pull all 72+ courses by an instructor in one run — complete with ratings, student counts, lecture counts, and last-updated dates.


Frequently Asked Questions

Do I need a Udemy account to use this? No. The scraper works on public course pages without an account. Cookies are optional — they enable personalised pricing and unlock the reviews and instructor APIs.

Why do I need cookies for reviews? Udemy's reviews API requires an authenticated session. Export your browser cookies after logging in and the scraper handles everything automatically.

How many URLs can I scrape at once? No hard limit. Pass hundreds or thousands of URLs in a single run.

Will it work during a Udemy sale? Yes. The scraper reads the live price shown at the time of the run, including any active discounts.

What happens if a page fails to load? The scraper retries automatically up to the configured number of times with exponential backoff. If all retries fail, the URL is recorded with scrape_status: failed — the rest of the run continues uninterrupted.

Why residential proxies? Udemy's API uses Cloudflare which checks the IP address against the cf_clearance cookie. Residential proxies ensure the browser and API calls share the same IP, preventing 403 blocks.

Can I schedule this? Yes. Use Apify's built-in scheduler to run daily, weekly, or on any cron schedule from the Console.

Can I export to Excel or Google Sheets? Yes. Export as CSV from the Dataset tab and open directly in Excel or import into Google Sheets.


  • Udemy Search Scraper — scrape search results to discover courses by keyword
  • Coursera Course Scraper — extract course data from Coursera
  • LinkedIn Learning Scraper — scrape LinkedIn Learning course catalogue

Support

Found a bug or need a custom feature? Open an issue on the Actor page or contact support via the Apify Console.