# Get customers (https://developer.godaddy.com/en/docs/references/rest/customers/customers-list)

---
title: Get customers
description: >-
  This endpoint can be used to retrieve a list of customers for a specific
  store.
full: true
---

Full description

This endpoint can be used to retrieve a list of customers for a specific store. Deleted customers are excluded by default.

## GET /stores/{storeId}/customers

Get customers

This endpoint can be used to retrieve a list of customers for a specific store. Deleted customers are excluded by default.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `storeId` | string <uuid> | yes | An identifier for a store |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `page` | integer <integer-positive> | no | The page of results to return for pagination. Only supported up to the first 10 000 records of a result set. Use pageToken rather than page where possible. PageToken and page can not be used in combination, doing so will result in a 422 response. |
| `pageSize` | integer <integer-positive> | no | Maximum number of items to return. If used with page will return results with an offset of page * pageSize |
| `pageToken` | string | no | Use the `pageToken` returned from a previous search in order to obtain the next set of results. Use pageToken rather than page where possible. PageToken and page can not be used in combination, doing so will result in a 422 response. |
| `totalRequired` | boolean | no | Indicates whether the response should include the total number of items and pages through response properties totalItems and totalPages respectively. |
| `queryString` | string | no | Search term - this string will be matched as a starts with for all text fields |
| `nonEmptyFields` | array | no | Filter customers by presence of at least one of these fields |
| `emptyFields` | array | no | Filter customers by absence of at least one of these fields |
| `allNonEmptyFields` | array | no | Filter customers by presence of all of these fields |
| `allEmptyFields` | array | no | Filter customers by absence of all of these fields |
| `externalIdentifiers` | array | no | Filter customers by external identifier; provide as comma separated values in the form `type:value` (eg: `poynt:123,asin:B0B9F7WNQH`) |
| `updatedAtStart` | unknown | no | Filter customers whose updatedAt is >= the specified date |
| `updatedAtEnd` | unknown | no | Filter customers whose updatedAt is <= the specified date |
| `sort` | string | no | Sort expression accepted by the underlying customer search service |
| `excludeGuestCustomers` | boolean | no | Whether to exclude guest customers (those without an associated user record). Defaults to true. |

### Responses

**200** — Request was successful

Content-Type: `application/json`

Schema:

- allOf(unknown & object)

**401** — Authentication info not sent or is invalid

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — Resource not found

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — Application-specific server state error

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — Body or query string failed schema validation. Returns the `ValidationError` envelope rather than the generic `Error`.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ValidationError`

**429** — Too many requests received within interval

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `PAT`; scopes `commerce.customer:read`.
