Index of every page on this site: llms.txt
TypeScript
Schema

ItemList Schema - JSON-LD Guide & Examples

ItemList schema represents an ordered or unordered list of items. Google supports host carousel markup when ItemList is combined with Course, Movie, Recipe, or Restaurant items.

JSON-LD Example

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "url": "https://example.com/recipes/apple-pie"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "url": "https://example.com/recipes/banana-bread"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "url": "https://example.com/recipes/carrot-cake"
    }
  ]
}
Use the Schema.org Generator to build your structured data visually.

Schema.org ItemList

  • Type: defineItemList<T extends Record<string, any>>(input?: ItemList & T)

An ItemList represents an ordered or unordered list, primarily for breadcrumbs and carousels.

Required properties

  • itemListElement NodeRelations<ListItem>
    The item list elements.

Defaults and resolves

  • @type defaults to ItemList, and a root list receives an ID such as ${canonicalUrl}#/schema/item-list/{n}.
  • Each nested ListItem receives a one-based position when it does not already have one.

Types

export interface ItemListSimple extends Thing {
  /**
   * Resolved item list
   */
  itemListElement: NodeRelations<ListItem>
  /**
   * Type of ordering (e.g., Ascending, Descending, Unordered).
   *
   * @default undefined
   */
  itemListOrder?: 'Ascending' | 'Descending' | 'Unordered'
  /**
   * The number of items in an ItemList.
   * Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination);
   * in such cases, the numberOfItems would be for the entire list.
   *
   * @default undefined
   */
  numberOfItems?: number
}
Did this page help you?