Udemy Scraper — Courses, Prices, Ratings & Reviews avatar

Udemy Scraper — Courses, Prices, Ratings & Reviews

Pricing

from $1.50 / 1,000 courses

Go to Apify Store
Udemy Scraper — Courses, Prices, Ratings & Reviews

Udemy Scraper — Courses, Prices, Ratings & Reviews

Scrape Udemy courses by topic, category or URL: current sale price and list price, rating, students, reviews count, instructors, hours, level, language, what you'll learn, plus student reviews. No login, no API key.

Pricing

from $1.50 / 1,000 courses

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Udemy Scraper extracts Udemy courses and student reviews without a login or API key. For every course you get the current (sale) price, list price and discount, average and recent rating, number of reviews and students, instructors, total video hours, lectures, level, language, captions, last update, category, topics, what you'll learn, requirements and target audience. Find courses by topic keyword (e.g. python, excel, machine learning), category or subcategory URL, or paste course URLs, and filter by language, price, rating and level.

What you get

  • Topic search: a keyword is matched to Udemy's topic (e.g. python -> Python, 2,000+ courses).
  • Category and subcategory URLs (e.g. /courses/development/web-development/) and single course URLs.
  • Filters: language, paid or free, minimum rating (3.0-4.5), level; sort by popularity, highest rated or newest.
  • Live prices from Udemy's pricing service: current price, list price and discount %.
  • Rich course details: rating distribution, recent rating, objectives, requirements, audience, captions, badges (Bestseller, Highest Rated, New).
  • Student reviews with rating, text, date, reviewer display name and instructor response; option to keep only reviews with text.

How to use Udemy Scraper

  1. Enter Topics (e.g. python) and/or paste Udemy URLs (topic, category, subcategory or course pages).
  2. Set filters (language, price, rating, level), the sort order and Max courses per topic/URL.
  3. Choose What to save: courses, reviews or both.
  4. Run and export to JSON, CSV or Excel, or send to Google Sheets, Make, Zapier or an AI agent.

Input example

{
"searchTerms": [
"python"
],
"maxCoursesPerSearch": 50,
"sortBy": "popularity",
"language": "en",
"minRating": "4.5"
}

All fields are described in the Input tab.

Output example

{
"type": "course",
"courseId": 1565838,
"title": "The Complete Full-Stack Web Development Bootcamp",
"url": "https://www.udemy.com/course/the-complete-web-development-bootcamp/",
"headline": "Become a Full-Stack Web Developer with just ONE course. HTML, CSS, Javascript, Node, React, PostgreSQL, Web3 and DApps",
"isPaid": true,
"price": 19.99,
"originalPrice": 124.99,
"discountPercent": 84,
"currency": "USD",
"rating": 4.68,
"ratingRecent": 4.67,
"reviewsCount": 475700,
"studentsCount": 1594925,
"instructors": [
"Dr. Angela Yu, Developer and Lead Instructor"
],
"instructorUrls": [
"https://www.udemy.com/user/4b4368a3-b5c8-4529-aa65-2056ec31f37e/"
],
"level": "All Levels",
"language": "English",
"locale": "en_US",
"captionLanguages": [
"English",
"Arabic [Auto]",
"Bulgarian [Auto]",
"Czech [Auto]",
"Danish [Auto]",
"Dutch [Auto]",
"Estonian [Auto]",
"Filipino [Auto]",
"Finnish [Auto]",
"French [Auto]",
"German [Auto]",
"Greek [Auto]",
"Hebrew [Auto]",
"Hindi [Auto]",
"Hungarian [Auto]",
"Indonesian [Auto]",
"Italian [Auto]",
"Japanese [Auto]",
"Korean [Auto]",
"Lithuanian [Auto]",
"Polish [Auto]",
"Portuguese [Auto]",
"Romanian [Auto]",
"Simplified Chinese [Auto]",
"Slovak [Auto]",
"Spanish [Auto]",
"Swedish [Auto]",
"Thai [Auto]",
"Turkish [Auto]",
"Ukrainian [Auto]",
"Vietnamese [Auto]"
],
"contentInfo": "62 total hours",
"videoLengthHours": 61.2,
"lecturesCount": 374,
"practiceTestsCount": 0,
"badges": [
"Bestseller"
],
"lastUpdated": "2025-11-24",
"publishedAt": "2018-10-25T21:34:15Z",
"category": "Development",
"subcategory": "Web Development",
"topics": [
"JavaScript",
"MongoDB",
"Node.Js",
"Web Development"
],
"objectives": [
"Build 16 web development projects for your portfolio, ready to apply for junior developer jobs.",
"Learn the latest technologies, including Javascript, React, Node and even Web3 development.",
"After the course you will be able to build ANY website you want."
],
"requirements": [
"No programming experience needed - I'll teach you everything you need to know",
"A computer with access to the internet",
"No paid software required",
"I'll walk you through, step-by-step how to get all the software installed and set up"
],
"targetAudience": [
"If you want to learn to code through building fun and useful projects, then take this course.",
"If you want to start your own startup by building your own websites and web apps.",
"If you are a seasoned programmer, then take this course to to get up to speed quickly with the latest frameworks and NodeJS",
"If you want to take ONE COURSE and learn everything you need to know about web development, take this course"
],
"ratingDistribution": {
"1": 2741,
"2": 3079,
"3": 21308,
"4": 124313,
"5": 324259
},
"description": "Welcome to the Complete Web Development Bootcamp, the only course you need to learn to code and become a full-stack web developer. With 150,000+ ratings and a 4.8 average, my Web Development course is one of the HIGHEST RATED courses in the history of Udemy!\nAt 62+ hours, this Web Development course...",
"hasCertificate": true,
"imageUrl": "https://img-c.udemycdn.com/course/750x422/1565838_e54e_18.jpg",
"source": "https://www.udemy.com/course/the-complete-web-development-bootcamp/",
"scrapedAt": "2026-10-26T21:14:38.546Z"
}

Output fields

FieldDescription
typecourse or review.
courseIdUdemy course ID.
titleCourse title.
urlCourse URL.
headlineCourse subtitle.
isPaidPaid course.
priceCurrent price (USD).
originalPriceList price (USD).
discountPercentCurrent discount, %.
currencyCurrency.
ratingAverage rating, 1-5.
ratingRecentRecent average rating.
reviewsCountNumber of ratings.
studentsCountEnrolled students.
instructorsInstructor names.
instructorUrlsInstructor profile URLs.
levelLevel.
languageCourse language.
localeLocale code.
captionLanguagesCaption languages.
contentInfoLength as shown, e.g. 61.5 total hours.
videoLengthHoursVideo hours.
lecturesCountLectures.
practiceTestsCountPractice tests.
badgesBestseller, Highest Rated, New...
lastUpdatedLast update date.
publishedAtPublish time.
categoryCategory.
subcategorySubcategory.
topicsUdemy topics.
objectivesWhat you'll learn.
requirementsRequirements.
targetAudienceWho this course is for.
ratingDistributionCount of ratings by stars.
descriptionCourse description (text).
hasCertificateCertificate of completion.
imageUrlCourse image.
sourceTopic or URL that found the course.
courseTitleCourse title (review rows).
courseUrlCourse URL (review rows).
reviewIdReview ID.
textReview text (empty for star-only reviews).
createdAtReview date.
modifiedAtLast edit.
userNameReviewer display name.
instructorResponseInstructor reply, if any.
scrapedAtWhen the row was scraped.

Export results as JSON, CSV, Excel, XML or HTML, or read them with the API.

Use cases

  • Course creators: research demand, pricing and ratings of competing courses before you build yours.
  • Price and discount tracking for Udemy sales; schedule daily runs.
  • EdTech and affiliate sites: build course catalogs with ratings, prices and student counts.
  • Review analysis: what students like and dislike in the top courses of a topic.
  • Market research on skills trends: newest and most popular courses per category.

How much does Udemy Scraper cost?

This Actor uses pay-per-event pricing: $0.0015 per course ($1.5 per 1,000). Platform usage is included. Reviews cost $0.0003 each ($0.30 per 1,000). There is no start fee; topics or URLs that return nothing are free.

Set Maximum cost per run in the run options to cap your spend; the Actor stops when the limit is reached.

Use Udemy Scraper with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through the hosted Apify MCP server:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/udemy-scraper-courses-prices-reviews" --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Or in a JSON MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=technicaldost/udemy-scraper-courses-prices-reviews",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

The tool is named technicaldost--udemy-scraper-courses-prices-reviews. Ask your agent, for example, to "run Udemy Scraper with {"searchTerms": ["python"], "maxCoursesPerSearch": 50, "sortBy": "popularity", "language": "en", "minRating": "4.5"}".

Run Udemy Scraper via API

curl -X POST "https://api.apify.com/v2/acts/technicaldost~udemy-scraper-courses-prices-reviews/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["python"], "maxCoursesPerSearch": 50, "sortBy": "popularity", "language": "en", "minRating": "4.5"}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/udemy-scraper-courses-prices-reviews").call(run_input={"searchTerms": ["python"], "maxCoursesPerSearch": 50, "sortBy": "popularity", "language": "en", "minRating": "4.5"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/udemy-scraper-courses-prices-reviews').call({"searchTerms": ["python"], "maxCoursesPerSearch": 50, "sortBy": "popularity", "language": "en", "minRating": "4.5"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Integrations

Schedule runs (daily, hourly) in Apify Console and send results to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or your own webhook.

FAQ

Do I need a Udemy account?

No. The Actor reads the same public data udemy.com shows to logged-out visitors.

Udemy's keyword search page is protected and changes often, so many scrapers return nothing. The Actor maps your keyword to Udemy's matching topic page (the closest Udemy topic), which lists the same courses reliably. Paste a topic or category URL for exact control.

Which price is returned?

price is what a US visitor pays now (often a sale price); originalPrice is the list price; discountPercent is the difference. Prices are in USD.

How many reviews can I get?

Up to 10,000 per course (Udemy's limit), newest first. Turn on 'Only reviews with text' to skip rating-only reviews.

Is personal data collected?

Only the reviewer display name Udemy shows publicly next to each review. No emails or profiles.

The Actor collects publicly available information only and does not log in or bypass access controls. Use the data in line with the website's terms and the laws that apply to you, especially when processing personal data.

More tools from the same developer that work well together with this one: