Udemy Scraper avatar

Udemy Scraper

Pricing

from $2.30 / 1,000 results

Go to Apify Store
Udemy Scraper

Udemy Scraper

Scrape Udemy courses with 40+ fields: ratings, reviews, prices, discounts, instructors, subscribers, curriculum, objectives, prerequisites, and more. Search by keyword or browse topic and category pages. Export to JSON, CSV, Excel, or API for market research and education analytics.

Pricing

from $2.30 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

2

Monthly active users

2 days ago

Last modified

Share

Udemy Courses Scraper

1 URL. 24 Udemy results. 8 fields per result.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 410,000+ combined lifetime runs.

Extract course data from Udemy including titles, ratings, prices, instructors, student counts, learning objectives, and content details from topic pages.

โœจ Why use this scraper?

  • ๐Ÿ”“ No login required: Scrape public course data without authentication
  • ๐Ÿ“š Rich course data: Ratings, reviews, students, lectures, content hours, objectives, captions, and more
  • ๐Ÿท๏ธ Badges and categories: Identify bestsellers, highly rated, and new courses with their categories
  • ๐Ÿ” Flexible input: Search by keywords or provide topic page URLs directly
  • โšก High reliability: Automatic retry on failures

Try Udemy Scraper

SilentFlow ยท Udemy suite
ย ย Udemy Course Scraper
Udemy Course Scraper
ย ย Udemy Scraper
You are here

๐ŸŽฏ Use cases

IndustryApplication
EducationAnalyze course offerings and trends across programming topics
Market ResearchTrack course pricing, ratings, and student enrollment patterns
Competitive AnalysisMonitor instructor performance and course positioning
Content StrategyIdentify gaps in course coverage and trending subjects
HR & TrainingFind top-rated courses for employee upskilling programs

๐Ÿ“ฅ Input parameters

URL Scraping

ParameterTypeDescription
startUrlsarrayUdemy topic page URLs (e.g., /topic/python/) or individual course URLs
ParameterTypeDescription
searchesarrayKeywords to search (converted to topic pages, e.g., "python" โ†’ /topic/python/)

Limits

ParameterTypeDefaultDescription
maxItemsinteger50Maximum total number of courses to scrape

Advanced

ParameterTypeDefaultDescription
requestTimeoutinteger30HTTP request timeout in seconds
debugModebooleanfalseEnable detailed logging

๐Ÿ“Š Output data

Course example

{
"id": 2776760,
"title": "100 Days of Code: The Complete Python Pro Bootcamp",
"url": "https://www.udemy.com/course/100-days-of-code/",
"headline": "Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps!",
"isPaid": true,
"avgRating": 4.69,
"numReviews": 415028,
"numSubscribers": 1748154,
"numPublishedLectures": 600,
"contentInfo": "56.5 total hours",
"contentInfoShort": "56.5 hours",
"instructionalLevel": "All Levels",
"instructorName": "Dr. Angela Yu, Developer and Lead Instructor",
"instructorUrl": "https://www.udemy.com/user/4b4368a3-b5c8-4529-aa65-2056ec31f37e/",
"imageUrl": "https://img-c.udemycdn.com/course/480x270/2776760_f176_10.jpg",
"publishedTime": "2020-10-30T17:18:33Z",
"lastUpdateDate": "2026-02-28",
"created": "2020-01-24T10:47:21Z",
"category": "Development",
"isBestseller": true,
"isHighlyRated": false,
"isNew": false,
"objectives": [
"You will master the Python programming language by building 100 unique projects over 100 days.",
"You will learn automation, game, app and web development, data science and machine learning all using Python.",
"You will be able to program in Python professionally"
],
"captionLanguages": ["English", "French [Auto]", "Spanish [Auto]", "..."],
"scrapedAt": "2026-03-05T10:49:02Z",
"dataType": "course"
}

๐Ÿ—‚๏ธ Data fields

CategoryFields
Basicid, title, url, headline, description, isPaid, price, priceAmount, priceCurrency
RatingsavgRating, rating, numReviews, numSubscribers
ContentnumPublishedLectures, numQuizzes, contentInfo, contentInfoShort, contentLengthVideo, estimatedContentLength, instructionalLevel, curriculum
InstructorinstructorName, instructorTitle, instructorUrl, instructorImage
MediaimageUrl, previewUrl
DatespublishedTime, lastUpdateDate, created, scrapedAt
Classificationcategory, categoryUrl, subcategory, subcategoryUrl, topicLabel, locale
BadgesisBestseller, isHighlyRated, isNew, hasCertificate, hasClosedCaption
Learningobjectives, prerequisites, requirements, targetAudiences, captionLanguages

๐Ÿš€ Examples

Search for Python courses

{
"searches": ["python"],
"maxItems": 50
}

Scrape a specific topic

{
"startUrls": [{"url": "https://www.udemy.com/topic/data-science/"}],
"maxItems": 100
}

Multiple topics in one run

{
"searches": ["machine learning", "web development", "javascript"],
"maxItems": 30
}

๐Ÿ’ป Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_USERNAME/udemy-scraper").call(run_input={
"searches": ["python"],
"maxItems": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']} - Rating: {item['avgRating']:.1f} ({item['numSubscribers']} students)")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('YOUR_USERNAME/udemy-scraper').call({
searches: ['python'],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`${item.title} - Rating: ${item.avgRating.toFixed(1)} (${item.numSubscribers} students)`);
});

๐Ÿ“ˆ Performance & limits

MetricValue
Courses per topicThe courses the topic page lists (5 per topic on our latest run)
SpeedAbout 3.5 seconds per course, each course read in full
Supported URL typesTopic pages (/topic/...) and course pages (/course/...)

๐Ÿ’ก Tips for best results

  1. Use topic pages: Topic pages (e.g., /topic/python/) provide the richest listing data including ratings, reviews, student counts, and learning objectives
  2. Every row is complete: Each course comes with its description, objectives, requirements and curriculum, there is nothing to switch on
  3. Keywords become topics: Search queries are converted to topic URLs (e.g., "web development" โ†’ /topic/web-development/)
  4. Combine multiple searches: Pass multiple keywords in searches to collect courses across different topics in one run

โ“ FAQ

Q: What data does each course include? A: Title, headline, full description, price, ratings, reviews, student count, lecture and quiz counts, content hours, level, instructor, category and subcategory, badges, objectives, requirements, target audience, caption languages and the curriculum.

Q: Why don't category page URLs work? A: Category pages (/courses/development/) load course data dynamically. Use topic pages (/topic/python/) instead, which include pre-rendered course data.

Q: How many courses can I scrape? A: Each topic gives the courses its page lists, 5 per topic on our latest run. Add more keywords to searches or more topic URLs to startUrls to collect more, and use maxItems to cap the total.

Q: What happens if a page fails? A: The scraper automatically retries. If all attempts fail, it continues with the next page or search query.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿ“ˆ Marketing

๐Ÿงฐ More tools

๐Ÿ“ฌ Support

We're building this scraper for you, your feedback makes it better for everyone!

  • ๐Ÿ’ก Need a feature? Tell us what's missing and we'll prioritize it
  • โš™๏ธ Custom solutions: Contact us for enterprise integrations or high-volume needs

We respond to every issue, usually within 24 hours. Don't hesitate, even small suggestions help!