This resource represents LinkedIn Learning activity reports like course completions, seconds of content viewed and learner days active. You can use these methods to aggregate activity data by account, group, individual or content.
Note
Disclaimer: LinkedIn Learning is constantly investing in our reporting infrastructure. In the future, there may be changes to the Reporting API which can require adjustments to how the data is queried. These updates may require you to make some updates on your end. We intend to provide detailed guidance in advance of any potential changes to ensure that you have enough time to make necessary changes in your application.
Sample Request
curl -X GET \
'https://api.linkedin.com/v2/learningActivityReports?q=criteria&count=1&startedAt=1627267600000&timeOffset.unit=DAY&timeOffset.duration=7&aggregationCriteria.primary=ACCOUNT&contentSource=ALL_SOURCES' \
-H 'Authorization: Bearer AQW...'
Designates the query finder. The value of this parameter should always be criteria.
String
Yes
startedAt
Specifies the beginning time for the range of records to be returned or summarized by the report. Represented by number of milliseconds since midnight, January 1, 1970 UTC.
Long
Yes
sortBy.engagementMetricType
An engagement type metric by which the results should be sorted. Supported values include:
Denotes whether the content is proprietary to the LinkedIn Learning account, from LinkedIn Learning, or from a third-party provider. If it is admin created "custom content" the source will be ORGANIZATION. If it is LinkedIn Learning content the source will be LINKEDIN_LEARNING. For third-party content the source will be THIRD_PARTY. Supported values include:
Aggregation at LinkedIn Learning account level. This is the highest possible level of aggregation.
INDIVIDUAL
Aggregation at individual user or learner level.
CONTENT
Aggregation at content level.
AssetType
Symbol
Description
ARTICLE
A piece of written work published in a print or electronic medium. It is a type of document which refers to a specific topic, forming an independent part of a publication such as book, newspaper or web platform. Ex. Blog post.
ASSESSMENT
Used to evaluate a learner's skill and knowledge.
AUDIO
Audio-only content with no video elements, like audio books and podcasts.
BOOK
Includes full length books presented in any form, text, audiobook, or otherwise. Does not include book summaries, reviews, excerpts, or other incomplete versions of a book.
COURSE
A course is a collection of chapters that represent a cohesive learning experience around a concept or concepts.
DOCUMENT
A document refers to a medium of record for decisions, transactions, plan etc. Ex. Wiki page, PDF, etc.
EVENT
An event is an entity that can be scheduled to happen at a particular time where the learning content is synchronously offered (in-person or online) to the learners. Ex. workshops, seminars, tech talks, trainings.
LEARNING_COLLECTION
A learning collection is a non-sequential collection of learning assets generally centered around a skill or concept.
LEARNING_PATH
A learning path is a guided sequential collection of courses and other content that is designed to teach a skill or set of skills. Generally much larger in scope than an individual course.
VIDEO
A video represents a single viewable video. It is one of the basic building blocks used in the larger learning assets like courses and learning paths.
ContentDetails
Field
Description
Type
Required
name
Title of the learningAsset. For example, “Excel Essential Training”.
String
Yes
locale
ISO 639-1 language code of the content, including locale information.
This field is being replaced by contentProviderName, but the ContentSource enum will remain in use as a query parameter. Determines the source of the content. If it is admin created "custom content" the source will be INTERNAL. If it is LinkedIn Learning content the source will be EXTERNAL.
Value of the engagement for the engagement type. For example, number of seconds views or course completions.
Long
No
lastEngagedAt
The time when the content was last engaged. For example, the date the content was last viewed or completed. For COMPLETIONS this is the time when the content was completed.
Time
No
EngagementMetricType
Symbol
Description
SECONDS_VIEWED
Total number of seconds a content has been viewed by enterprise entities.
COMPLETIONS
Number of times the content has been completed by enterprise entities.
DAYS_ACTIVE
Total number of days the enterprise entities did at least one engagement for any content (day is defined as the period of 24 hours starting from 12am PDT)
MARKED_AS_DONE
Number of times the content has been marked as done by enterprise entities.
PROGRESS_PERCENTAGE
Percentage of the content completed.
VIEWS
Number of views for the content.
ENGAGED_LEARNERS
Number of times the content has been engaged with by enterprise entities.
EngagementMetricQualifier
Symbol
Description
TOTAL
Total number of times the content has been engaged by enterprise entities.
UNIQUE
Number of times the content has been engaged by unique enterprise entities.
LearnerDetails
Field
Description
Type
Required
name
Name of the enterprise entity. An enterprise entity can be an account, group or individual.
String
No
email
Email address of the enterprise entity.
String
No
enterpriseGroups
A list of groups that the enterprise profile belongs to.
Array
Yes (default=[])
uniqueUserId
If present, a unique and immutable user identifier. This value is generally provided to LinkedIn Learning through a manual or automated user provisioning process during account configuration. This value is often used to make an association between learner profiles in other enterprise applications like learning management systems (LMSs) or business intelligence (BI) tools.
String
No
entity
LinkedIn Learning specific unique entity identifier
String
Yes
customAttributes
Additional profile attributes provided by the enterprise. This data is generally provided to LinkedIn Learning through a manual or automated user provisioning process during account configuration.
Object
No
Locale
Field
Description
Type
Required
country
If present, an uppercase two-letter country code as defined by ISO-3166.
String
No
language
A lowercase two-letter language code as defined by ISO-639.