---
title: Customer Account API
description: Create unique customer experiences with the Customer Account API. The API offers a full range of options making it possible for customers to view their orders, manage their profile and much more.
api_version: 2025-07
api_name: customer-account-ui-extensions
source_url:
html: https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/apis/customer-account-api
md: https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/apis/customer-account-api.md
---
# Customer Account APIAPI
Create unique customer experiences with the Customer Account API. The API offers a full range of options making it possible for customers to view their orders, manage their profile and much more.
## Examples
Accessing the Customer Account API with fetch()
You can access the [Customer Account GraphQL API](https://shopify.dev/docs/api/customer) using the global `fetch()`.
### Examples
* #### Accessing the Customer Account API with fetch()
##### Description
You can access the \[Customer Account GraphQL API]\(/docs/api/customer) using the global \`fetch()\`.
##### React
```jsx
import React, { useEffect, useState } from "react";
import {
Banner,
reactExtension,
useTranslate,
} from "@shopify/ui-extensions-react/customer-account";
export default reactExtension(
"customer-account.order-status.block.render",
() =>
);
function BlockExtension() {
const [customerName, setCustomerName] = useState("");
const translate = useTranslate();
const getCustomerNameQuery = {
query: `query {
customer {
firstName
}
}`
};
useEffect(() => {
fetch("shopify://customer-account/api/unstable/graphql.json",
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(getCustomerNameQuery),
}).then((response) => response.json())
.then(({data: { customer: {firstName}}}) => {
setCustomerName(firstName)
}).catch(console.error);
});
return customerName ? (
{translate('welcomeMsg', {name: customerName})}
): null;
}
```
##### JavaScript
```js
import React from "react";
import {
Banner,
extension,
} from "@shopify/ui-extensions-react/customer-account";
export default extension(
"customer-account.order-status.block.render",
(root, api) => {
const getCustomerNameQuery = {
query: `query {
customer {
firstName
}
}`
};
fetch("shopify://customer-account/api/unstable/graphql.json",
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(getCustomerNameQuery),
}).then((response) => response.json())
.then(({data: {customer: {firstName}}}) => {
if (firstName) {
root.appendChild(root.createComponent(Banner, {}, `${api.i18n.translate('welcomeMsg', {name: firstName})}` ));
}
}).catch(console.error);
});
```
## Related
[](https://shopify.dev/docs/api/customer)
[Navigate toGraphQL Customer Account API](https://shopify.dev/docs/api/customer)