---
title: "ItemList Schema - JSON-LD Guide &amp; Examples · Unhead"
canonical_url: "https://unhead.unjs.io/docs/vue/schema-org/api/schema/item-list"
last_updated: "2026-09-17T02:55:28.195Z"
meta:
  description: "Add ItemList structured data with Unhead. Create ordered lists and eligible Google carousels for courses, movies, recipes, and restaurants."
  "og:description": "Add ItemList structured data with Unhead. Create ordered lists and eligible Google carousels for courses, movies, recipes, and restaurants."
  "og:title": "ItemList Schema - JSON-LD Guide & Examples · Unhead"
---

Home

`
Unhead on GitHub

Switch to VueSwitch to TypeScriptSwitch to ReactSwitch to SvelteSwitch to Solid.jsSwitch to AngularSwitch to Nuxt

**Schema**

# **ItemList Schema - JSON-LD Guide & Examples**

[Copy for LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/item-list.md)

ItemList schema represents an ordered or unordered list of items. [**~~Google supports host carousel markup~~**](https://developers.google.com/search/docs/appearance/structured-data/carousel) 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~~**](https://unhead.unjs.io/tools/schema-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.

## Useful Links

- [**~~ItemList - Schema.org~~**](https://schema.org/ItemList)
- [**~~Carousel - Google Search Central~~**](https://developers.google.com/search/docs/appearance/structured-data/carousel)

## 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
}
```

## Related Schemas

- [**~~Breadcrumb~~**](https://unhead.unjs.io/docs/schema-org/api/schema/breadcrumb): Navigation lists
- [**~~Product~~**](https://unhead.unjs.io/docs/schema-org/api/schema/product): Product lists
- [**~~Article~~**](https://unhead.unjs.io/docs/schema-org/api/schema/article): Article lists

[Edit this page](https://github.com/unjs/unhead/edit/main/docs/schema-org/5.api/9.schema/item-list.md)

[Markdown For LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/item-list.md)

**Did this page help you? **

[**Image Schema** Use defineImage() to add ImageObject structured data with captions, dimensions, content URLs, and language metadata.](https://unhead.unjs.io/docs/schema-org/api/schema/image) [**JobPosting** Implement JobPosting structured data with Unhead. JSON-LD examples, required fields for Google Jobs, salary markup, and validation tips.](https://unhead.unjs.io/docs/schema-org/api/schema/job-posting)

**On this page **

- [JSON-LD Example](#json-ld-example)
- [Schema.org ItemList](#schemaorg-itemlist)
- [Useful Links](#useful-links)
- [Required properties](#required-properties)
- [Defaults and resolves](#defaults-and-resolves)
- [Types](#types)
- [Related Schemas](#related-schemas)