LinkedIn Learning Courses Scraper
Pricing
from $3.00 / 1,000 results
LinkedIn Learning Courses Scraper
Scrape LinkedIn Learning course catalog - search by keyword or skill category and return courses with title, instructor, duration, skill level, skills taught, and more. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Search the LinkedIn Learning course catalog by keyword and extract structured data about courses, learning paths, and videos — no login or subscription required.
What it scrapes
- Course title and direct URL
- Instructor name
- Duration (seconds + human-readable, e.g. "2h 15m")
- Difficulty level (Beginner / Intermediate / Advanced)
- Skills taught (array of skill names)
- Description (course overview text)
- Asset type (Course / Learning Path / Video)
- Scraped timestamp
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | Yes | "Python machine learning" | Keyword or skill to search for |
maxResults | integer | No | 50 | Maximum courses to return (1–500) |
difficultyLevel | enum | No | All levels | Filter by BEGINNER / INTERMEDIATE / ADVANCED |
assetType | enum | No | COURSE | COURSE, LEARNING_PATH, or VIDEO |
sortBy | enum | No | RELEVANCE | RELEVANCE or RECENCY |
proxyConfiguration | object | No | — | Optional Apify proxy settings |
Example input
{"searchQuery": "Python machine learning","maxResults": 50,"difficultyLevel": "BEGINNER","assetType": "COURSE","sortBy": "RELEVANCE"}
Output
Each scraped record looks like:
{"courseId": "123456","courseUrl": "https://www.linkedin.com/learning/python-for-data-science/","title": "Python for Data Science","instructorName": "Joe Smith","durationSeconds": 7200,"durationFormatted": "2h","difficultyLevel": "BEGINNER","skills": ["Python", "Data Science", "Pandas"],"description": "Learn Python for data science workflows including data manipulation and visualization.","assetType": "COURSE","scrapedAt": "2024-01-15T12:00:00+00:00"}
Output fields
| Field | Type | Description |
|---|---|---|
courseId | string | Unique course identifier extracted from the LinkedIn URN |
courseUrl | string | Direct URL to the course on LinkedIn Learning |
title | string | Full course title |
instructorName | string | Primary instructor or content creator |
durationSeconds | integer | Total course duration in seconds |
durationFormatted | string | Human-readable duration (e.g. "2h 15m", "45m") |
difficultyLevel | string | BEGINNER, INTERMEDIATE, or ADVANCED |
skills | array | List of skill names the course teaches |
description | string | Course overview / description |
assetType | string | COURSE, LEARNING_PATH, or VIDEO |
scrapedAt | string | ISO 8601 timestamp when the record was scraped |
Fields that cannot be populated for a given course are omitted (no null values).
Use cases
- Skill gap analysis — find what topics and technologies are covered by popular LinkedIn Learning courses
- Content research — survey what instructors and courses exist in a domain
- Learning recommendation systems — build datasets of course metadata for recommendation engines
- Competitive intelligence — monitor the LinkedIn Learning catalog for a skill category
Limitations
- LinkedIn Learning does not expose enrollment counts or ratings in the public search API; those fields are not included
- Course descriptions and skill tags depend on how the course was catalogued by LinkedIn
- Results may vary slightly by geographic region
maxResultsis capped at 500 per run
FAQs
Does this require a LinkedIn account or login? No. The scraper uses LinkedIn Learning's public search endpoint which does not require authentication.
Does it need a subscription to LinkedIn Learning? No. Course catalog metadata is publicly accessible without a subscription.
Why are some courses missing descriptions or instructor names? Some newer or partner-contributed courses may have incomplete metadata on LinkedIn's end. The scraper only outputs fields that are actually populated.
Can I filter by topic or category?
Use the searchQuery field with specific topic keywords (e.g. "project management", "data analysis", "React.js"). Combine with difficultyLevel for more targeted results.
What is a Learning Path?
A Learning Path is a curated sequence of courses on LinkedIn Learning. Set assetType to LEARNING_PATH to search specifically for these.
How many results can I get?
Up to 500 courses per run. For broader research, run multiple searches with different keywords and deduplicate by courseId.
Explore the rest of the LinkedIn suite
Need a different LinkedIn surface? Pair this actor with any of the others in the LinkedIn Suite — all published under the same publisher and built to share the same cookie format and output conventions.
| Actor | What it scrapes |
|---|---|
| LinkedIn Comments Scraper | All comments + reply threads on a post |
| LinkedIn Company Employees Scraper | Employee list for any company (by URN) |
| LinkedIn Company Info Scraper | Company About page (size, HQ, industry, specialties) |
| LinkedIn Company Posts Scraper | Posts published from a company page |
| LinkedIn Events Scraper | Events by keyword/URL with full event detail |
| LinkedIn Hashtag Posts Scraper | Posts ranked under a #hashtag |
| LinkedIn Jobs Scraper | Job listings via the public jobs-guest API |
| LinkedIn Jobs Scraper Ultra | Same as jobs-scraper + full detail enrichment |
| LinkedIn People Search Scraper | People search with every LinkedIn facet (role, company, school, location, etc.) |
| LinkedIn Post Reactions Scraper | Reactors on a post (name, headline, reaction type) |
| LinkedIn Post Scraper | Full post (text, media, engagement counts, author) |
| LinkedIn Post Search Scraper | Posts matching a keyword (with date/author/network filters) |
| LinkedIn Profile Posts Scraper | All posts/reposts/articles for one profile |
| LinkedIn Profile Scraper | Public profile fields (name, headline, positions, education, skills) |
| LinkedIn Profile Scraper Pro | Profile fields + extras (recommendations, organizations, languages) |
| LinkedIn Profile Scraper Pro Ultra | Pro + premium fields (contact info, followers list when allowed) |
| LinkedIn Profile Scraper Ultra | Profile + the full upstream dash-120 surface |
| LinkedIn Profile Search by Name | Search profiles by person name (great for matching CSVs of names) |
| LinkedIn Schools Alumni Scraper | Alumni list for any LinkedIn school page |
| LinkedIn Top Content Scraper | Trending / top-engagement posts by topic |
| LinkedIn User Activity Scraper | Reactions + comments + posts feed for one profile |
All actors share the same cookie input format (plain li_at OR full cookies JSON array) and the same omit-empty output convention.