> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Webflow CMS API

> Learn how to interact with the Webflow CMS using the Data API.

Webflow's CMS API lets you programmatically create, manage, and publish content. Use it to build custom workflows, integrate with external systems, and automate content management. For general information on the Webflow CMS, see the [help center documentation](https://help.webflow.com/hc/en-us/articles/33961307099027-Intro-to-the-Webflow-CMS).

## Overview

Use the Data API to manage three core components of the Webflow CMS:

#### [Collections](#collections)

Database-like containers that define content structure and fields.

#### [Fields](#collection-fields)

Individual data fields that define content types within a collection.

#### [Items](#collection-items)

Content records stored within a collection.

The API supports both **staged** and **live** content, giving you precise control over your [publishing workflow](/data/docs/working-with-the-cms/publishing). You can create content programmatically, perform bulk updates, and manage multi-locale content.

---

## Workflows

There are a few workflows that are particularly helpful to understand when working with the CMS API.

#### [Collection Management](/data/docs/working-with-the-cms/manage-collections-and-items)

Learn how to create, manage, and publish collections and items.

#### [Publishing](/data/docs/working-with-the-cms/publishing)

Learn how items are published, updated, and unpublished.

#### [Localization](/data/docs/working-with-the-cms/localization)

Learn how to create and manage linked CMS items across multiple locales.

#### [Content Delivery](/data/docs/working-with-the-cms/content-delivery)

Learn how to deliver cached content to external applications.

---

## Key concepts

#### Collections

Collections are structured containers for dynamic content, similar to database tables. Each collection defines a content type, like blog posts, team members, or testimonials, by specifying a set of fields.

Collections can contain various [field types](/data/reference/field-types-item-values), including text, rich text, images, dates, numbers, and references to other collections.

Each collection has a unique ID used to manage its details, fields, and items.

### Collections endpoints

| Endpoint                                                           | Description                                                |
| ------------------------------------------------------------------ | ---------------------------------------------------------- |
| GET [List collections](/data/reference/cms/collections/list)       | Retrieve all collections for a site.                       |
| GET [Get collection](/data/reference/cms/collections/get)          | Retrieve the schema and details for a specific collection. |
| POST [Create collection](/data/reference/cms/collections/create)   | Create a new collection.                                   |
| DELETE [Delete collection](/data/reference/cms/collections/delete) | Remove a collection and all of its items.                  |

<br />

#### Collection fields

Fields define the structure and data type for content in a collection. Each field has a unique ID used to manage its details and item data. Each field's type determines the kind of content it can store. See the [field types reference](/data/reference/field-types-item-values) for a full list of types and their properties.

### Collection fields endpoints

| Endpoint                                                            | Description                         |
| ------------------------------------------------------------------- | ----------------------------------- |
| POST [Create field](/data/reference/cms/collection-fields/create)   | Create a new field in a collection. |
| PATCH [Update field](/data/reference/cms/collection-fields/update)  | Modify an existing field.           |
| DELETE [Delete field](/data/reference/cms/collection-fields/delete) | Remove a field from a collection.   |

#### List fields

To list fields, retrieve collection details using the [get collection](/data/reference/cms/collections/get) endpoint.

#### Collection items

Items are individual records within a collection. Each item has a unique ID and contains data for the fields defined in that collection.

### Collection Item states

Items exist in two main states:

#### Staged

Draft content not visible on your live site.

#### Live

Published content that appears on your website.

This dual-state system lets you prepare content changes without affecting your live site. You can create, edit, and preview staged content before publishing. For more details, see the [CMS publishing guide](/data/docs/working-with-the-cms/publishing).

### Collection items endpoints

#### Staged

Manage staged items on a site. These endpoints also work with live items. Updating a live item automatically updates its staged version. Creating a new item with these endpoints always creates a draft.

| Endpoint                                                                              | Description                                                               |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| GET [List items](/data/reference/cms/collection-items/staged-items/list-items)        | Retrieve a list of all items in a collection.                             |
| GET [Get item](/data/reference/cms/collection-items/staged-items/get-item)            | Retrieve a specific item.                                                 |
| POST [Create item(s)](/data/reference/cms/collection-items/staged-items/create-items) | Create items. Use `cmsLocaleIds` to create items across multiple locales. |
| PATCH [Update items](/data/reference/cms/collection-items/staged-items/update-items)  | Modify one or more items.                                                 |
| DELETE [Delete items](/data/reference/cms/collection-items/staged-items/delete-items) | Delete one or more items.                                                 |
| POST [Publish item](/data/reference/cms/collection-items/staged-items/publish-item)   | Publish one or more items.                                                |

#### Unpublish items

Use the [unpublish live item endpoint](/data/reference/cms/collection-items/live-items/delete-items-live) to unpublish a live item.

#### Live

Manage live items on a site. These endpoints only work for live items.

| Endpoint                                                                                    | Description                                        |
| ------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| GET [List live items](/data/reference/cms/collection-items/live-items/list-items-live)      | Retrieve a list of all live items in a collection. |
| GET [Get live item](/data/reference/cms/collection-items/live-items/get-item-live)          | Retrieve a specific live item.                     |
| POST [Create items](/data/reference/cms/collection-items/live-items/create-item-live)       | Create new live items.                             |
| PATCH [Update items](/data/reference/cms/collection-items/live-items/update-items-live)     | Modify one or more live items.                     |
| DELETE [Unpublish items](/data/reference/cms/collection-items/live-items/delete-items-live) | Unpublish one or more live items.                  |
| POST [Publish item](/data/reference/cms/collection-items/staged-items/publish-item)         | Publish one or more live items.                    |

---

## Start working with the CMS API

Below is an interactive tutorial that will walk you through the basic steps of getting a collection, listing a collection schema, listing collection items, and creating a collection item.

## Bulk operations

For most CMS operations, the API provides both single-item and bulk endpoints. Bulk endpoints allow you to perform `CRUD` operations (Create, Read, Update, Delete) on multiple items in a single API call, which is more efficient for managing content at scale.

To keep the sidebar clean, we've hidden most single-item endpoints. However, they are fully functional and not deprecated. The tables below show both the visible and hidden endpoints for staged and live collection items.

#### Staged Items

| Operation   | Single Item Endpoint                                                                                                          | Bulk Endpoint                                                                                                                                         |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **List**    | [`GET /collections/{collection_id}/items`](/data/v2.0.0/reference/cms/collection-items/staged-items/list-items)               | N/A                                                                                                                                                   |
| **Get**     | [`GET /collections/{collection_id}/items/{item_id}`](/data/v2.0.0/reference/cms/collection-items/staged-items/get-item)       | N/A                                                                                                                                                   |
| **Create**  | [`POST /collections/{collection_id}/items`](/data/v2.0.0/reference/cms/collection-items/staged-items/create-item)             | [`POST /collections/{collection_id}/items/bulk`](https://developers.webflow.com/data/v2.0.0/reference/cms/collection-items/staged-items/create-items) |
| **Update**  | [`PATCH /collections/{collection_id}/items/{item_id}`](/data/v2.0.0/reference/cms/collection-items/staged-items/update-item)  | [`PATCH /collections/{collection_id}/items`](/data/v2.0.0/reference/cms/collection-items/staged-items/update-items)                                   |
| **Delete**  | [`DELETE /collections/{collection_id}/items/{item_id}`](/data/v2.0.0/reference/cms/collection-items/staged-items/delete-item) | [`DELETE /collections/{collection_id}/items`](/data/v2.0.0/reference/cms/collection-items/staged-items/delete-items)                                  |
| **Publish** | N/A                                                                                                                           | [`POST /collections/{collection_id}/items/publish`](/data/v2.0.0/reference/cms/collection-items/staged-items/publish-item)                            |

#### Live Items

| Operation     | Single Item Endpoint                                                                                                                                                | Bulk Endpoint                                                                                                                |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **List**      | [`GET /collections/{collection_id}/items/live`](/data/v2.0.0/reference/cms/collection-items/live-items/list-items-live)                                             | N/A                                                                                                                          |
| **Get**       | [`GET /collections/{collection_id}/items/{item_id}/live`](/data/v2.0.0/reference/cms/collection-items/live-items/get-item-live)                                     | N/A                                                                                                                          |
| **Create**    | [`POST /collections/{collection_id}/items/live`](/data/v2.0.0/reference/cms/collection-items/live-items/create-item-live)                                           | N/A                                                                                                                          |
| **Update**    | [`PATCH /collections/{collection_id}/items/{item_id}/live`](data/v2.0.0/reference/cms/collection-items/live-items/update-item-live)                                 | [`PATCH /collections/{collection_id}/items/live`](/data/v2.0.0/reference/cms/collection-items/live-items/update-items-live)  |
| **Unpublish** | [`DELETE /collections/{collection_id}/items/{item_id}/live`](https://developers.webflow.com/data/v2.0.0/reference/cms/collection-items/live-items/delete-item-live) | [`DELETE /collections/{collection_id}/items/live`](/data/v2.0.0/reference/cms/collection-items/live-items/delete-items-live) |

## Webhooks

Use webhooks to receive real-time notifications about changes to your content. This enables automated workflows and integrations with other systems.

### Webhook events

[Create a webhook](/data/reference/webhooks/create) and subscribe to the following events for a given collection:

* [Collection item created](/data/reference/webhooks/events/collection-item-created)
* [Collection item updated](/data/reference/webhooks/events/collection-item-changed)
* [Collection item deleted](/data/reference/webhooks/events/collection-item-deleted)
* [Collection item published](/data/reference/webhooks/events/collection-item-published)
* [Collection item un-published](/data/reference/webhooks/events/collection-item-unpublished)

## Next Steps

#### [Getting started](/data/docs/working-with-the-cms/manage-collections-and-items)

Create a collection, add fields, and create items. Includes pagination examples.

#### [Working with webhooks](/data/docs/working-with-webhooks)

Set up real-time notifications for content changes to build automated workflows.