Shopistuff icon

Shopistuff

Consume Shopify API

Overview

The Shopistuff node for n8n enables integration with the Shopify API, specifically for managing products.
For the Product → Get Many operation, this node retrieves multiple products from a Shopify store, supporting advanced filtering and field selection.

Common scenarios:

  • Syncing product catalogs between Shopify and other systems.
  • Generating reports or dashboards based on product data.
  • Filtering products by collection, vendor, type, publication status, or date ranges.
  • Retrieving only specific fields to optimize performance or reduce payload size.

Practical examples:

  • Fetch all products in a specific collection created after a certain date.
  • Retrieve up to 100 published products of a given vendor, including only their title and price fields.
  • List all products updated within the last week.

Properties

Name Type Meaning
Return All Boolean Whether to return all matching products (true), or limit the number of results (false).
Limit Number Maximum number of products to return (used if "Return All" is false).
Additional Fields Collection Optional filters and options to refine the product search. See below for details.

Additional Fields options:

Name Type Meaning
Collection ID String Filter products by a specific collection ID.
Created At Max DateTime Only include products created before this date.
Created At Min DateTime Only include products created after this date.
Fields String Comma-separated list of product fields to include in the response.
Handle String Filter products by their handle (unique string identifier).
IDs String Comma-separated list of product IDs to retrieve.
Presentment Currencies String Restrict presentment prices to specified ISO 4217 currency codes (comma-separated).
Product Type String Filter products by their type.
Published At Max DateTime Only include products published before this date.
Published At Min DateTime Only include products published after this date.
Published Status Options Filter by publication status: Any, Published, or Unpublished.
Title String Filter products by their title.
Updated At Max DateTime Only include products updated before this date.
Updated At Min DateTime Only include products updated after this date.
Vendor String Filter products by their vendor.

Output

  • The output is an array of product objects, each representing a Shopify product.
  • The structure of each product object matches the Shopify Product API response.
  • Each item is returned in the json property of the n8n output item.

Example output:

[
  {
    "id": 123456789,
    "title": "Sample Product",
    "body_html": "<strong>Good product!</strong>",
    "vendor": "Acme",
    "product_type": "Widget",
    "created_at": "2024-06-01T12:00:00-04:00",
    "handle": "sample-product",
    "updated_at": "2024-06-05T09:30:00-04:00",
    "published_at": "2024-06-02T08:00:00-04:00",
    "variants": [...],
    "options": [...],
    "images": [...],
    ...
  }
]
  • If you use the "Fields" option, only those fields will be present in each product object.

Dependencies

  • External Service: Requires access to a Shopify store and valid API credentials (configured as shopistuffApi in n8n).
  • n8n Configuration: Credentials must be set up in n8n under the Shopistuff node's credential section.

Troubleshooting

Common issues:

  • Invalid credentials: If your API key or password is incorrect, you'll receive authentication errors.
  • Missing permissions: The Shopify API user must have permission to read products.
  • Too many results: If "Return All" is true and your store has thousands of products, execution may take a long time or hit rate limits.
  • Incorrect filter values: Using invalid IDs, handles, or date formats can result in empty responses or errors.

Error messages:

  • "At least one line item has to be added" – Not relevant for Get Many, but indicates required fields are missing in other operations.
  • Shopify API error messages (e.g., "Not Found", "Unauthorized") will be passed through in the error field if "Continue On Fail" is enabled.

How to resolve:

  • Double-check your API credentials and permissions.
  • Use valid values for filters (IDs, dates, etc.).
  • If retrieving large datasets, consider using filters or limiting results.

Links and References

Discussion