learningActivityReports API Reference

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...'

Sample Response

{
    "elements": [
        {
            "latestDataAt": 1632207540000,
            "activities": [
                {
                    "engagementType": "DAYS_ACTIVE",
                    "engagementValue": 88,
                    "engagementMetricQualifier": "UNIQUE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 12,
                    "engagementMetricQualifier": "UNIQUE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "SECONDS_VIEWED",
                    "engagementValue": 2505,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "VIDEO",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "ARTICLE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "ARTICLE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "AUDIO",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "AUDIO",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "BOOK",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "BOOK",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "LEARNING_COLLECTION",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "LEARNING_COLLECTION",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 16,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "COURSE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 1,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "COURSE",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "DOCUMENT",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "DOCUMENT",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "EVENT",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "EVENT",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 2,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "LEARNING_PATH",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 0,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "LEARNING_PATH",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "VIEWS",
                    "engagementValue": 66,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "VIDEO",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                },
                {
                    "engagementType": "COMPLETIONS",
                    "engagementValue": 22,
                    "engagementMetricQualifier": "TOTAL",
                    "assetType": "VIDEO",
                    "firstEngagedAt": 1627267600000,
                    "lastEngagedAt": 1627354000000
                }
            ],
            "learnerDetails": {
                "entity": {
                    "accountUrn": "urn:li:enterpriseAccount:999"
                }
            }
        }
    ],
    "paging": {
        "total": 1,
        "count": 1,
        "start": 0,
        "links": [
            {
                "rel": "next",
                "href": "/v2/learningActivityReports?aggregationCriteria.primary=ACCOUNT&count=1&q=criteria&start=1&startedAt=1627267600000&timeOffset.duration=7&timeOffset.unit=DAY",
                "type": "application/json"
            }
        ]
    }
}

Query Parameters

Parameter Description Type Required
q 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:
  • SECONDS_VIEWED
  • COMPLETIONS
  • DAYS_ACTIVE
  • MARKED_AS_DONE
  • PROGRESS_PERCENTAGE
  • VIEWS
EngagementMetricType No
sortBy.engagementMetricQualifier An engagement type metric by which the results should be sorted. Supported values include:
  • TOTAL
  • UNIQUE
EngagementMetricQualifier No (Default = TOTAL)
sortOrder The order of the results. Supported values include:
  • ASCENDING
  • DESCENDING
String No (Default = DESCENDING)
timeOffset.unit Describes the offset from start parameter to be used. Supported timeOffset units include:
  • DAY
  • WEEK
String No
timeOffset.duration Describes the offset from start parameter to be used. Duration is limited to a max of 14 days/2 weeks from start date. Long No
locale.language Locale of the report. Report content will be localized based on this value. Supported values include:
  • de
  • en
  • es
  • fr
  • ja
  • pt
  • zh
String No (Default = en)
assetType Type of asset for the content whose report is generated. Supported values include:
  • COURSE
  • VIDEO
  • ARTICLE
  • AUDIO
  • BOOK
  • EVENT
  • LEARNING_COLLECTION
  • LEARNING_PATH
AssetType No
contentSource 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:
  • ALL_SOURCES
  • LINKEDIN_LEARNING
  • ORGANIZATION
  • THIRD_PARTY
  • INTERNAL (deprecated)
  • EXTERNAL (deprecated)
ContentSource No = EXTERNAL)
aggregationCriteria.primary The primary aggregation level for the report. Supported values include:
  • ACCOUNT
  • GROUP
  • INDIVIDUAL
  • CONTENT
  • ASSIGNMENT
AggregationCriteria No (Default = ACCOUNT)
aggregationCriteria.secondary The secondary aggregation level for the report. Supported values include:
  • ACCOUNT
  • GROUP
  • INDIVIDUAL
  • CONTENT
  • ASSIGNMENT
AggregationCriteria No

Response Fields

Field Name Description Type Required
activities All the relevant content engagements that occurred like the number of completions and unique views. EngagementMetric[] Yes
contentDetails Details corresponding to the content like the name, locale and ID. ContentDetails No
latestDataAt Milliseconds since epoch for the latest data on which the report is based. Long No
learnerDetails Details corresponding to the learner like the name, email and uniqueUserId LearnerDetails No

Definitions

AggregationCriteria

Symbol Description
ACCOUNT 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. Locale Yes
contentProviderName The name of the provider for this content. String No
contentSource (deprecated) 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. ContentSource No
websiteUrl The launch URL of the INTERNAL learning asset in the LinkedIn Learning web application. String No
contentUrn This is the primary content entity identifier String Yes

ContentSource

Symbol Description
ALL_SOURCES Combines LINKEDIN_LEARNING, ORGANIZATION, and THIRD_PARTY.
LINKEDIN_LEARNING Include content published by LinkedIn Learning.
ORGANIZATION Include content published by the caller's enterprise organization, not intended for use outside of the enterprise organization.
THIRD_PARTY Include content published by any organization for external use, including user-supplied content providers and the caller's own organization.
INTERNAL (deprecated) Resource is proprietary. It is only available to the LinkedIn Learning account making the request.
EXTERNAL (deprecated) Resource is available to all LinkedIn Learning customers.

EngagementMetric

Field Description Type Required
assetType Type of asset for the content whose report is generated. Supported values include:
  • COURSE
  • VIDEO
AssetType No
engagementType An engagement type metric by which the results should be sorted. Supported values include:
  • SECONDS_VIEWED
  • COMPLETIONS
  • DAYS_ACTIVE
  • MARKED_AS_DONE
  • PROGRESS_PERCENTAGE
  • VIEWS
  • ENGAGED_LEARNERS
EngagementMetricType Yes
engagementValue 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. String Yes
variant If present, a vendor or browser-specific code. String No