--- title: customer - Storefront API description: | The customer associated with the given access token. Tokens are obtained by using the [`customerAccessTokenCreate` mutation](https://shopify.dev/docs/api/storefront/latest/mutations/customerAccessTokenCreate). api_version: 2025-10 api_name: storefront type: query api_type: graphql source_url: html: https://shopify.dev/docs/api/storefront/latest/queries/Customer md: https://shopify.dev/docs/api/storefront/latest/queries/Customer.md --- # customer query The customer associated with the given access token. Tokens are obtained by using the [`customerAccessTokenCreate` mutation](https://shopify.dev/docs/api/storefront/latest/mutations/customerAccessTokenCreate). ## Arguments * customer​Access​Token [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String) required The customer access token. *** ## Possible returns * Customer [Customer](https://shopify.dev/docs/api/storefront/latest/objects/Customer) A customer represents a customer account with the shop. Customer accounts store contact information for the customer, saving logged-in customers the trouble of having to provide it at every checkout. *** ## Examples * ### Get a customer by access token #### Description The following query retrieves the customer with the associated access token. It returns the customer fields specified in the query. #### Query ```graphql query { customer(customerAccessToken: "bobs_token") { id firstName lastName acceptsMarketing email phone } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Storefront-Access-Token: {storefront_access_token}' \ -d '{ "query": "query { customer(customerAccessToken: \"bobs_token\") { id firstName lastName acceptsMarketing email phone } }" }' ``` #### React Router ```javascript import { unauthenticated } from "../shopify.server"; export const loader = async () => { const { storefront } = await unauthenticated.storefront( 'your-development-store.myshopify.com' ); const response = await storefront.graphql( `#graphql query { customer(customerAccessToken: "bobs_token") { id firstName lastName acceptsMarketing email phone } }`, ); const json = await response.json(); return json.data; } ``` #### Node.js ```javascript const client = new shopify.clients.Storefront({ domain: 'your-development-store.myshopify.com', storefrontAccessToken, }); const data = await client.query({ data: `query { customer(customerAccessToken: "bobs_token") { id firstName lastName acceptsMarketing email phone } }`, }); ``` #### Response ```json { "customer": { "id": "gid://shopify/Customer/410535040", "firstName": "John", "lastName": "Smith", "acceptsMarketing": false, "email": "johnsmith@example.com", "phone": "+16134504533" } } ``` ## Get a customer by access token [Open in GraphiQL](http://localhost:3457/graphiql?query=query%20%7B%0A%20%20customer\(customerAccessToken%3A%20%22bobs_token%22\)%20%7B%0A%20%20%20%20id%0A%20%20%20%20firstName%0A%20%20%20%20lastName%0A%20%20%20%20acceptsMarketing%0A%20%20%20%20email%0A%20%20%20%20phone%0A%20%20%7D%0A%7D) ```javascript import { unauthenticated } from "../shopify.server"; export const loader = async () => { const { storefront } = await unauthenticated.storefront( 'your-development-store.myshopify.com' ); const response = await storefront.graphql( `#graphql query { customer(customerAccessToken: "bobs_token") { id firstName lastName acceptsMarketing email phone } }`, ); const json = await response.json(); return json.data; } ``` ## Response JSON ```json { "customer": { "id": "gid://shopify/Customer/410535040", "firstName": "John", "lastName": "Smith", "acceptsMarketing": false, "email": "johnsmith@example.com", "phone": "+16134504533" } } ```