LinkedIn Learning Courses Scraper
Pricing
$2.50 / 1,000 course scrapeds
LinkedIn Learning Courses Scraper
Extract LinkedIn Learning course data at scale: titles, instructors, durations, ratings, learner counts, difficulty levels and skills. Search by keyword with filters, get structured JSON/CSV in seconds. No login or cookies required.
Pricing
$2.50 / 1,000 course scrapeds
Rating
0.0
(0)
Developer
Hamza
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
LinkedIn Learning Courses Scraper π
Search the LinkedIn Learning course catalog by keyword with the same filters the platform offers β content type, difficulty level, course length, software and sort order. Get back clean, structured JSON with course descriptions, instructors, exact course length, ratings, difficulty and skills covered. No login or cookies required.
Built for L&D platforms benchmarking their libraries, ed-tech market researchers sizing demand by topic, and course creators doing competitive analysis before recording a single lesson.
β¨ What you get
One record per unique course:
| Field | Description |
|---|---|
title / courseUrl / slug | The course and its canonical LinkedIn Learning URL |
entityType | COURSE, LEARNING_PATH or VIDEO |
instructorText / instructors | The byline plus structured instructors with their job titles |
parentCourseTitle | For video results: the course the video belongs to |
workloadIso / workloadText / durationText | Course length as ISO-8601 (PT2H50M54S) and human-readable (2h 50m) |
description | The course description |
provider | Content provider (e.g. LinkedIn Learning) |
rating / ratingCount | Average learner rating (out of 5) and number of ratings |
viewersCount / learnersCount | Catalog viewers and historical enrollment where shown |
releasedAt | Release date (YYYY-MM-DD) |
difficulty | Beginner / Intermediate / Advanced |
skills | Skills/topics the course covers |
language / thumbnailUrl | Course language and artwork |
keyword / position / searchUrl / scrapedAt | Provenance |
βοΈ Options
- Keywords β any number of topics, skills or tools; each gets its own result quota.
- Content type β full courses (default), curated learning paths, or individual videos.
- Filters β exactly like the linkedin.com/learning filter panel: difficulty level, course length brackets, software names, and sort (relevance / popularity / recency).
- Scrape full course details β opens each course page for the description, instructors, exact length, rating, difficulty, skills, learner count and release date. Turn it off for a faster list-level run.
- Expand coverage β the public course search has no pagination: every query returns one page of up to ~50 results. This option honestly works around that by re-running each keyword under the other two sort orders and deduplicating, typically surfacing 1.5β2x more unique courses per keyword.
π Example
Input:
{"keywords": ["python", "data analysis"],"entityType": "COURSE","difficultyLevel": ["BEGINNER", "INTERMEDIATE"],"durations": ["BETWEEN_1_TO_2_HOURS", "BETWEEN_2_TO_3_HOURS"],"sortBy": "POPULARITY","expandCoverage": true,"maxCoursesPerKeyword": 50,"enrichDetails": true}
One record from the output:
{"keyword": "python","slug": "advanced-python-23931756","courseUrl": "https://www.linkedin.com/learning/advanced-python-23931756","title": "Advanced Python","entityType": "COURSE","instructorText": "Joe Marini","instructors": [{"name": "Joe Marini","jobTitle": "2X Exit Founder | Developer Relations and Partnerships Ecosystem Advocate | Technology Education Instructor with 10M Learners"}],"durationText": "2h 50m","workloadIso": "PT2H50M54S","workloadText": "2h 50m","description": "Take your Python skills to the next level in this hands-on, interactive course with coding challenges in CoderPad.","provider": "LinkedIn Learning","rating": 4.7,"ratingCount": 157,"viewersCount": 73836,"learnersCount": 12741,"releasedAt": "2024-12-09","difficulty": "Advanced","skills": ["Python (Programming Language)"],"language": "en","thumbnailUrl": "https://media.licdn.com/dms/image/v2/D4D0DAQGl3s1fBLp7kg/learning-public-crop_675_1200/β¦","position": 2,"searchUrl": "https://www.linkedin.com/learning/search?keywords=python","scrapedAt": "2026-07-24T18:40:11.000Z"}
π‘ Use cases
- Competitive analysis for course creators β before producing a course, see every existing title on the topic, who teaches it, how long it is, how it is rated and when it was last refreshed.
- Ed-tech market research β map catalog depth, difficulty mix and release cadence per skill area; spot topics with old, low-rated coverage (content gaps).
- L&D benchmarking β compare your internal library against the LinkedIn Learning catalog per skill, difficulty and duration bracket.
- Skills intelligence β track which tools and skills get fresh course investment quarter over quarter.
- Content curation β build ranked shortlists of top-rated, recent courses per topic for learning paths and newsletters.
β FAQ
Do I need a LinkedIn account or cookies? No. The actor only reads the public, logged-out course catalog.
Why do I get at most ~50 results per keyword?
That is everything LinkedIn Learning's public search returns for a query β it serves a single page with no pagination for visitors. The Expand coverage option re-runs each keyword under the other sort orders and dedupes, which typically surfaces 1.5β2x more unique courses. For broad topics, the most effective strategy is several narrower keywords (e.g. "excel pivot tables", "excel formulas", "excel vba" instead of just "excel").
What does "Scrape full course details" add? The list page only shows title, byline, length, viewers and release date. Enrichment opens each course page and adds the description, structured instructors with job titles, exact ISO length, rating and rating count, difficulty, skills, learner enrollment and language.
Are results deduplicated? Yes β by course slug, across all keywords and sort variants in a run. You are never billed twice for the same course.
Can I scrape learning paths or single videos?
Yes β set Content type to LEARNING_PATH or VIDEO. Note that detail enrichment is richest for courses; video and learning-path pages expose less structured data, so some fields may be null.