learningAssets API Reference

This resource represents LinkedIn Learning content metadata. You can use these methods to bulk import content metadata or add content search into your application.

Supported Methods

get

Sample Request

curl -X GET 'https://api.linkedin.com/v2/learningAssets/urn:li:lyndaCourse:563322?targetLocale.language=en&targetLocale.country=US&includeRetired=true&expandDepth=3&fields=urn,title' \
  -H 'Authorization: Bearer  AQU...'

Sample Response

{
    "urn": "urn:li:lyndaCourse:563322",
    "title": {
        "locale": {
            "country": "US",
            "language": "en"
        },
        "value": "Measuring Company Culture"
    }
}

Query Parameters

Parameter Description Type Required
targetLocale.language The locale language the API will use to try to localize the learning asset. These values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "in_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". If the learning asset cannot be localized or if the target locale is not set, the API will use the default locale of the learning asset. Supported language values include:
  • de
  • en
  • es
  • fr
  • in
  • it
  • ja
  • ko
  • pl
  • pt
  • tr
  • zh
String No
targetLocale.country The locale country the API will use to try to localize the learning asset. These values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "in_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". If the learning asset cannot be localized or if the target locale is not set, the API will use the default locale of the learning asset. Supported country values include:
  • BR
  • ES
  • CN
  • DE
  • FR
  • ID
  • IT
  • JP
  • KR
  • PL
  • US
  • TR
String No
expandDepth The number of levels in the learning asset hierarchy to include asset details. This parameter is optional. Long No (default = 1)
includeRetired Whether to include retired learning assets. Supported values include:
  • true
  • false
Boolean No (default = false)

criteria

Sample Request

curl -X GET \
  'https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.assetTypes[0]=COURSE&assetRetrievalCriteria.includeRetired=true&assetRetrievalCriteria.expandDepth=1&count=2&start=3400&assetFilteringCriteria.licensedOnly=true&assetFilteringCriteria.locales[0].country=US&assetFilteringCriteria.locales[0].language=en&fields=urn,title,details:(level)' \
  -H 'Authorization: Bearer  AQU...'

Sample Response

{
    "metadata": {},
    "elements": [
        {
            "urn": "urn:li:lyndaCourse:187499",
            "details": {
                "level": "BEGINNER"
            },
            "title": {
                "locale": {
                    "country": "US",
                    "language": "en"
                },
                "value": "Collaborative Design: Process and Efficiency"
            }
        },
        {
            "urn": "urn:li:lyndaCourse:187500",
            "details": {
                "level": "BEGINNER"
            },
            "title": {
                "locale": {
                    "country": "US",
                    "language": "en"
                },
                "value": "Collaborative Design: Vision and Strategy"
            }
        }
    ],
    "paging": {
        "total": 9782,
        "count": 2,
        "start": 3400,
        "links": [
            {
                "rel": "prev",
                "href": "/v2/learningAssets?assetFilteringCriteria.assetTypes[0]=COURSE&assetFilteringCriteria.licensedOnly=true&assetFilteringCriteria.locales[0].country=US&assetFilteringCriteria.locales[0].language=en&assetRetrievalCriteria.expandDepth=1&assetRetrievalCriteria.includeRetired=true&count=2&q=criteria&start=3398",
                "type": "application/json"
            },
            {
                "rel": "next",
                "href": "/v2/learningAssets?assetFilteringCriteria.assetTypes[0]=COURSE&assetFilteringCriteria.licensedOnly=true&assetFilteringCriteria.locales[0].country=US&assetFilteringCriteria.locales[0].language=en&assetRetrievalCriteria.expandDepth=1&assetRetrievalCriteria.includeRetired=true&count=2&q=criteria&start=3402",
                "type": "application/json"
            }
        ]
    }
}

Query Parameters

Parameter Description Type Required
q The value of this parameter should always be criteria. String Yes
assetFilteringCriteria.assetTypes The types of learning assets to search. The search results will include only learning assets of these types. If omitted, the search results will include learning assets of any type. Since this parameter is an array, you will need to specify a zero-based index per value. Supported values include:
  • COURSE
  • LEARNING_PATH
  • VIDEO
AssetType No
assetFilteringCriteria.classifications An array of learning classification URNs to search learning assets. The search results will include only learning assets tagged with these classifications. The supported URN types are "urn:li:lyndaCategory" and "urn:li:skill". Classification URNs can be discovered using /v2/learningClassifications endpoint. If omitted, the search results will include learning assets tagged with any classification. Since this parameter is an array, you will need to specify a zero-based index per value. String No
assetFilteringCriteria.difficultyLevels An array of difficulty levels of learning assets to search. The search results will include only learning assets of these difficulty levels. If omitted, the search results will include learning assets of any difficulty level. Since this parameter is an array, you will need to specify a zero-based index per value. Supported values include:
  • BEGINNER
  • INTERMEDIATE
  • ADVANCED
DifficultyLevel No
assetFilteringCriteria.keyword The keyword string to search learning assets. The search results will include only learning assets matching this keyword string, as determined by LinkedIn Learning's relevance algorithm. The value of this parameter is case-insensitive.If omitted, the search results will include learning assets matching any keyword string. String No
assetFilteringCriteria.lastModifiedAfter The time after which the assets were changed i.e. released, modified or retired. Represented by number of milliseconds since midnight, January 1, 1970 UTC. Time No
assetFilteringCriteria.locales[].language An array of languages from which results should be filtered on. The supported values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "id_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". Since the locales parameter is an array, you will need to specify a zero-based index per value. Supported language values include:
  • de
  • en
  • es
  • fr
  • in
  • it
  • ja
  • ko
  • pl
  • pt
  • tr
  • zh
String No (default=en)
assetFilteringCriteria.locales[].country An array of locale countries/regions from which results should be filtered on. Since the locales parameter is an array, you will need to specify a zero-based index per value. The supported values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "id_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". Supported country values include:
  • BR
  • ES
  • CN
  • DE
  • FR
  • ID
  • IT
  • JP
  • KR
  • PL
  • US
  • TR
String No (default=US)
assetFilteringCriteria.licensedOnly Boolean that indicates results should be filtered to only include learningAssets the caller is licensed to access. If this parameter is set to true and assetFilteringCriteria.locales parameter is omitted the locale values are implied by the callers licensed access. Boolean No (default = false)
assetPresentationCriteria.sortBy How to sort the learning assets in the search results. Relevance sorts the learning assets by LinkedIn Learning's relevance algorithm. Popularity sorts the learning assets by view count. Recency sorts the learning assets by publish date. Supported values include:
  • POPULARITY
  • RELEVANCE
  • RECENCY
String No (default = RELEVANCE)
assetRetrievalCriteria.expandDepth The number of levels in the learning asset hierarchy to include asset details. This parameter is optional; please see the "Specifying the level of asset details" section for an explanation with examples. Long No (default = 1)
assetRetrievalCriteria.includeRetired Whether to include retired learning assets. To retrieve active and retired learning assets, set this parameter to true. Supported values include:
  • true
  • false
Boolean No (default = false)
start The start index of learning assets for the page. Long No (default = 0)
count The number of learning assets to include in the page. The maximum count is 100 assets per page. Long No (default = 20)

Limited Response Scenarios

When certain query parameters are used to call the /learningAssets criteria finder, the endpoint returns only 500 records in the response body even if the number of records that match the query are greater than 500. A list of the parameters that trigger this behavior is documented below.

Query Parameter Sample Request
assetFilteringCriteria.assetTypes https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.assetTypes[0]=COURSE&assetFilteringCriteria.assetTypes[1]=CHAPTER
assetFilteringCriteria.difficultyLevels https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.difficultyLevels[0]=INTERMEDIATE
assetFilteringCriteria.keyword https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.keyword=Mixing Audio
assetFilteringCriteria.lastModifiedAfter https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.lastModifiedAfter=1271848477000
assetFilteringCriteria.licensedOnly https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.licensedOnly=true
assetPresentationCriteria.sortBy https://api.linkedin.com/v2/learningAssets?q=criteria&assetPresentationCriteria.sortBy=POPULARITY

Additionally, in some circumstances, calls to /learningAssets criteria finder endpoint will return the all the records rather than the truncated 500 if the calls match the exact following conditions:

  • Query parameter assetFilteringCriteria.assetTypes is set only once in the request to search records only for a single type of asset. A sample request in this scenario will look like https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.assetTypes[0]=COURSE.
  • Query parameter assetFilteringCriteria.licensedOnly is set in the request along with query parameterassetFilteringCriteria.assetTypes and query parameterassetFilteringCriteria.assetTypes is set only once. A sample request in this scenario will look like https://api.linkedin.com/v2/learningAssets?q=criteria&assetFilteringCriteria.licensedOnly=true&assetFilteringCriteria.assetTypes[0]=COURSE

localeAndType

Sample Request

curl -H 'Authorization: Bearer AQXt…' \
'https://api.linkedin.com/v2/learningAssets?q=localeAndType&assetType=COURSE&sourceLocale.language=en&sourceLocale.country=US&expandDepth=1&includeRetired=false&start=1000&count=20'

Sample Response

{
    "elements": [
        {
            "urn": "urn:li:lyndaCourse:144562",
            "details": {
                "level": "BEGINNER"
            },
            "title": {
                "locale": {
                    "country": "US",
                    "language": "en"
                },
                "value": "mocha 3 Essential Training"
            }
        },
        {
            "urn": "urn:li:lyndaCourse:144561",
            "details": {
                "level": "BEGINNER"
            },
            "title": {
                "locale": {
                    "country": "US",
                    "language": "en"
                },
                "value": "Learning AutoCAD for Mac"
            }
        }
    ],
    "paging": {
        "total": 7657,
        "count": 2,
        "start": 1000,
        "links": [
            {
                "rel": "prev",
                "href": "/v2/learningAssets?assetType=COURSE&count=2&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=998",
                "type": "application/json"
            },
            {
                "rel": "next",
                "href": "/v2/learningAssets?assetType=COURSE&count=2&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=1002",
                "type": "application/json"
            }
        ]
    }
}

Parameters

Parameter Description Type Required
q The value of this parameter should always be localeAndType. String Yes
assetType Specifies the type of learning asset you are retrieving. Supported values include:
  • COURSE
  • LEARNING_PATH
  • VIDEO
AssetType Yes
sourceLocale.language The locale language of the learning assets. The supported values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "in_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". Supported language values include:
  • de
  • en
  • es
  • fr
  • in
  • it
  • ja
  • ko
  • pl
  • pt
  • tr
  • zh
String Yes
sourceLocale.country The locale country of the learning assets. The supported values correspond to the locales "de_DE", "en_US", "es_ES", "fr_FR", "in_ID", "it_IT", "ja_JP", "ko_KR", "pl_PL", "pt_BR", "tr_TR" and "zh_CN". Supported country values include:
  • BR
  • ES
  • CN
  • DE
  • FR
  • ID
  • IT
  • JP
  • KR
  • PL
  • US
  • TR
String Yes
expandDepth The number of levels in the learning asset hierarchy to include asset details. This parameter is optional. Long No (default = 1)
includeRetired Whether to include retired learning assets. To retrieve active and retired learning assets, set this parameter to true. Supported values include:
  • true
  • false
Boolean No (default = false)
start The start index of learning assets for the page. Long No (default = 0)
count The number of learning assets to include in the page. The maximum count is 100 assets per page. Long No (default = 20)

Response Fields

Field Description Type Required
contents The sub-assets of the learning asset. For example, a learning asset representing a course has sub-assets representing its chapters; a learning asset representing a chapter has sub-assets representing its videos. SubAsset[] No
details If present, the details about the learning asset. If this field is not present, it means the request did not specify retrieving the asset details (see the "Specifying the level of asset details" section). AssetDetails No
title The title of the learning asset, localized if available. LocaleString Yes
type The type of the learning asset. AssetType Yes
urn The URN of the learning asset. The URN is a unique identifier whose value should be treated as opaque. Do not use the URN to determine the type of the learning asset; use the "type" field instead. String Yes

Definitions

AssetClassification

Field Description Type Required
assigner The person or organization who tagged the learning asset with the learning classification. NamedParty Yes
associatedClassification The learning classification the learning asset is tagged with. Classification Yes
path The parent learning classifications of the associated learning classification. Classification [] Yes

AssetDetails

Field Description Type Required
availability The availability of the learning asset. Availability Yes
availableLocales The locales the learning asset is available in. Locale [] Yes
classifications The learning classifications the learning asset is tagged with. AssetClassification [] Yes
contributors The contributors involved in the lifecycle of the learning asset - for example, authors or publishers. Contributor [] Yes
description If present, the text-only description of the learning asset, localized if available. Any HTML markup will be stripped from this description. LocaleString No
descriptionIncludingHtml If present, the description - including any HTML markup - of the learning asset, localized if available. LocaleString No
images The images that can be used to represent the learning asset. AssetImages Yes
lastUpdatedAt The epoch time in milliseconds indicating when the learning asset was last updated. Time Yes
level If present, the difficulty level of the learning asset. DifficultyLevel No
publishedAt The epoch time in milliseconds indicating when the learning asset was published. Time Yes
relationships The value of this field is currently always an empty array. Future versions of the API may use this field to indicate relationships the learning asset has to other learning assets. Array Yes
retiredAt If present, the epoch time in milliseconds indicating when the learning asset was retired. Time No
shortDescription Localized text only short description of the learning asset. LocaleString Yes
timeToComplete If present, the time span indicating how long the learning asset takes to complete. TimeSpan No
urls The URLs that can be used to launch the learning asset. AssetUrls Yes

AssetImages

Field Description Type Required
primary If present, the URL of the primary image associated with the learning asset. This image is usually high-resolution. String No

AssetType

Symbol Description
CHAPTER The learning asset is a chapter.
COURSE The learning asset is a course.
VIDEO The learning asset is a video.

AssetUrls

Field Description Type Required
aiccLaunch If present, the AICC launch URL of the learning asset. This value is used to initiate course completion tracking in AICC-compliant systems. The value is only included in the response when the requestor has AICC enabled in their LinkedIn Learning admin settings. String No
ssoLaunch If present, the single sign-on launch URL of the learning asset. The value is only included in the response when the requestor has configured an active SSO connection in their LinkedIn Learning admin settings. String No
webLaunch If present, the launch URL of the learning asset in the LinkedIn Learning web application. String No

AssociatedClassification

Field Description Type Required
name The localized name of the skill or category. LocaleString Yes
owner Specifies which person or organization is responsible for originally creating this classification. NamedParty Yes
type Indicates which type of classification this summary represents. ClassificationType Yes
urn Identifies the classification, currently supports skill, lyndaCategory, and lyndaCredentialingProgram (CEU) urns. Urn Yes

Availability

Symbol Description
AVAILABLE The learning asset is available and active.
RETIRED The learning asset is retired and no longer available.

ContributionType

Symbol Description
AUTHOR The contributor is an author of the learning asset.
PUBLISHER The contributor is a publisher of the learning asset.

Contributor

Field Description Type Required
contributionType The type of contribution the contributor made to the learning asset. ContributionType Yes
name The name of the contributor, localized if available. LocaleString Yes
urn The URN identifying the contributor. String Yes

DifficultyLevel

Symbol Description
BEGINNER The learning asset assumes little to no understanding of the concepts related to the material.
INTERMEDIATE The learning asset assumes basic understanding of the concepts related to the material.
ADVANCED The learning asset assumes advanced understanding of the concepts related to the material.

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

LocaleString

Field Description Type Required
locale The locale of the localized string. Locale Yes
value The localized string. String Yes

NamedParty

Field Description Type Required
name The name of a person or organization, localized if available. LocaleString Yes
urn The URN identifying a person or organization. String Yes

SubAsset

Field Description Type Required
asset The learning asset that is a sub-asset of another learning asset. AssetDetails Yes

TimeSpan

Field Description Type Required
duration The duration the time span represents. Long Yes
unit The unit of time the duration refers to. TimeUnit Yes

TimeUnit

Symbol Description
SECOND A second.
MINUTE A minute.
HOUR An hour.