Help us improve
Share bugs, ideas, or general feedback.
From shopify-commerce
Use Shopify GraphQL Admin API for server CRUD on products/orders and Storefront API for client queries on products/cart, with versioning, rate limits, bulk ops, pagination.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin shopify-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/shopify-commerce:shopify-api-graphqlThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Provides deprecated Shopify REST Admin API reference—endpoints, auth, rate limits—and GraphQL migration mappings. Use for legacy maintenance or migration planning.
Optimizes Shopify GraphQL API performance through query cost reduction, bulk operations, caching strategies, and Storefront API for high-traffic storefronts.
Writes or explains Shopify Admin GraphQL queries and mutations for apps and integrations extending the admin. Use for understanding, designing, or generating operations before execution or config validation.
Share bugs, ideas, or general feedback.
Fetch live docs:
https://shopify.dev/docs/api/admin-graphql for Admin API schemahttps://shopify.dev/docs/api/storefront for Storefront API schemasite:shopify.dev graphql api versioning for current API versionsFull CRUD on all store resources:
https://{store}.myshopify.com/admin/api/{version}/graphql.jsonX-Shopify-Access-Token headerRead-heavy access for custom storefronts:
https://{store}.myshopify.com/api/{version}/graphql.jsonX-Shopify-Storefront-Access-Token headerQuarterly releases: YYYY-MM (January, April, July, October)
unstable version available for testing upcoming changesquery Products($first: Int!, $after: String) {
products(first: $first, after: $after) {
edges {
node {
id
title
handle
status
variants(first: 10) {
edges {
node {
id
title
price
sku
inventoryQuantity
}
}
}
metafields(first: 5) {
edges {
node {
namespace
key
value
type
}
}
}
}
}
pageInfo { hasNextPage endCursor }
}
}
mutation ProductCreate($input: ProductInput!) {
productCreate(input: $input) {
product {
id
title
}
userErrors {
field
message
}
}
}
For large data exports:
mutation {
bulkOperationRunQuery(
query: """
{
products {
edges {
node {
id
title
variants {
edges {
node { id sku price }
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors { field message }
}
}
Poll for completion, then download JSONL result file.
query Products($first: Int!) {
products(first: $first) {
edges {
node {
id
title
handle
priceRange {
minVariantPrice { amount currencyCode }
}
images(first: 1) {
edges {
node { url altText }
}
}
}
}
}
}
mutation CartCreate($input: CartInput!) {
cartCreate(input: $input) {
cart {
id
lines(first: 10) {
edges {
node {
id
quantity
merchandise {
... on ProductVariant {
id
title
price { amount currencyCode }
}
}
}
}
}
cost {
totalAmount { amount currencyCode }
}
checkoutUrl
}
userErrors { field message }
}
}
Each query has a calculated cost:
extensions.cost.throttleStatusretryAfterRelay-style cursor pagination:
first + after (from pageInfo.endCursor)last + before (from pageInfo.startCursor)pageInfo.hasNextPage / pageInfo.hasPreviousPageThe official ShopifyAPI package (GitHub: Shopify/shopify_python_api) provides a Python client:
pip install ShopifyAPIuserErrors in mutation responses — a 200 status does not mean successFetch the Shopify GraphQL API reference for the current schema, available queries/mutations, and latest API version before implementing.