What is Shopify Admin GraphQL API?
About Shopify Admin GraphQL API
The Shopify Admin GraphQL API is an API that lets your Shopify app read and modify a store's data programmatically.
Think of it as a communication channel between your app and a Shopify store.
For example, your app can use the Admin GraphQL API to:
- Get products
- Create or update products
- Get orders
- Manage customers
- Update inventory
- Manage collections
- Create discounts
- Access shop information
- Perform many other admin operations
Simple picture
Your Shopify App
│
│ GraphQL request
▼
Shopify Admin GraphQL API
│
▼
Shopify Store Data
(products, orders, customers, etc.)
Why is it called "Admin"?
Because it is primarily used to access store administration data.
For example, suppose a merchant installs your app and your app needs to display their products.
Your app can ask Shopify:
"Give me the products in this store."Shopify returns the requested data.
Why GraphQL?
GraphQL lets your app request exactly the data it needs.
For example, imagine a product has:
Product
├── ID
├── Title
├── Description
├── Price
├── Images
├── Inventory
├── Vendor
└── Tags
Your app might only need the ID and title.
A GraphQL query can request only those fields:
{
products(first: 10) {
nodes {
id
title
}
}
}
Shopify can then return something like:
{
"data": {
"products": {
"nodes": [
{
"id": "gid://shopify/Product/123",
"title": "T-Shirt"
},
{
"id": "gid://shopify/Product/456",
"title": "Shoes"
}
]
}
}
}
That's one of the major advantages of GraphQL: you specify the fields you want.
Query vs Mutation
There are two concepts you should understand first.
1. Query = Read data
A query retrieves information.
For example:
query {
products(first: 10) {
nodes {
id
title
}
}
}
This means:
"Give me the first 10 products."
2. Mutation = Change data
A mutation performs an action or changes Shopify data.
For example, creating a product uses a mutation:
mutation {
productCreate(product: {
title: "My New Product"
}) {
product {
id
title
}
}
}
Conceptually:
Query → Read
Mutation → Create / Update / Delete / Perform action
How does authentication fit in?
Your app cannot simply call the Admin API anonymously.
It needs an access token with the appropriate permissions/scopes.
The basic flow is:
Merchant installs your app
↓
Shopify authentication
↓
App receives access token
↓
App sends GraphQL request
↓
Shopify verifies token + permissions
↓
Shopify returns data
For example, your app might need a scope such as:
read_products
if it needs to read products.
If it needs to modify products, it may need:
write_products
So authentication answers:
"Who is this app, and what is it allowed to access?"The Admin GraphQL API answers:
"What Shopify data/actions can this authenticated app access?"
Admin GraphQL API vs Storefront API
This distinction is important when building Shopify apps.
| Admin GraphQL API | Storefront API |
|---|---|
| Used by apps/admin systems | Used for storefront experiences |
| Manage store data | Display/storefront data |
| Products, orders, customers, inventory, etc. | Products, collections, cart, checkout-related storefront functionality |
| Requires appropriate Admin API access | Designed for customer-facing storefronts |
Example: Building an inventory app
Suppose you're building an app that shows merchants which products are running low on inventory.
Your app might:
- Authenticate with Shopify.
- Get an Admin API access token.
- Query products/inventory through GraphQL.
- Analyze the inventory.
- Show a dashboard to the merchant.
Conceptually:
Merchant
↓
Your App
↓
Authentication / Access Token
↓
Admin GraphQL API
↓
Products + Inventory
↓
Your App
↓
"5 products are low in stock"
The key idea
When you're learning Shopify app development, remember this:
Shopify Admin GraphQL API = the main programmatic interface your app uses to work with a Shopify store's administrative data.And the three concepts fit together like this:
Shopify App
│
├── Authentication
│ ↓
│ Access Token
│
└── Admin GraphQL API
↓
Shopify Store
↓
Products / Orders /
Customers / Inventory
If you're building a Shopify app, OAuth/authentication → access token → Admin GraphQL API is one of the most important flows to understand.
Comments
Post a Comment