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

# Collection fields

Collections of entries and assets are exposed through collection fields in the root query object and in [one-to-many relationship](/references/graphql/schema-generation#one-to-many-single-type-relationships) fields. For example:

```graphql
type FriendlyUserCollection {
  skip: Int!
  limit: Int!
  total: Int!
  items: [FriendlyUser]!
}

input FriendlyUserFilter {
  # ... field based filters
}

type Query {
  # ...
  friendlyUserCollection(
    skip: Int
    limit: Int
    where: FriendlyUserFilter
  ): FriendlyUserCollection
}
```

## Arguments

The following optional arguments are available when querying a collection:

| Argument            | Type      | Description                                                                                                                                                                                                                           |
| ------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `skip`              | Number    | Zero-indexed offset in the collection from which items are fetched. Defaults to `0`.                                                                                                                                                  |
| `limit`             | Number    | Maximum number of items to fetch. Defaults to `100`; maximum is `1000`.                                                                                                                                                               |
| `where`             | InputType | Filter specifications to apply on the collection query. See [Collection Filters](/references/graphql/collection-filters).                                                                                                             |
| `order`             | InputType | Order specifications to apply on the collection query. See [Collection Order](/references/graphql/collection-order).                                                                                                                  |
| `preview`           | Boolean   | When set to `true` the field will be resolved with non-published content. Defaults to `false`.                                                                                                                                        |
| `locale`            | String    | Locale for the collection items. If not set, the default locale is used.                                                                                                                                                              |
| `useFallbackLocale` | Boolean   | When set to `false`, fields without a value in the requested locale return `null` instead of the fallback locale. Defaults to `true`. See [Disabling locale fallback](/references/graphql/locale-handling#disabling-locale-fallback). |

## Return value

The value returned from a collection field contains the meta fields `skip`, `limit`, `total`, and the requested items in the `items` field. The `skip` and `limit` fields correspond to their respective input arguments. The `total` field contains the total number of items in that collection.

> **Info**
>
> Don't use `skip` to iterate through an entire collection. Performance degrades as the offset grows, particularly for complex queries and deep link resolution. `skip`/`limit` is intended for random access into a bounded result set (for example, "page 3 of 20" in a UI).
>
> To fetch or process every item in a large collection, such as exports, analytics, migrations, or any exhaustive traversal, use [cursor pagination](/references/graphql/overview#cursor-pagination) instead.