Locale and Type Finder API

Overview

The LinkedIn Learning "localeAndType" Finder API can be used to return the entire catalog of LinkedIn Learning courses and videos, grouped by language. The LinkedIn Learning API is designed to represent LinkedIn Learning content in a unified and extensible format. In researching standards and implementations of learning content metadata, we adopted patterns that will allow the API to evolve and expand using the same fundamental data model. This means as you integrate with the API presented in this document, your integration can more easily take advantage of new types of LinkedIn Learning content and content information as we add them to the API.

Understanding the Endpoints

The LinkedIn Learning API provides two sets of endpoints - one for learning assets, and one for learning classifications. You can use these endpoints to:

  • Retrieve a page of learning assets, given locale and type criteria.
  • Retrieve a page of learning classifications, given locale and type criteria.

First, a note about pagination, using learning assets as an example (the same applies for learning classifications). When you call the endpoint that retrieves a page of learning assets, you will get a response like the following:

{
  "elements": [
    …
  ],
  "paging": {
    "total": 5810,
    "count": 20,
    "start": 1000,
    "links": [
      {
        "rel": "prev",
        "href":
"/v2/learningAssets?assetType=COURSE&count=20&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=980",
        "type": "application/json"
      },
      {
        "rel": "next",
        "href":
"/v2/learningAssets?assetType=COURSE&count=20&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=1020",
        "type": "application/json"
      }
    ]
  }
}

The value of the "elements" field is an array of learning assets for the requested page.

The value of the "paging" field is an object with paging metadata. In particular, if you wish to iterate through the catalog of learning assets, you can use the "links" field in the paging metadata to help construct a request for the next page. The "links" field simplifies requests for additional pages because you will not need to track the page start and count yourself.

Learning Pagination Reference Table

Field Description
total The total number of learning entities matching the requested criteria
count The requested number of learning entities for the page
start The requested start index of learning entities for the page
links An array of link objects. Each link object includes:
  • A "rel" field whose value can be prev or next.
  • An "href" field whose value is the link (relative to the base API URL) for the previous or next page of learning entities matching the requested criteria.
If the previous or next page does not exist, the corresponding link object will be omitted

Each localeAndType Finder endpoint and its parameters are documented below. Note that all parameter names and values are case-sensitive.

learningAssets localeAndType Finder

To retrieve a page of learning assets, given some criteria, issue a GET call to the following endpoint:

Tip

The content library is licensed by language. One LinkedIn Learning tenant may have access to English assets while another may have access to French and German assets. The "localeAndType" finder does not filter results based on licensing. If your use case requires bulk importing LinkedIn Learning assets licensed to a tenant, use the "criteria" finder. Review Retrieve learning assets based on requester's licensed access for additional information.

GET https://api.linkedin.com/v2/learningAssets?q=localeAndType

Parameters

Parameter Description Required
q The value of this parameter should always be: localeAndType. Yes
assetType The type of the learning assets. The value of this parameter should be COURSE, LEARNING_PATH, or VIDEO. Yes
sourceLocale.language The locale language of the learning assets. The value of this parameter should be de, en, es, fr, in, it, ja, ko, nl, pl, pt, tr, or zh. 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". Yes
sourceLocale.country The locale country of the learning assets. The value of this parameter should be DE, US, ES, FR, ID, IT, JP, KR, NL, PL, BR, TR or CN. 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". Yes
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. No (default = 1)
includeRetired Whether to include retired learning assets. The value of this parameter should be true or false. To retrieve active and retired learning assets, set this parameter to true. No (default = false)
start The start index of learning assets for the page. No (default = 0)
count The number of learning assets to include in the page. Please choose a reasonable value if overriding the default; the API will return an error if the requested page exceeds the 2 MB response size limit of the framework. No (default = 20)

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

Response

{
  "elements": [
    {
      "urn": "urn:li:lyndaCourse:110715",
      "contents": [
        {
          "asset": {
            "urn": "urn:li:lyndaChapter:(urn:li:lyndaCourse:110715,114477)",
            "contents": [
              {
                "asset": {
                  "urn": "urn:li:lyndaVideo:(urn:li:lyndaCourse:110715,114478)",
                  "contents": [],
                  "type": "VIDEO",
                  "title": {
                    "locale": {
                      "country": "US",
                      "language": "en"
                    },
                    "value": "Welcome"
                  }
                }
              },
    …
  ],
  "paging": {
    "total": 5810,
    "count": 20,
    "start": 1000,
    "links": [
      {
        "rel": "prev",
        "href":
"/v2/learningAssets?assetType=COURSE&count=20&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=980",
        "type": "application/json"
      },
      {
        "rel": "next",
        "href":
"/v2/learningAssets?assetType=COURSE&count=20&expandDepth=1&includeRetired=false&q=localeAndType&sourceLocale.country=US&sourceLocale.language=en&start=1020",
        "type": "application/json"
      }
    ]
  }
}

learningClassifications localeAndType Finder

To retrieve a page of learning classifications, given some criteria, issue a GET call to the following endpoint:

GET https://api.linkedin.com/v2/learningClassifications?q=localeAndType

Parameters

Parameter Description Required
q The value of this parameter should always be: localeAndType. Yes
type The type of the learning classifications. The value of this parameter should be LIBRARY, SUBJECT, or TOPIC.

Libraries, subjects, and topics are taxonomy categories associated with learning assets. Libraries - for example, "Technology" - are broad groups of learning assets. Subjects - for example, "Software Development" - are children of libraries and are groups of related topics. Topics - for example, "Version Control" - are children of subjects and are focused topics.
Yes
sourceLocale.language The locale language of the learning classifications. The value of this parameter should be de, en, es, fr, in, it, ja, ko, nl, pl, pt, tr, or zh. 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". Yes
sourceLocale.country The locale country of the learning classifications. The value of this parameter should be DE, US, ES, FR, ID, IT, JP, KR, NL, PL, BR, TR or CN. 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". Yes
start The start index of learning classifications for the page. No (default = 0)
count The number of learning classifications to include in the page. Please choose a reasonable value if overriding the default; the API will return an error if the requested page exceeds the 2 MB response size limit of the framework. No (default = 100)

cURL Request

curl -H 'Authorization: Bearer AQXt…' \
'https://api.linkedin.com/v2/learningClassifications?q=localeAndType&type=LIBRARY&sourceLocale.language=en&sourceLocale.country=US&start=0&count=100'

Response

{
  "elements": [
    {
      "urn": "urn:li:lyndaCategory:7163",
      "owner": {
        "urn": "urn:li:company:0000",
        "name": {
          "locale": {
            "country": "US",
            "language": "en"
          },
          "value": "LinkedIn"
        }
      },
      "name": {
        "locale": {
          "country": "US",
          "language": "en"
        },
        "value": "Creative"
      },
      "type": "LIBRARY"
    },
    …
  ],
  "paging": {
    "total": 3,
    "count": 100,
    "start": 0,
    "links": []
  }
}