> 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.

# List Items

GET https://api.webflow.com/v2/collections/{collection_id}/items

List of all Items within a Collection.

Required scope | `CMS:read`


Reference: https://developers.webflow.com/data/reference/cms/collection-items/staged-items/list-items

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: v2-data
  version: 1.0.0
paths:
  /collections/{collection_id}/items:
    get:
      operationId: list-items
      summary: List Collection Items
      description: |
        List of all Items within a Collection.

        Required scope | `CMS:read`
      tags:
        - Collections > Items
      parameters:
        - name: collection_id
          in: path
          description: Unique identifier for a Collection
          required: true
          schema:
            type: string
            format: objectid
        - name: cmsLocaleId
          in: query
          description: >-
            Unique identifier for a CMS Locale. This UID is different from the
            Site locale identifier and is listed as `cmsLocaleId` in the Sites
            response. To query multiple locales, input a comma separated string.
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: >-
            Offset used for pagination if the results have more than limit
            records
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: 'Maximum number of records to be returned (max limit: 100)'
          required: false
          schema:
            type: integer
        - name: name
          in: query
          description: Filter by the exact name of the item(s)
          required: false
          schema:
            type: string
        - name: slug
          in: query
          description: Filter by the exact slug of the item
          required: false
          schema:
            type: string
        - name: createdOn
          in: query
          description: Filter by the creation date of the item(s)
          required: false
          schema:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetParametersCreatedOn
        - name: lastPublished
          in: query
          description: Filter by the last published date of the item(s)
          required: false
          schema:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetParametersLastPublished
        - name: lastUpdated
          in: query
          description: Filter by the last updated date of the item(s)
          required: false
          schema:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetParametersLastUpdated
        - name: sortBy
          in: query
          description: Sort results by the provided value
          required: false
          schema:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetParametersSortBy
        - name: sortOrder
          in: query
          description: Sorts the results by asc or desc
          required: false
          schema:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetParametersSortOrder
        - name: Authorization
          in: header
          description: Bearer authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collections_items_list-items_Response_200'
        '400':
          description: Request body was incorrectly formatted.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/List-collection-itemsRequestBadRequestError
        '401':
          description: >-
            Provided access token is invalid or does not have access to
            requested resource
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/List-collection-itemsRequestUnauthorizedError
        '404':
          description: Requested resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-collection-itemsRequestNotFoundError'
        '429':
          description: >-
            The rate limit of the provided access_token has been reached. Please
            have your application respect the X-RateLimit-Remaining header we
            include on API responses.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/List-collection-itemsRequestTooManyRequestsError
        '500':
          description: We had a problem with our server. Try again later.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/List-collection-itemsRequestInternalServerError
servers:
  - url: https://api.webflow.com/v2
    description: Data API
components:
  schemas:
    CollectionsCollectionIdItemsGetParametersCreatedOn:
      type: object
      properties:
        lte:
          type: string
          format: date-time
          description: Filter items created before this date
        gte:
          type: string
          format: date-time
          description: Filter items created after this date
      title: CollectionsCollectionIdItemsGetParametersCreatedOn
    CollectionsCollectionIdItemsGetParametersLastPublished:
      type: object
      properties:
        lte:
          type: string
          format: date-time
          description: Filter items last published before this date
        gte:
          type: string
          format: date-time
          description: Filter items last published after this date
      title: CollectionsCollectionIdItemsGetParametersLastPublished
    CollectionsCollectionIdItemsGetParametersLastUpdated:
      type: object
      properties:
        lte:
          type: string
          format: date-time
          description: Filter items last updated before this date
        gte:
          type: string
          format: date-time
          description: Filter items last updated after this date
      title: CollectionsCollectionIdItemsGetParametersLastUpdated
    CollectionsCollectionIdItemsGetParametersSortBy:
      type: string
      enum:
        - createdOn
        - lastPublished
        - lastUpdated
        - name
        - slug
      title: CollectionsCollectionIdItemsGetParametersSortBy
    CollectionsCollectionIdItemsGetParametersSortOrder:
      type: string
      enum:
        - asc
        - desc
      title: CollectionsCollectionIdItemsGetParametersSortOrder
    CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItemsFieldData:
      type: object
      properties:
        name:
          type: string
          description: Name of the Item
        slug:
          type: string
          description: >-
            URL structure of the Item in your site. Note: Updates to an item
            slug will break all links referencing the old slug.
      required:
        - name
        - slug
      title: >-
        CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItemsFieldData
    CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItems:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the Item
        cmsLocaleId:
          type: string
          description: Identifier for the locale of the CMS item
        lastPublished:
          type: string
          format: date-string
          description: The date the item was last published
        lastUpdated:
          type: string
          format: date-string
          description: The date the item was last updated
        createdOn:
          type: string
          format: date-string
          description: The date the item was created
        isArchived:
          type: boolean
          default: false
          description: Boolean determining if the Item is set to archived
        isDraft:
          type: boolean
          default: false
          description: Boolean determining if the Item is set to draft
        fieldData:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItemsFieldData
      required:
        - id
        - lastPublished
        - lastUpdated
        - createdOn
        - fieldData
      description: >
        A Collection Item represents a single entry in your collection. Each
        item includes:


        - **System metadata** - Automatically managed fields like IDs and
        timestamp <br/>

        - **Status flags** - Controls for managing content state: `isDraft`,
        `isArchived `<br/>

        - **Content fields** - Stored in `fieldData`. Each item needs a `name`
        and `slug`, and may include additional fields matching your collection's
        schema definition.
      title: >-
        CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItems
    CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaPagination:
      type: object
      properties:
        limit:
          type: integer
          default: 100
          description: The limit specified in the request
        offset:
          type: integer
          default: 0
          description: The offset specified for pagination
        total:
          type: integer
          description: Total number of items in the collection
      title: >-
        CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaPagination
    collections_items_list-items_Response_200:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaItemsItems
          description: List of Items within the collection
        pagination:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaPagination
      required:
        - items
        - pagination
      description: Results from collection items list
      title: collections_items_list-items_Response_200
    CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
        - analyze_filter_conflict
        - analyze_input_validation
        - analyze_unsupported_filter
        - bad_request
        - before_historical_floor
        - collection_not_found
        - conflict
        - duplicate_collection
        - duplicate_user_email
        - ecommerce_not_enabled
        - forbidden
        - forms_require_republish
        - incompatible_webhook_filter
        - internal_error
        - invalid_auth_version
        - invalid_credentials
        - invalid_domain
        - invalid_time_range
        - invalid_user_email
        - item_not_found
        - missing_scopes
        - no_domains
        - not_authorized
        - not_enterprise_plan_site
        - not_enterprise_plan_workspace
        - order_not_found
        - resource_not_found
        - service_unavailable
        - time_range_too_wide
        - too_many_requests
        - unsupported_version
        - unsupported_webhook_trigger_type
        - user_limit_reached
        - user_not_found
        - users_not_enabled
        - validation_error
      description: Error code
      title: CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
    CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems:
      oneOf:
        - type: string
        - type: object
          additionalProperties:
            description: Any type
      title: >-
        CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
    List-collection-itemsRequestBadRequestError:
      type: object
      properties:
        code:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
          description: Error code
        message:
          type: string
          description: Error message
        externalReference:
          type: string
          description: Link to more information
        details:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
          description: Array of errors
      title: List-collection-itemsRequestBadRequestError
    List-collection-itemsRequestUnauthorizedError:
      type: object
      properties:
        code:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
          description: Error code
        message:
          type: string
          description: Error message
        externalReference:
          type: string
          description: Link to more information
        details:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
          description: Array of errors
      title: List-collection-itemsRequestUnauthorizedError
    List-collection-itemsRequestNotFoundError:
      type: object
      properties:
        code:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
          description: Error code
        message:
          type: string
          description: Error message
        externalReference:
          type: string
          description: Link to more information
        details:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
          description: Array of errors
      title: List-collection-itemsRequestNotFoundError
    List-collection-itemsRequestTooManyRequestsError:
      type: object
      properties:
        code:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
          description: Error code
        message:
          type: string
          description: Error message
        externalReference:
          type: string
          description: Link to more information
        details:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
          description: Array of errors
      title: List-collection-itemsRequestTooManyRequestsError
    List-collection-itemsRequestInternalServerError:
      type: object
      properties:
        code:
          $ref: >-
            #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaCode
          description: Error code
        message:
          type: string
          description: Error message
        externalReference:
          type: string
          description: Link to more information
        details:
          type: array
          items:
            $ref: >-
              #/components/schemas/CollectionsCollectionIdItemsGetResponsesContentApplicationJsonSchemaDetailsItems
          description: Array of errors
      title: List-collection-itemsRequestInternalServerError
  securitySchemes:
    OAuth2:
      type: http
      scheme: bearer

```

## Examples



**Response**

```json
{
  "items": [
    {
      "id": "62b720ef280c7a7a3be8cabe",
      "lastPublished": "2022-06-30T13:35:20.878Z",
      "lastUpdated": "2022-06-25T14:51:27.809Z",
      "createdOn": "2022-06-25T14:51:27.809Z",
      "fieldData": {
        "name": "Senior Data Analyst",
        "slug": "senior-data-analyst",
        "url": "https://boards.greenhouse.io/webflow/jobs/26567701",
        "department": "Data"
      },
      "cmsLocaleId": "66f6e966c9e1dc700a857ca3",
      "isArchived": false,
      "isDraft": false
    },
    {
      "id": "62c880ef281c7b7b4cf9dabc",
      "lastPublished": "2023-04-15T10:25:18.123Z",
      "lastUpdated": "2023-04-10T11:45:30.567Z",
      "createdOn": "2023-04-10T11:45:30.567Z",
      "fieldData": {
        "name": "Product Manager",
        "slug": "product-manager",
        "url": "https://boards.greenhouse.io/webflow/jobs/31234567",
        "department": "Product"
      },
      "cmsLocaleId": "66f6e966c9e1dc700a857ca3",
      "isArchived": false,
      "isDraft": false
    }
  ],
  "pagination": {
    "limit": 25,
    "offset": 0,
    "total": 2
  }
}
```

**SDK Code**

```typescript
import { WebflowClient } from "webflow-api";

async function main() {
    const client = new WebflowClient({
        accessToken: "YOUR_TOKEN_HERE",
    });
    await client.collections.items.listItems("580e63fc8c9a982ac9b8b745", {
        offset: 0,
        limit: 100,
    });
}
main();

```

```python
from webflow import Webflow

client = Webflow(
    access_token="YOUR_TOKEN_HERE",
)

client.collections.items.list_items(
    collection_id="580e63fc8c9a982ac9b8b745",
    offset=0,
    limit=100,
)

```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.webflow.com/v2/collections/580e63fc8c9a982ac9b8b745/items?offset=0&limit=100")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```