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.provideridentifies the organization that publishes the course's source content. Google recommends a nested Schema.orgOrganizationobject with the provider's name and an identity URL such assameAs.
Key facts
- Google describes the provider as the organization that publishes the course's source content, and lists it as a recommended
Courseproperty. Google's course list documentation gives UC Berkeley as an example. - Each course needs valid
nameandproviderproperties for the course list feature. Google's page also says to mark up at least three courses. - Schema.org defines
Courseas an educational course that can be offered at different times, places, media or modes of study. TheCoursetype also defineshasCourseInstancefor a specific offering. - Schema.org defines
Organizationas an organization such as a school, NGO, corporation or club. TheOrganizationtype supplies general identity properties includingname,sameAsandurl.
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.
Related terms
- Structured data
- JSON-LD
- Organization structured data
- How many courses does Google's course list feature require?
- How does a carousel summary page link to detail pages?
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
- Google Search Central, "Course list (
Course) structured data", 8 September 2026 - Schema.org, "Course", development version
- Schema.org, "Organization", development version
Check how a page reads to answer engines. Open the GEO score analyzer