The Nuxt Shopify module can be configured via the shopify property in your nuxt.config.ts file.
Minimal configuration to get started:
export default defineNuxtConfig({
modules: ['@nuxtjs/shopify'],
shopify: {
name: 'quickstart-abcd1234',
clients: {
storefront: {
apiVersion: '2025-07',
publicAccessToken: 'YOUR_ACCESS_TOKEN',
},
admin: {
apiVersion: '2025-07',
accessToken: 'YOUR_ACCESS_TOKEN',
},
},
},
})
Choose the configuration that matches your use case:
export default defineNuxtConfig({
shopify: {
name: 'quickstart-abcd1234',
clients: {
storefront: {
apiVersion: '2025-07',
publicAccessToken: 'YOUR_ACCESS_TOKEN',
},
},
},
})
export default defineNuxtConfig({
shopify: {
name: 'quickstart-abcd1234',
clients: {
storefront: {
apiVersion: '2025-07',
privateAccessToken: 'YOUR_ACCESS_TOKEN',
},
},
},
})
export default defineNuxtConfig({
shopify: {
name: 'my-mocked-shopify-store',
clients: {
storefront: {
apiVersion: '2025-07',
mock: true,
},
},
},
})
export default defineNuxtConfig({
shopify: {
name: 'quickstart-abcd1234',
clients: {
admin: {
apiVersion: '2025-07',
accessToken: 'YOUR_ACCESS_TOKEN',
},
},
},
})
quickstart-abcd1234).Configure one or both API clients:
2025-07)falsetrue for default path or provide custom path - default: truetruetruefalse32025-07)truefalse (admin only enabled when explicitly set)false3/graphqltrueerrors object in the response - default: trueFull configuration example with all options:
export default defineNuxtConfig({
modules: ['@nuxtjs/shopify'],
shopify: {
name: 'quickstart-abcd1234',
clients: {
storefront: {
apiVersion: '2025-07',
publicAccessToken: 'YOUR_PUBLIC_ACCESS_TOKEN',
privateAccessToken: 'YOUR_PRIVATE_ACCESS_TOKEN',
mock: false,
proxy: true,
sandbox: true,
autoImport: true,
codegen: {
skip: false,
pluginOptions: {
typescript: {},
},
},
headers: {},
documents: [],
retries: 3,
},
admin: {
apiVersion: '2025-07',
accessToken: 'YOUR_ADMIN_ACCESS_TOKEN',
sandbox: true,
autoImport: false,
codegen: {
skip: false,
pluginOptions: {
typescript: {},
},
},
headers: {},
documents: [],
retries: 3,
},
},
logger: {},
fragments: {
path: '/graphql',
autoImport: true,
},
errors: {
throw: true,
},
},
})