How is the course provider identified in course list markup?

The Citead team, updated

In short. Use a nested Organization object in Course.provider to identify the organization that publishes the course content.

Definition: In course list markup, Course.provider identifies the organization that publishes the course's source content. Google recommends a nested Schema.org Organization object with the provider's name and an identity URL such as sameAs.

Key facts

  • Google describes the provider as the organization that publishes the course's source content, and lists it as a recommended Course property. Google's course list documentation gives UC Berkeley as an example.
  • Each course needs valid name and provider properties for the course list feature. Google's page also says to mark up at least three courses.
  • Schema.org defines Course as an educational course that can be offered at different times, places, media or modes of study. The Course type also defines hasCourseInstance for a specific offering.
  • Schema.org defines Organization as an organization such as a school, NGO, corporation or club. The Organization type supplies general identity properties including name, sameAs and url.

What does provider identify?

Google's course list documentation, updated 8 September 2026, defines provider as “The organization that publishes the source content of the course.” The field therefore describes the organization behind the course content, such as a school, university or training company. It is attached to the Course object, so the relationship reads as: this course has this publishing organization as its provider.

Google's single-course example places the provider inside the course object and uses an Organization value with name and sameAs:

{
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Introduction to Computer Science and Programming",
  "description": "Introductory CS course laying out the basics.",
  "provider": {
    "@type": "Organization",
    "name": "University of Technology - Eureka",
    "sameAs": "https://www.example.com"
  }
}

Where does the object sit in a course list?

Google separates the list container from the course entity. On a page that lists several courses, ItemList.itemListElement contains ListItem objects, and each ListItem.item is a Course. The provider belongs inside that Course, alongside properties such as name and description. Google's all-in-one example repeats this structure for each course in the list.

Google also documents a two-page arrangement. A single course details page carries the Course markup and must be paired with a summary page containing ItemList markup. The alternative is one all-in-one page that contains both the list and the details for every course. Google says the feature requires at least three marked-up courses, whether they are on separate detail pages or one all-in-one page.

Which fields describe the provider?

Use @type with the value Organization, then provide the organization's name. Google's example also uses sameAs for a URL. Schema.org defines sameAs as a reference page that unambiguously indicates an item's identity, including an official website, and defines url as the URL of the item. This gives a provider object a human-readable name and a machine-readable identity reference.

The example's sameAs value should identify the organization named in the object. A course page can use the provider's official organization page when that page unambiguously represents the provider. The Google example uses https://www.example.com as its sample value, so replace that example with the relevant organization URL in a live implementation.

How does Course relate to scheduled offerings?

Schema.org describes a Course as a sequence of educational events or creative works that aims to build learners' knowledge, competence or ability. Its hasCourseInstance property describes an offering at a specific time and place, through specific media or mode of study, or for a specific section of students. The provider relationship remains on the course object in Google's course-list example, while CourseInstance describes the particular offering.

Schema.org also defines courseCode as the identifier for a course used by its provider, with CS101 and 6.001 as examples. That property helps distinguish the course's provider-facing identifier from the provider object itself.

FAQ

Is provider a text string or an object?

For Google's course list markup, use a nested Organization object. The documentation's example shows @type, name and sameAs inside provider.

Should every course in an ItemList have its own provider?

Google's all-in-one example places a provider object inside each Course nested in a ListItem. Mark up the provider on each course whose publishing organization you are describing.

Where should a course schedule go?

Schema.org uses hasCourseInstance for an offering at a particular time, place, medium, mode or student section. The Google course-list provider example keeps the provider on Course.

Sources

  1. Google Search Central, "Course list (Course) structured data", 8 September 2026
  2. Schema.org, "Course", development version
  3. Schema.org, "Organization", development version

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark