Linkedin Learning

io.github.johnisanerd由 GitHub 账号 johnisanerd 发布v1.1.0更新于 Nov 7, 2026

LinkedIn Learning course data: ratings, syllabus, skills. Paid, on Apify's hosted MCP.

已验证Streamable HTTP可网页运行网页搜索与抓取知识与记忆数据与分析

概览

AI 生成的概览

一个托管在 Apify 上的 MCP 服务器,让助手搜索公开的 LinkedIn Learning 课程目录,并获取课程详情、评价和教学大纲。

可以做什么
  • 按关键词或主题搜索公开的 LinkedIn Learning 课程目录,可按难度、时长、软件和内容类型筛选。
  • 根据课程、单节课或学习路径链接获取完整课程记录,包括评分、学习人数、讲师、技能和证书信息。
  • 读取学员撰写的文字评价,含评价者姓名、职位和主页链接。
  • 逐节查看教学大纲,包括每节课的免费试看标记和免费课时数量。
  • 将结果行导出为 JSON、CSV 或 Excel,并可定时运行以跟踪新课程或刷新评分。
适用场景
适合在无需站点授权或登录的情况下做课程目录调研、收集评分与评价文本,或查看大纲和免费试看内容,例如构建课程对比数据集、跟踪某主题的新上线课程。
运行要求
使用 Apify 托管的远程 MCP 端点,通过 OAuth 登录或使用 Apify API 令牌(以 bearer Authorization 请求头发送)访问。运行费用计入 Apify 账户。README 中的 Python 客户端方式还需要 Python 3.11 或更高版本、uv 以及 APIFY_API_TOKEN。
安装前请注意
付费服务:按搜索结果行和完整课程记录行计费,另有 Apify 平台事件费用,建议先用小规模运行确认数据结构再提高 maxItems。开启 expandWithFilters 或 enrichDetails 会产生更多计费行。仅读取公开页面,不涉及学员活动或许可版报表数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Linkedin Learning,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.johnisanerd%2Flinkedin-learning/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "linkedin-learning": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=johnvc/linkedin-learning-api"
    }
  }
}

README

🎓 LinkedIn Learning API: Course Data, Reviews and Syllabus from Python and MCP

A Python and MCP quick-start for the LinkedIn Learning API on Apify. Search the public LinkedIn Learning course catalog by keyword, skill level, length or software, then pull the full record for any course: rating and rating count, written learner reviews, the complete syllabus with a description and a free-preview flag on every lesson, instructors with profile links, skills taught and certificate details. None of it needs a login, a cookie or a site license.

LinkedIn's own Learning API is available only through its Partner Program or a purchased site license, with OAuth keys an admin has to provision. This Actor reads the pages LinkedIn Learning already publishes to logged-out visitors and returns the same catalog metadata as JSON: course title, link, instructors, duration, viewer count and thumbnail from a search, or the full record with reviews and table of contents from a course URL. It covers the public catalog only. LinkedIn's reporting API, which returns learner activity for a licensed organization, is a different product and nothing here reads it. You pay per row: $0.10 per 1,000 search results and $0.50 per 1,000 full course records. Apify also applies its platform accounting events, $0.00001 per Actor start (one event per GB of run memory, at least one) and $0.00001 per stored dataset row.

Video: Build MCP servers with Apify

[Apify MCP servers overview]

Text walkthrough

The LinkedIn Learning API has two modes, set by mode. In search mode you pass queries (up to 25 keywords) or topics, optionally narrowed by sortBy, difficultyLevel, entityType, duration and softwareNames, and each course comes back as a search_result row with title, courseUrl, courseId, entityType, instructors, durationText, viewersText, releaseText and thumbnailUrl. LinkedIn serves at most 50 results per query, so expandWithFilters re-runs the query across LinkedIn's own filter combinations and merges the unique courses when you need a fuller course list. In details mode you pass courseUrls (course, lesson or learning path links, up to 200) and get a course_detail row with ratingValue, ratingCount, enrollmentCount, reviews, tableOfContents with a per-lesson isFree flag, skills, instructors, lessonCount, freeLessonCount, hasCertificate and certificateName. Setting enrichDetails to true on a search opens each found course and returns the full record instead, billed once at the full-record rate. The published task Extract LinkedIn Learning Course Reviews and Ratings runs details mode on three course URLs and returns the written review text with each reviewer's name, job title and profile link; run_course_reviews() in the example file makes the same details-mode call from Python, trimmed to the first of those three URLs so the first run costs about $0.0005.

Quick Start

Prerequisites: Python 3.11 or newer, uv, and a free Apify API token from apify.com.

bash
git clone https://github.com/johnisanerd/Apify-LinkedIn-Learning-API.gitcd Apify-LinkedIn-Learning-APIuv synccp .env.example .env          # paste your token into .envuv run python linkedin-learning-api-example.py

Each example is a separate flag:

bash
uv run python linkedin-learning-api-example.py --example default      # search "python", 5 rowsuv run python linkedin-learning-api-example.py --example catalog      # course catalog rows, each printed as JSONuv run python linkedin-learning-api-example.py --example reviews      # written reviews for one courseuv run python linkedin-learning-api-example.py --example new-courses  # newest releases on a topicuv run python linkedin-learning-api-example.py --example all

Every example asks for a small number of rows on purpose. You pay per row delivered, so confirm the shape of the data first, then raise maxItems.

If you do not want a .env file, export the token instead:

bash
export APIFY_API_TOKEN="paste_your_real_token_here"   # replace with the token from your Apify accountuv run python linkedin-learning-api-example.py

Why use this LinkedIn Learning API

A short list of what the Actor returns and what it costs, before the field-level detail in Features and Output Format.

No login and no site license

The Actor reads only what LinkedIn Learning shows a logged-out visitor. There is no field for a session cookie and no OAuth step. Anyone with a free Apify token can run it.

The full syllabus, lesson by lesson

tableOfContents lists every section and lesson with its own title, description, durationSeconds, url and an isFree flag, with freeLessonCount totalled on the course. That is how you find the free preview lessons without opening each page.

Pay for the rows you receive

Search results are billed on the course-found event at $0.10 per 1,000; full records on course-detail at $0.50 per 1,000. Duplicates, error rows and the popular-courses page LinkedIn substitutes when a query matches nothing are never charged at the course-found or course-detail rate.

LinkedIn Learning reviews with the reviewer's identity

A full course record carries reviews whenever the course page publishes written reviews: the review text, its star rating, and the reviewer's authorName, authorJobTitle and authorProfileUrl, plus datePublished. Other course data tools stop at the star average and rating count; the written text and who wrote it are only on the course page.

LinkedIn Learning course catalog and course list past the 50-result cap

LinkedIn shows at most 50 results for any one search. Run search mode across a set of keywords or topic pages, turn on expandWithFilters to get past that ceiling, and export the dataset as JSON, CSV or Excel. expandWithFilters repeats each query across LinkedIn's own filter combinations and merges the unique courses; within each query rows deduplicate on courseId, lessons on their own URL, so a course reached through two slugs is returned once; a course that matches two different queries appears once under each searchQuery. It is the closest thing to a LinkedIn Learning course catalog download that needs no account.

LinkedIn Learning learning paths, lessons and courses, told apart

entityType separates COURSE, VIDEO and LEARNING PATH in search results. A learning path URL in details mode returns pathUrl, courseCount and the ordered courses inside it; a lesson URL returns that lesson joined to its parent courseId.

Features

Core Capabilities

  • Search by queries or topics, narrowed with sortBy, difficultyLevel, entityType, duration and softwareNames.
  • LinkedIn Learning course catalog download: expandWithFilters re-runs a query across LinkedIn's own filter combinations, the only route past the 50-results-per-query cap, so a course list longer than 50 rows comes from one run.
  • LinkedIn Learning learning paths: details mode takes course, lesson and learning path URLs, up to 200 per run, and returns a course_detail, lesson or learning_path row for each.
  • enrichDetails turns a search into full course records in one run, billed once per row at the full-record rate.
  • LinkedIn Learning free courses: freeLessonCount and the per-lesson isFree flag in tableOfContents show how much of each course is watchable without a subscription.
  • Online courses dataset: run many queries or topics in one search and export the rows from every query, each labelled with its searchQuery, as JSON, CSV or Excel.

Data Quality

  • Each review carries body, rating, authorName, authorJobTitle, authorProfileUrl and datePublished.
  • Every lesson in tableOfContents has its own description, durationSeconds, url and isFree flag.
  • courseUrl is the canonical link with tracking parameters stripped; within each query (and within a details run) rows deduplicate on courseId, lessons on their own URL, so a course reached through two slugs is returned once; a course that matches two different queries appears once under each searchQuery.
  • no_results and error rows are pushed so you can see what failed, and are never billed at the course-found or course-detail rate.

Recipes

Ready-made configurations with their own Store landing pages:

Schedule tip. Save any of these inputs as a Task on the Actor page and schedule it to run weekly. With sortBy set to RECENCY the dataset lists the newest courses on a topic every week, and with enrichDetails on it refreshes ratingValue, ratingCount and the written reviews for every course, without anyone touching it.

Usage Examples

Basic, matching the default run:

json
{  "mode": "search",  "queries": ["python"],  "sortBy": "RELEVANCE",  "difficultyLevel": "ANY",  "entityType": "COURSE",  "duration": "ANY",  "maxItems": 5}

Advanced, a filtered search enriched to full records:

json
{  "mode": "search",  "queries": ["excel"],  "softwareNames": ["Microsoft Excel"],  "difficultyLevel": "BEGINNER",  "duration": "BETWEEN_1_TO_2_HOURS",  "sortBy": "POPULARITY",  "maxItems": 10,  "enrichDetails": true,  "maxConcurrency": 5}

Details mode, full records for URLs you already have:

json
{  "mode": "details",  "courseUrls": [    "https://www.linkedin.com/learning/python-essential-training-18764650",    "https://www.linkedin.com/learning/paths/getting-started-with-python"  ]}

Input Parameters

Only mode is required. Search settings apply when mode is search; courseUrls applies when mode is details. In search mode at least one of queries or topics must be non-empty.

ParameterTypeRequiredDefaultDescription
modestringyessearchsearch to find courses by keyword with filters, or details to pull the full record for course URLs you already have.
queriesarray of stringsearch mode, unless topics is setprefilled ["python"]Keywords to search, one per line. Each query is searched separately and its rows are labelled with the query that found them. Up to 25.
topicsarray of stringsearch mode, unless queries is set[]LinkedIn Learning topic slugs or topic URLs to browse, such as python or https://www.linkedin.com/learning/topics/python. Up to 25.
sortBystringnoRELEVANCERELEVANCE, POPULARITY or RECENCY.
difficultyLevelstringnoANYANY, BEGINNER, INTERMEDIATE or ADVANCED.
entityTypestringnoANYANY, COURSE, VIDEO or LEARNING_PATH.
durationstringnoANYANY, BETWEEN_0_TO_10_MIN, BETWEEN_10_TO_30_MIN, BETWEEN_30_TO_60_MIN, BETWEEN_1_TO_2_HOURS, BETWEEN_2_TO_3_HOURS or MORE_THAN_3_HOURS.
softwareNamesarray of stringno[]Keep only courses that teach this tool, using LinkedIn's own label such as Python, Microsoft Excel, SQL, ChatGPT or Claude. The schema accepts up to 10 values, but LinkedIn applies only the first label it receives, so pass one label per run and start a separate run for each additional label.
maxItemsintegerno50Courses to return per query, 1 to 1000. LinkedIn serves at most 50 per query and filter combination, so ask for more only with expandWithFilters on.
expandWithFiltersbooleannofalseRun the same query again across LinkedIn's own filter combinations and merge the unique courses. The only way past the 50-per-query ceiling; returns more billable rows.
enrichDetailsbooleannofalseOpen each course found by the search and return its full record. Enriched rows are billed at the full-record rate instead of the search rate, never both.
courseUrlsarray of stringdetails modeprefilled with one course URL, default []Course, lesson or learning path URLs to collect in full, one per line. Up to 200 per run.
maxConcurrencyintegerno5How many course pages to read at once, 1 to 10, in details mode and during enrichment.
requestTimeoutSecsintegerno40How long to wait for a single page before retrying it, 10 to 120 seconds.

Output Format

A search_result row:

json
{  "position": 1,  "title": "Python Essential Training",  "courseUrl": "https://www.linkedin.com/learning/python-essential-training-18764650",  "courseId": "18764650",  "entityType": "COURSE",  "instructors": [{ "name": "Ryan Mitchell" }],  "durationText": "4h 23m",  "durationSeconds": 15780,  "thumbnailUrl": "https://media.licdn.com/dms/image/v2/D560DAQEruxcXLwzu_A/l...",  "viewersText": "646,624 viewers",  "releaseText": "Released Jan 25, 2023",  "resultType": "search_result",  "searchQuery": "python",  "searchType": "query",  "appliedFilters": { "sortBy": "RELEVANCE" },  "approximateTotalResults": 9816,  "fetchedAt": "2026-08-27T18:14:05.123456+00:00"}

A course_detail row, trimmed to one syllabus section and one review:

json
{  "resultType": "course_detail",  "sourceUrl": "https://www.linkedin.com/learning/python-essential-training-18764650",  "courseUrl": "https://www.linkedin.com/learning/python-essential-training-18764650",  "courseId": "18764650",  "title": "Python Essential Training",  "description": "Get a comprehensive overview of the Python programming language.",  "difficultyLevel": "Beginner",  "provider": "LinkedIn Learning",  "language": "en",  "instructors": [    {      "name": "Ryan Mitchell",      "jobTitle": "Principal Software Engineer",      "profileUrl": "https://www.linkedin.com/in/remitchell",      "imageUrl": "https://media.licdn.com/dms/image/v2/C5603AQHi4kzL_mpFUQ/p..."    }  ],  "skills": [    { "name": "Python (Programming Language)", "url": "https://www.linkedin.com/learning/topics/python" }  ],  "categoryPath": ["All topics", "Technology", "Software Development", "Programming Languages"],  "dateCreated": "2023-01-25",  "datePublished": "2023-01-25",  "durationText": "PT4H23M9S",  "durationSeconds": 15789,  "enrollmentCount": 646624,  "ratingValue": 4.7,  "ratingCount": 17489,  "reviews": [    {      "rating": 5,      "body": "Clear and well paced.",      "authorName": "Takaaki Iwai",      "authorJobTitle": "Supply Chain Lead",      "authorProfileUrl": "https://jp.linkedin.com/in/example",      "datePublished": "2026-08-21T05:38:27.264Z"    }  ],  "tableOfContents": [    {      "section": "Introduction",      "items": [        {          "title": "Getting started with Python",          "durationText": "50s",          "durationSeconds": 50,          "url": "https://www.linkedin.com/learning/python-essential-training-18764650/getting-started-with-python",          "isFree": true,          "description": "Meet the instructor and preview key topics."        }      ]    }  ],  "lessonCount": 56,  "freeLessonCount": 10,  "hasCertificate": true,  "certificateName": "LinkedIn Learning Certificate of Completion",  "accessModel": "Subscription",  "thumbnailUrl": "https://media.licdn.com/dms/image/v2/D560DAQEruxcXLwzu_A/l...",  "parseSource": "jsonld",  "fetchedAt": "2026-08-27T18:14:05.123456+00:00"}

Fields you will use most:

FieldTypeRowsDescription
resultTypestringallsearch_result, course_detail, lesson, learning_path, no_results or error.
titlestringsearch, detail, lesson, pathCourse, lesson or learning path title as published.
courseUrlstringsearch, detail, lessonCanonical course link with tracking parameters removed.
courseIdstringsearch, detail, lessonIdentifier taken from the trailing number in the course URL, or the URL slug when the course has no number; lesson rows carry their parent course's id.
entityTypestringsearchCOURSE, VIDEO or LEARNING PATH.
instructorsarraysearch, detail, lessonName on search rows; name, job title, profile link and photo on full records.
durationText, durationSecondsstring, integersearch, detail, lessonLength as displayed on search rows, ISO 8601 on detail rows, plus whole seconds.
viewersText, releaseTextstringsearchViewer count and release date as shown on the search card.
approximateTotalResultsintegersearchHow many courses LinkedIn reports for the query. A size signal, not an exact count.
ratingValue, ratingCountnumber, integerdetailAverage learner rating out of 5 and how many learners rated.
enrollmentCountintegerdetailHow many people have taken the course.
reviewsarraydetailWritten reviews: rating, body, authorName, authorJobTitle, authorProfileUrl, datePublished.
tableOfContentsarraydetailEvery section and lesson with title, description, durationSeconds, url and isFree.
lessonCount, freeLessonCountintegerdetailLessons in the course and how many can be watched without a subscription.
skillsarraydetailSkills taught, each linked to its LinkedIn Learning topic page.
hasCertificate, certificateNameboolean, stringdetailWhether a certificate of completion is awarded, and its name.
pathUrl, courses, courseCountstring, array, integerlearning pathThe path link, its ordered member courses and how many there are.
httpStatusintegererrorStatus code LinkedIn returned, when there was one.
fetchedAtstringallWhen the row was collected, in UTC.

no_results rows carry resultType, searchQuery, message and fetchedAt; error rows carry resultType, errorType, errorMessage, fetchedAt, plus sourceUrl and httpStatus when the failure concerns one URL. An invalid-input error carries no URL or query at all. Learning path rows use pathUrl in place of courseUrl.

🤖 Ask an AI assistant about this Actor

Open a ready-to-send prompt about the LinkedIn Learning API in the AI of your choice:

People also search for

Will this put my LinkedIn or LinkedIn Recruiter account at risk?

No. It reads public LinkedIn pages only, the ones anyone can open while signed out. It never logs in and never asks for your cookies: there is no input for an account, a password or an li_at session cookie. Nothing it does is tied to your LinkedIn account, your LinkedIn Learning license, your LinkedIn Recruiter seat or your Sales Navigator license. The requests run on Apify's servers, not in your browser, so nothing connects them to you, and you can keep working in Recruiter while a run is going.

Does LinkedIn Learning give certificates?

Yes, a certificate of completion, and every full course record reports it in hasCertificate and certificateName (for example LinkedIn Learning Certificate of Completion). It is a certificate of completion rather than an accredited qualification.

Are LinkedIn Learning courses free?

Most courses need a subscription (accessModel reads Subscription wherever the course page publishes an offer, and is left out of the row otherwise), but courses expose individual lessons as free previews. The API flags each one with isFree inside tableOfContents and totals them in freeLessonCount, so you can sort a set of courses by how much is watchable for free.

How do you get a list of LinkedIn Learning courses?

Run the Actor in search mode with one or more queries, or point it at topics. Each row is one course with its title, link, instructors, duration and viewer count. LinkedIn caps any single query at 50 results, so a longer LinkedIn Learning course list comes from more queries or from expandWithFilters, which re-runs a query across LinkedIn's own filter combinations and merges the unique courses. The official course list download and the official API both need a site license or Partner Program access, provisioned by an admin. The task LinkedIn Learning Course Data Without a Login is that search with no account and no session cookie.

Do all LinkedIn Learning courses have certificates?

Most do, but check rather than assume: run a search with enrichDetails set to true and filter the dataset on hasCertificate. Learning path and single-lesson rows carry no hasCertificate field at all, so filter on resultType equal to course_detail before reading it.

What is a learning path in LinkedIn Learning?

A learning path is a curated sequence of several courses on one topic. In search results it appears with entityType LEARNING PATH, and you can restrict a search to paths with entityType: "LEARNING_PATH". Pass a /learning/paths/... URL in details mode and you get a learning_path row with pathUrl, courseCount and the ordered courses inside it.

What is the difference between a LinkedIn Learning path and a course?

A course is one multi-lesson unit with its own syllabus, rating and certificate. A path is a container that orders several courses. The entityType field tells them apart in search results (COURSE against LEARNING PATH), and in details mode a course URL returns a course_detail row while a path URL returns a learning_path row listing its member courses.

How do you find the free courses on LinkedIn Learning?

Pull full records with details mode or enrichDetails, then read isFree on every lesson in tableOfContents and freeLessonCount on the course. The published task Find Free Preview Lessons in LinkedIn Learning Courses does this for three courses.

Can you download the LinkedIn Learning course catalogue?

LinkedIn's own course list download is an admin feature of a purchased site license. Without one, run this Actor in search mode across the keywords or topic pages you care about, turn on expandWithFilters, and export the dataset as JSON, CSV or Excel from the run's Output tab or through the dataset endpoint. A broad catalog is assembled from many queries because LinkedIn caps each one at 50 results.

Is this the official LinkedIn Learning API or the reporting API?

Neither. The official LinkedIn Learning API and the LinkedIn Learning reporting API are LinkedIn products for organizations with a Partner Program agreement or a site license, provisioned by an admin with OAuth keys, and the reporting API returns learner activity such as who completed what. This Actor reads only the public course pages, so it returns course metadata, reviews and syllabus content and no learner activity at all.

Where is the LinkedIn Learning API documentation for this Actor?

The input schema documents every parameter, the Output Format section above documents the fields you will use most, and the two sample rows show the full shape of a search result and a full course record. The Actor page's API tab shows the REST API calls that start a run from curl, Node or Python, for any API integration that cannot use this Python client.

How do I use the LinkedIn Learning API from Python?

Clone this repo, run uv sync, put your Apify token in .env, and run uv run python linkedin-learning-api-example.py. The rows() helper shows the whole pattern: call the Actor with a run_input dictionary, then iterate the run's default dataset.

Can I use the LinkedIn Learning API with MCP or Claude?

Yes. The install sections below add the Actor as an MCP tool in Claude Code (free trial), Claude Cowork Desktop (free trial), Claude on the web, Cursor and ChatGPT. Once connected, an agent can search the catalog and pull full course records on its own.

Install in Claude Cowork Desktop

[Install in Claude Cowork Desktop]

Cowork is the desktop app's automation mode. To give it the LinkedIn Learning API as a tool, add the Apify MCP server as a connector.

  1. Open the Claude desktop app and go to Settings → Connectors (or Settings → Developer → Edit Config to edit claude_desktop_config.json directly).
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the Apify MCP server, preloaded with only this Actor:
json
{  "mcpServers": {    "apify": {      "command": "npx",      "args": [        "-y",        "mcp-remote",        "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api"      ]    }  }}
  1. Restart the app. When Cowork first calls the tool, complete the OAuth prompt in your browser, or add your Apify API token in the connector settings to skip OAuth.
  2. In a Cowork chat, confirm the tool is available and ask it to run the LinkedIn Learning API.

Download the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop


Install in Claude Code

[Install in Claude Code]

Claude Code is the command-line tool. Add the Actor's MCP server with one command:

bash
claude mcp add --transport http apify \  "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api"

To use a token instead of browser OAuth:

bash
claude mcp add --transport http apify \  "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api" \  --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the LinkedIn Learning API.

Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp


Install in Claude (website)

[Install in Claude (website)]

On claude.ai you add Apify as a connector, then enable just this Actor's tool.

  1. Go to Settings → Connectors → Browse connectors and search for Apify MCP server. Install it (enable or update if prompted).
  2. When connecting, authenticate with your Apify API token, and enable the tool johnvc/linkedin-learning-api.
  3. In any chat, open + → Connectors and turn on Apify.
  4. Alternatively, choose Add custom connector and paste the full MCP URL https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api, using OAuth when prompted.
  5. Ask Claude to run the LinkedIn Learning API.

Open Claude on the web: https://claude.ai


Install in Cursor

[Install in Cursor]

Cursor reads MCP servers from a project file at .cursor/mcp.json.

  1. In your project, create .cursor/mcp.json:
json
{  "mcpServers": {    "apify": {      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api"    }  }}
  1. If you prefer token auth over browser OAuth, add a header:
json
{  "mcpServers": {    "apify": {      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api",      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }    }  }}
  1. Open Cursor → Settings → MCP and confirm the apify server is connected (green dot).
  2. In Composer or Chat, ask Cursor to call the LinkedIn Learning API.

New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX


Install in ChatGPT

[Install in ChatGPT]

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).

  1. Click your profile icon, then go to Settings > Apps. If you do not see a Create app button, open Advanced settings and enable Developer mode.
  2. Click Create app and fill out the form:
    • Name: Apify
    • MCP Server URL: https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-learning-api
    • Authentication: OAuth
  3. Click Create and authorize the connection with Apify.
  4. To use the app in a conversation, click + in the chat, choose Developer mode, and select Apify.

More help: https://docs.apify.com/platform/integrations/mcp


🌐 About Alpha OSINT

This example repo is part of Alpha OSINT, toolset of financial and operations data sources and APIs. See the LinkedIn Learning API source page for related tools and use cases. For support or requests for this actor, please start a ticket directly on our support page.

Made with care by johnvc on Apify.

Last Updated: 2026.10.27

来源:README.md,提交 456a45f

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v1.1.0最新Nov 7, 2026
  2. v1.0.0Nov 3, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。