Skip to content

Udemy Scraper

Try for free

Scrape Udemy courses by keyword, category, topic, instructor or course URL: price, rating, students, duration, level, language, curriculum and reviews.

🎓 Udemy Scraper

Scrape Udemy courses by keyword, category, topic, instructor or course URL and get clean rows with price, rating, number of students, duration, lectures, level, language, instructors, what you'll learn, the full curriculum and student reviews. No login, no browser: results arrive in seconds and cost a fraction of a cent per course.

✨ Why use Udemy Scraper?

  • ⚡ Fast — reads Udemy's own JSON endpoints, up to 100 courses per request, so 1,000 courses with full details take about a minute.
  • 🔎 Every way in — search queries, search URLs with their filters, categories, subcategories, topics, instructor profiles and single course pages.
  • 💲 Real prices — current price, list price, discount and currency for every course, not just the search snippet.
  • 📚 Deep course data — description, requirements, target audience, topics, rating distribution, captions and the full curriculum outline.
  • 💬 Reviews included on demand — newest, oldest or by star rating, with instructor replies.
  • 🔓 No login or cookies — only public course pages are read.

🎯 Use cases

  • 📈 Market research — size a niche by course count, students and ratings before you build a course.
  • 💰 Price monitoring — track prices and discounts of competing courses over time.
  • 🧑‍🏫 Instructor analysis — list every course of an instructor with students and ratings.
  • 🗂️ Catalogs and recommendation engines — feed course titles, outcomes and curricula into your own search or LMS.
  • 💬 Review mining — collect student feedback for sentiment analysis and course improvement.

🚀 How to use

  1. Type one or more search queries (for example python) or paste Udemy URLs (search, category, topic, instructor or course pages).
  2. Set Max courses per input and, if you like, filters such as price, minimum rating, level, language or video duration.
  3. Turn on curriculum or reviews if you need them.
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesKeywords to search, one search per keyword
startUrlsUdemy search, category, subcategory, topic, instructor or course URLs
maxItemsCourses per query or URL (default 20, up to 10,000)
sortByrelevance, most-reviewed, highest-rated or newest
price, minRating, levels, languages, durationsUdemy's own search filters
includeDetailsDescription, requirements, category, topics and more (default on)
includeCurriculumFull course outline (default off)
includeReviews, maxReviewsPerCourseStudent reviews as extra rows (default off)
{
  "searchQueries": ["python"],
  "startUrls": [
    { "url": "https://www.udemy.com/courses/development/web-development/?price=price-free" },
    { "url": "https://www.udemy.com/course/complete-python-bootcamp/" }
  ],
  "maxItems": 20,
  "minRating": "4.5",
  "levels": ["beginner"],
  "includeReviews": false
}

📤 Output

FieldDescription
id, url, slugUdemy course id and link
title, headline, descriptionCourse texts
instructors, instructorNamesInstructor names, job titles and profile links
price, listPrice, discountPercent, currency, priceText, isFreeCurrent price and discount
rating, reviewsCount, ratingDistributionAverage stars, number of ratings and stars breakdown
studentsCountEnrolled students
durationSeconds, durationHours, lecturesCount, quizzesCount, codingExercisesCount, articlesCountCourse size
level, language, locale, captionLanguagesAudience and language
lastUpdated, publishedAtDates
category, subcategory, topics, badges, isBestsellerClassification
learningOutcomes, requirements, targetAudienceWhat you'll learn, prerequisites, who it's for
curriculum, sectionsCountSections with lectures and durations (when enabled)
searchQuery, sourceUrl, position, scrapedAtWhere the row came from

Review rows (recordType: "review") hold reviewId, courseId, courseTitle, rating, content, created, userName, instructorResponse and instructorResponseDate.

{
  "id": "2776760",
  "url": "https://www.udemy.com/course/100-days-of-code/",
  "title": "100 Days of Code™: The Complete Python Pro Bootcamp",
  "headline": "Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps!",
  "instructors": [{ "id": "31334738", "name": "Dr. Angela Yu, Developer and Lead Instructor", "jobTitle": "Developer and Lead Instructor", "url": "https://www.udemy.com/user/4b4368a3-b5c8-4529-aa65-2056ec31f37e/" }],
  "price": 109.99,
  "listPrice": 109.99,
  "discountPercent": 0,
  "currency": "USD",
  "isFree": false,
  "rating": 4.68,
  "reviewsCount": 438250,
  "studentsCount": 1891632,
  "durationHours": 56.8,
  "lecturesCount": 604,
  "level": "All Levels",
  "language": "English",
  "lastUpdated": "2026-09-29",
  "category": "Development",
  "subcategory": "Programming Languages",
  "topics": ["Python", "Data Science", "Flask", "Web Scraping"],
  "badges": ["Bestseller"],
  "learningOutcomes": ["You will master the Python programming language by building 100 unique projects over 100 days."],
  "requirements": ["No programming experience needed - I'll teach you everything you need to know"],
  "ratingDistribution": { "1": 3033, "2": 3197, "3": 18418, "4": 109291, "5": 304311 },
  "searchQuery": "python",
  "position": 1
}

💰 Pricing

You pay $2.50 per 1,000 courses and $2.50 per 1,000 reviews, plus a small amount of platform usage (compute and datacenter proxy traffic, typically well under one cent per 1,000 courses). Example: 1,000 courses with details ≈ $2.51. There is no start fee.

❓ FAQ

Is it legal to scrape Udemy? The actor only reads public course pages that anyone can open without an account. Check Udemy's terms and your local laws for your use case, and handle any personal data (reviewer names) responsibly.

Do I need a Udemy account or a proxy? No account. The default datacenter proxy works; switch to residential only if you see blocked requests.

How many courses can I get? Udemy shows at most 10,000 courses for one search or category. Split big jobs into several queries or subcategories to go further.

Why is a field empty? Not every course fills every field (for example free courses have no discount, and some courses have no requirements). Prices and currency follow the proxy country: US dollars by default, or pick a proxy country to get local prices.

Can I schedule it or use the API? Yes. Schedule runs in the console and read results through the API, webhooks or integrations.

⚠️ Limits

  • At most 10,000 courses per search or category, and 10,000 reviews per course (Udemy's own limits).
  • Prices are the ones Udemy shows in the proxy's country (United States by default); Udemy uses regional pricing, so other countries see other amounts.
  • Instructor pages list the instructor's courses; level, language and duration filters don't apply to them. Udemy sometimes blocks profile pages whose address isn't the instructor's name (for example /user/janedoe/); paste one of their course URLs or search their name instead.
  • Udemy Business-only content and private courses are not covered.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.