PHPackages                             cavellblood/craft-shopify-product-fetcher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. cavellblood/craft-shopify-product-fetcher

ActiveCraft-plugin[API Development](/categories/api)

cavellblood/craft-shopify-product-fetcher
=========================================

Load your Shopify products into your craft3 cms instance

1.0.7(6y ago)011MITPHP

Since Jul 28Pushed 6y agoCompare

[ Source](https://github.com/cavellblood/craft-shopify-product-fetcher)[ Packagist](https://packagist.org/packages/cavellblood/craft-shopify-product-fetcher)[ RSS](/packages/cavellblood-craft-shopify-product-fetcher/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (2)Versions (9)Used By (0)

Shopify plugin for Craft CMS 3.x
================================

[](#shopify-plugin-for-craft-cms-3x)

[![Screenshot](resources/img/readme-header.jpg)](resources/img/readme-header.jpg)

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0-beta.23 or later.

Installation
------------

[](#installation)

#### Composer

[](#composer)

Install the plugin via composer into your craft 3 project:

```
composer require nmaier95/shopify-product-fetcher

```

In the Control Panel of Craft, go to Settings → Plugins and click the “Install” button for shopify.

#### Craft Plugin Store

[](#craft-plugin-store)

We are listed inside the official Craft Plugin Store. You may directly install it here as well.

#### Manually

[](#manually)

Please see the official docs of Craft:

Configuring shopify
-------------------

[](#configuring-shopify)

Once the plugin is installed successfully, a new icon with this' plugins logo on the settings-page appeared. Clicking it takes you to the settings of the plugin.

[![Screenshot](resources/img/settings.png)](resources/img/settings.png)

!! Please stick to the format of the "Hostname" field like in the example above !!

Using shopify
-------------

[](#using-shopify)

There will be an additional field of type "Shopify Product" in the list of all available field-types when creating a new field for a group. Then add this field/group to your section layout and you are ready to go. When editing the section it´ll now automatically fetch products from your store into the field to select them from. In the background only the product id gets saved into your database. Via the saved product-id you are then able to fetch specific products inside of your templates.

### Samples

[](#samples)

#### Usage of products selected inside of an entry

[](#usage-of-products-selected-inside-of-an-entry)

```
{% for productId in entry.products %}

    {% set shopifyProduct = craft.shopify.getProductById({ id: productId }) %}

    {{ dump(shopifyProduct) }}

{% endfor %}
```

#### Get all products of my shop

[](#get-all-products-of-my-shop)

```
{% set products = craft.shopify.getProducts() %}

        {% for product in products %}
            {{ product.title }} - ${{ product.variants[0].price }}
        {% endfor %}

    Add to Cart

```

Both `craft.shopify.getProductById()` and `craft.shopify.getProducts()` support an optional 'options' parameter which takes shopify-api options for requests. For further documentation please use official shopify api docs. For example `craft.shopify.getProducts({fields: 'variants'})`

Brought to you by [niklas maier](https://maier-niklas.de/)
You may also find me inside of the official [Craft Slack](https://craftcms.com/slack).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 60% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~118 days

Recently: every ~137 days

Total

6

Last Release

2253d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/727740?v=4)[Cavell Blood](/maintainers/cavellblood)[@cavellblood](https://github.com/cavellblood)

---

Top Contributors

[![nmaier95](https://avatars.githubusercontent.com/u/9212374?v=4)](https://github.com/nmaier95 "nmaier95 (30 commits)")[![elivz](https://avatars.githubusercontent.com/u/62592?v=4)](https://github.com/elivz "elivz (20 commits)")

---

Tags

cmsCraftcraftcmscraft-pluginshopifyproduct syncfetch-productsintegrate shopify

### Embed Badge

![Health badge](/badges/cavellblood-craft-shopify-product-fetcher/health.svg)

```
[![Health](https://phpackages.com/badges/cavellblood-craft-shopify-product-fetcher/health.svg)](https://phpackages.com/packages/cavellblood-craft-shopify-product-fetcher)
```

###  Alternatives

[wrav/oembed

A simple plugin to extract media information from websites, like youtube videos, twitter statuses or blog articles.

36205.0k3](/packages/wrav-oembed)[acclaro/translations

Easily launch and manage multilingual Craft websites without having to copy/paste content or manually track updates.

1229.5k](/packages/acclaro-translations)[craftpulse/craft-typesense

Craft Plugin that synchronises with Typesense

122.7k](/packages/craftpulse-craft-typesense)[jsmrtn/craftagram

Grab Instagram content through the Instagram API

141.3k](/packages/jsmrtn-craftagram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
