--- title: catalogs - GraphQL Admin description: >- Returns a paginated list of catalogs for the shop. Catalogs control which products are published and how they're priced in different contexts, such as international markets (Canada vs. United States), B2B company locations (different branches of the same business), or specific sales channels (such as online store vs. POS). Filter catalogs by [`type`](https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs#arguments-type) and use the [`query`](https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs#arguments-query) argument to search and filter by additional criteria. Learn more about [Shopify Catalogs](https://shopify.dev/docs/apps/build/markets/catalogs-different-markets). api_version: 2026-01 api_name: admin type: query api_type: graphql source_url: html: 'https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs' md: 'https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs.md' --- # catalogs query Returns a paginated list of catalogs for the shop. Catalogs control which products are published and how they're priced in different contexts, such as international markets (Canada vs. United States), B2B company locations (different branches of the same business), or specific sales channels (such as online store vs. POS). Filter catalogs by [`type`](https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs#arguments-type) and use the [`query`](https://shopify.dev/docs/api/admin-graphql/latest/queries/catalogs#arguments-query) argument to search and filter by additional criteria. Learn more about [Shopify Catalogs](https://shopify.dev/docs/apps/build/markets/catalogs-different-markets). ## CatalogConnection arguments [CatalogConnection!](https://shopify.dev/docs/api/admin-graphql/latest/connections/CatalogConnection) * after * before * first * last * query * reverse * sortKey * type *** ## Possible returns * edges * nodes * pageInfo *** ## Examples * ### Filter catalogs by type #### Query ```graphql query { catalogs(first: 3, type: MARKET) { nodes { id title status } } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2026-01/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query { catalogs(first: 3, type: MARKET) { nodes { id title status } } }" }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { catalogs(first: 3, type: MARKET) { nodes { id title status } } }`, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query { catalogs(first: 3, type: MARKET) { nodes { id title status } } } QUERY response = client.query(query: query) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query { catalogs(first: 3, type: MARKET) { nodes { id title status } } }`, }); ``` #### Response ```json { "catalogs": { "nodes": [ { "id": "gid://shopify/MarketCatalog/1068177673", "title": "NA Market", "status": "ACTIVE" }, { "id": "gid://shopify/MarketCatalog/1068177676", "title": "Asia Market", "status": "DRAFT" }, { "id": "gid://shopify/MarketCatalog/1068177677", "title": "Scandinavia Market", "status": "ARCHIVED" } ] } } ``` * ### List the first three catalogs in the shop #### Query ```graphql query { catalogs(first: 3) { nodes { id title status } } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2026-01/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query { catalogs(first: 3) { nodes { id title status } } }" }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { catalogs(first: 3) { nodes { id title status } } }`, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query { catalogs(first: 3) { nodes { id title status } } } QUERY response = client.query(query: query) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query { catalogs(first: 3) { nodes { id title status } } }`, }); ``` #### Response ```json { "catalogs": { "nodes": [ { "id": "gid://shopify/MarketCatalog/1068177679", "title": "NA Market", "status": "ACTIVE" }, { "id": "gid://shopify/CompanyLocationCatalog/1068177680", "title": "B2B Example 1", "status": "DRAFT" }, { "id": "gid://shopify/AppCatalog/1068177681", "title": "App Catalog Example", "status": "ARCHIVED" } ] } } ```