Skip to main content

Storefront API

Querying the Storefront API.

The base API object provided to this and other customer-account extension targets.

Anchor to query
query
<Data = unknown, Variables = { [key: string]: unknown; }>(query: string, options?: { variables?: Variables; version?: ; }) => Promise<{ data?: Data; errors?: []; }>
required

Used to query the Storefront GraphQL API with a prefetched token.

See storefront api access examples for more information.

Examples
import '@shopify/ui-extensions/preact';
import {render} from 'preact';
import {useEffect, useState} from 'preact/hooks';

export default async () => {
render(<Extension />, document.body);
};

function Extension() {
const [data, setData] = useState({});

useEffect(() => {
shopify
.query(
`query ($first: Int!) {
products(first: $first) {
nodes {
id
title
}
}
}`,
{
variables: {first: 5},
},
)
.then(({data, errors}) => {
setData(data);
})
.catch(console.error);
}, [setData]);

return (
<s-unordered-list>
{data?.products?.nodes.map((node) => {
return (
<s-list-item id={node.id} key={node.id}>
{node.title}
</s-list-item>
);
})}
</s-unordered-list>
);
}
Was this page helpful?