🌐
Shopify
shopify.dev › docs › api › admin-graphql › latest › objects › Product
Product - GraphQL Admin
The `Product` object lets you manage products in a merchant’s store. Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product.
🌐
Shopify
shopify.dev › docs › api › admin-graphql › latest › queries › products
products - GraphQL Admin
query GetProducts { products(first: 10) { nodes { id title } } } curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query GetProducts { products(first: 10) { nodes { id title } } }" }'
🌐
Shopify Community
community.shopify.com › shopify apps
GraphQL Admin API products query
June 6, 2024 - I am referring this doc https://shopify.dev/docs/api/admin-graphql/2024-04/queries/products?language=Remix&example=Get+the+first+10+products+updated+after+the+specified+date#argument-query-filter-status Could anyone please let me know what are the possible values for the query filter: product_configuration_owner, product_publication_status, publishable_status, and published_status For instance my query is query { products(first: 10, query: "status:ACTIVE AND published_status:") { ...
🌐
Shopify
shopify.dev › docs › api › admin-graphql › latest
GraphQL Admin API reference
The Admin API lets you build apps and integrations that extend and enhance the Shopify admin. This page will help you get up and running with Shopify’s GraphQL API.
🌐
Shopify
shopify.dev › docs › apps › build › graphql › migrate › new-product-model
Using the latest GraphQL product APIs
All apps and integrations should be built with the GraphQL Admin API. For details and migration steps, visit our migration guide. Shopify has updated the GraphQL product APIs to support raising the variant and option limits for all merchants ...
🌐
Medium
medium.com › @markwkiehl › a-beginner-guide-to-shopify-graphql-512069805678
A Beginner guide to Shopify GraphQL | by Mark W Kiehl | Medium
November 14, 2024 - You can also use the Python (or other) SKD to access product information. The Shopify documentation for the Python SDK is in my opinion shameful. The example below will get you to the point where you can execute a GraphQL query. From that point, you can use the the general HTTP API documentation.
🌐
Shopify
shopify.com › partners › blog › all-in-on-graphql
All-in on GraphQL: the future of app development at Shopify (2024) - Shopify
As of today, GraphQL is a true superset of the REST API: use cases that once could only be accomplished in REST can now be achieved with GraphQL. Moreover, GraphQL offers exclusive features, such as support for 2,000 product variants and advanced capabilities such as Metaobjects.
🌐
Stack Overflow
stackoverflow.com › questions › 72475765 › shopify-storefront-api-graphql-how-to-get-specific-product-data
Shopify storefront API GraphQL: How to get specific product data? - Stack Overflow
function apiCall(productQuery) { return fetch('https://store//api/2022-04/graphql.json', { method: 'POST', headers: { 'Content-Type': 'application/graphql', 'X-Shopify-Storefront-Access-Token': "xxx" }, "body": productQuery } ) .then( response => response.json() ); } function getProducts() { const productQuery = `{ products(first: 250) { edges { node { id handle title } } } }`; return apiCall(productQuery); } $(document).ready(function() { const product_selector_container = $('.product_selector_container'); getProducts().then(response => { product_selector_container.prepend("<select name='prod
🌐
Shopify
shopify.dev › docs › api › admin-graphql › latest › mutations › productCreate
productCreate - GraphQL Admin
mutation { productCreate(product: {title: "Cool socks", productOptions: [{name: "Color", values: [{name: "Red"}, {name: "Blue"}]}, {name: "Size", values: [{name: "Small"}, {name: "Large"}]}]}) { product { id title options { id name position optionValues { id name hasVariants } } } userErrors { field message } } } curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation { productCreate(product: {title: \"Cool socks\", productOptions: [{name: \"Color\", values: [{name: \"Red\"}, {name: \"Blue\"}]}, {name: \"Size\", values: [{name: \"Small\"}, {name: \"Large\"}]}]}) { product { id title options { id name position optionValues { id name hasVariants } } } userErrors { field message } } }" }'
Find elsewhere
🌐
DEV Community
dev.to › rajeshkumaryadavdotcom › shopify-graphql-fetch-product-3j1m
Fetching Products from Shopify using Node.js and GraphQL - DEV Community
December 11, 2023 - Shopify provides a powerful GraphQL API that allows developers to interact with their store data. In this tutorial, we'll walk through the steps to fetch products from a Shopify store using Node.js and GraphQL.
🌐
Shopify Community
community.shopify.com › c › new-graphql-product-apis › bd-p › new-graphql-product-apis
New Graphql Product Apis
Shopify Community · Appdev New Graphql Product Apis · next page → · Powered by Discourse, best viewed with JavaScript enabled
🌐
Shopify
shopify.com › partners › blog › getting-started-with-graphql
Getting Started with GraphQL - Shopify
The translations API is GraphQL only. Product media, so being able to not just do images but videos and 3D models, is GraphQL.
🌐
Shopify Community
community.shopify.com › technical q&a
How to manage product variants with GraphQL API when productCreate ...
February 7, 2024 - I am developing a system using the latest shopify version 2024-04 to automate product and variant creation using Shopify’s GraphQL API. My workflow involves using the productCreate mutation followed by productVariantsBul…
Top answer
1 of 3
6

You can't get all products with a single GraphQL request either with the StoreFront GraphQL or the Admin GraphQL.

If your products are below 250 you can make a request with first: 250 but if you have more than 250 products than you need to make recursive request with the cursor pagination for GraphQL. So if you have 1000 products you will need to make 4 request (depending on which API you are using, the storefront or admin graphql api, since they are different)

At the moment there is no way to get all products using a single request via any of the provided APIs from Shopify.

The only way to achieve this is to make a custom template with the following code:

[
{% paginate collection.products by 9999 %}
  {% for product in collection.products %}
    {{product | json}}{% unless forloop.last %},{% endunless %}
  {% endfor %}
{% endpagination %}
]

Call it something like collection.ajax.liquid.

And make a fetch request to it using the view param:

fetch('/collections/all?view=ajax').then((response) => handle the response)

Have in mind that the more products you have the longer the request to that page will be. If you have 1000 products the request can take up to 10 seconds. So this is not a great solution as well for massive pool of products.


As for the total count there is a liquid object for that {{ collection.all_products_count }} or if you are doing admin stuff, use the rest api, since there is a method to get the products count, but there is none in the graphql.

2 of 3
2

You can get all products using BULK API with conjunction to GRAPHQL

🌐
Shopify Community
community.shopify.com › retired boards › appdev › graphql basics and troubleshooting
How to get single product with GraphQL Admin API
December 2, 2020 - Hi everyone! I’m quite new to Shopify and GraphQL but I have some coding experience at hand.. I’m trying to fetch single product with Admin API but it is whining about “Variable $id of type ID! was provided invalid value”. What I’m trying to do is as follows: query GetProductsById($id: ID!)
🌐
Medium
medium.com › @kei178 › shopify-how-to-create-a-single-variant-product-with-graphql-api-f3c92556456e
Shopify: How to Create a Single-Variant Product with GraphQL API | by Keisuke Inaba | Medium
April 2, 2025 - mutation($product: ProductCreateInput!, $media: [CreateMediaInput!]!) { productCreate(product: $product, media: $media) { product { id createdAt variants(first: 1) { edges { node { id } } } } userErrors { field message } } } API doc: https://shopify.dev/docs/api/admin-graphql/latest/mutations/productvariantsbulkupdate
🌐
Postman
postman.com › muchisx › public › collection › 6522230ecae43373c3e1a533
Shopify Admin - GraphQL | Get Started
Accelerate API development with Postman's all-in-one platform. Streamline collaboration and simplify the API lifecycle for faster, better results. Learn more.
🌐
GitHub
github.com › Shopify › shopify-api-js › blob › main › packages › shopify-api › docs › reference › clients › Graphql.md
shopify-api-js/packages/shopify-api/docs/reference/clients/Graphql.md at main · Shopify/shopify-api-js
// Requests to /my-endpoint must be made with authenticatedFetch from App Bridge for embedded apps app.get('/my-endpoint', async () => { const sessionId = await shopify.session.getCurrentId({ isOnline: true, rawRequest: req, rawResponse: res, }); // use sessionId to retrieve session from app's session storage // getSessionFromStorage() must be provided by application const session = await getSessionFromStorage(sessionId); const client = new shopify.clients.Graphql({ session, apiVersion: ApiVersion.January23, }); }); ... The Shopify Session containing an access token to the API. ... This will override the default API version. Any requests made by this client will reach this version instead. Sends a request to the Admin API. const response = await client.request( `{ products (first: 10) { edges { node { id title descriptionHtml } } } }`, ); console.log(response.data, response.extensions);
Author   Shopify
🌐
Shopify
shopify.github.io › shopify-api-ruby › usage › graphql.html
Make a GraphQL API call | shopify-api-ruby
If you would like to give your front end the ability to make authenticated graphql queries to the Shopify Admin API, the shopify_api gem makes proxy-ing a graphql request easy! The gem provides a utility function which will accept the raw request body (a GraphQL query), the headers, and the ...