DEV Community

Cover image for The Best Open Source PIM Platforms

The Best Open Source PIM Platforms

Shanika Wickramasinghe
Originally published at ・8 min read

A Product Information Management (PIM) platform is designed to collect and manage product information which is an integral part of any standard e-commerce operation. It acts as a central repository to manage and store all your product data. Another responsibility of a good PIM platform is enriching product data and distributing it through appropriate sales channels.

An open source PIM platform provides a cost-effective and highly customizable solution to this type of data management and distribution. However, selecting an open source solution requires a good deal of research. It also requires the due diligence of comparing open source PIM platforms with platforms from third party, software-as-a-service (SaaS) providers.

This article explores some of the best available open source PIM solutions, compares them with one another, and compares them with SaaS options like Fabric PIM.

PIM Platforms: Open Source Vs SaaS

When considering a PIM platform, there are two available options. Either go for an open source option or a SaaS option. In this section, let's compare the differences between them.

Open Source SaaS
Customization Yes (Code-Level Customization) Yes (Granularity Dependent on Provider)
Database Access / Management Yes No
Infrastructure Configuration Yes No
Infrastructure Maintenance Yes No
Setup / Configuration Difficulty Medium / High Low (Out of the Box Solution)
Technical Expertise High Low / Medium
Features Community Dependent Platform Dependent
Integrations Yes Yes
Licensing/ Subscription Fees No (Free Solution) Yes
Security/Compliance Unmanaged (User Responsibility) Managed (Provider Responsibility)
Support Community-Based Dedicated Support

Bottom line: Open source platforms provide a free solution with a greater level of customization for complex configurations and management requirements. On the other hand, SaaS platforms are a paid solution that enable faster time to value and require less resources to fully utilize.

PIM Platforms: Best Open Source Options

In this section, let's go through some popular open source product information management platforms and compare their features. Following is the list of platforms we will compare and briefly review.

Pimcore Ergonode AtroPIM Akeneo OpenPIM
Data Modeling / Data Management
Product Relationship
Custom Entities / Variants
Custom Logic / Custom UI
Data Import / Export
Omnichannel Publishing Support ✅1
Multilingual Support ✅1
External Integrations
API Availability ✅2
Docker/K8 Support
Premium Offering ❌3
  1. Limited support
  2. The Pimcore REST API is deprecated since version 6.4 and will be removed from version 7; the Pimcore Datahub is the preferred method for data delivery and consumption using GraphQL
  3. Implementation/support is available only as a premium option



Pimcore, specifically its community edition, is a free product information management platform offered under the Open Source GPLv3 license. It is developed using PHP utilizing the Symphony framework. This platform follows the MVC (Model, View, Controller) pattern in its development and supports a wide range of databases like MariaDB, MySQL, and AWS Aurora.

What differentiates Pimcore from other platforms is that it is not just a PIM platform. It is also a complete data management and customer experience management solution offering multiple products from PIM, DAM (Digital Asset Management), to DXP (Digital Experience Platform). Pimcore supports deployments such as SMEs, enterprises, and B2B operations, and more than 100000 companies across 56 countries utilize this platform in their day-to-day operations.

Pimcore is developed with a cloud-first and developer-focused mindset offering a robust and highly extensible platform to manage all the functionality. It supports on-premise, hybrid, and cloud deployments and provides native images for all the major cloud service providers like Azure and AWS. Besides offering a simple REST API, Pimcore has created a separate module called data hub and offers a centralized platform for data delivery and consumption using GraphQL. It increases the functionality of the API and allows developers to interface with external software such as ERP and e-commerce solutions.

Pimcore GitHub

Pimcore Data-Hub GitHub

Let's look at a sample GraphQL request to obtain a document through the API (Data Hub). All the queries there adhere to the GraphQL structure. The documentation for the data hub is available here.

      getDocument(id: 251) {
        ... on document_page {
          editables {
            ...on document_editableDate {
              # unix timestamp
              # as formatted string
Enter fullscreen mode Exit fullscreen mode



The Ergonode platform is relatively a newcomer as an open source PIM platform. According to the Ergonode team, it aims to provide the first human-centric PIM platform that supports both retail and B2B businesses. Ergonode is distributed under the OSL-3.0 License and powered by Vue.js and Symfony frameworks.

The Ergonode architecture is built based on Domain Driven Design Approach adhering to the Command Query Responsibility Segregation (CQRS) and Event Sourcing. This approach has enabled a greater degree of flexibility in developing each module leading to a stable, feature-rich, and extensible platform. Moreover, Ergnode provides product, catalog, and asset management functionality with a robust workflow and user management support.

The Ergonode platform can be broken down into two main components as the independent backend and the frontend. These two components are connected through the REST API. Due to the headless nature of this platform, it offers increased performance. On top of that, the front end is designed to be easily adapted as a Desktop Progressive Web App.

Ergonode Frontend GitHub

Ergonode Backend GitHub

The Ergonode platform supports API requests via nuxt/axios library. Following is a sample javascript API request to get all the product details with a limit of 1000 products ordered by ascending order.

    export const getAll = ({
        params = {
            limit: 1000,
            offset: 0,
            view: 'list',
            field: 'name',
            order: 'ASC',
    }) => $axios.$get('languages', {
Enter fullscreen mode Exit fullscreen mode



AtroPIM is a product information management platform based on the AtroCore software platform, which is distributed under the GPL-3.0 license. It is based on EspoCRM and utilizes PHP7, backbone.js, composer, and some Zend framework libraries. This platform is a single-page application (SPA) with an API-driven approach and a service-oriented architecture (SOA).

This PIM platform is one of the easiest platforms to get the system up and running since it offers many out-of-the-box features encapsulated in a responsive, highly customizable and user-friendly UI. AstroPIM has a multitude of features, such as advanced product management functionality and product data quality management. Another advantage of this platform is that it provides digital asset management (DAM) functionality through its AtroDAM module without depending on other tools or extensions.

AtroPIM also consists of a wide range of connectors and extensions to extend the functionality and connect with external tools and platforms. Its REST API enables developers to integrate AtroPIM with third-party systems and create specialized applications to meet various user needs such as mobile or hybrid web applications.

AtroPIM GitHub

AtroPIM offers a robust API. The following python code block demonstrates a simple API request to obtain asset details.

    import requests

    payload = {'entityId': '25'}
    headers = {'Accept': 'application/json'}
    response = requests.get('', 
Enter fullscreen mode Exit fullscreen mode



The Akeneo PIM community edition is a part of the Akeneo product family, aiming to provide a free and feature-rich product information management platform. It is distributed under the open software license v3.0. This platform leverages the Symfony3 framework with backbone.js and React JS for client-side development. The server side of this platform utilizes Doctrine 2 as ORM, MySQL, and ElasticSearch. The combination of this technology stack leads to a highly scalable, flexible, and adaptable platform.

With Its global community of over 3,000 active members, the Akeneo community edition is constantly under development to fix bugs, improve performance and implement new features while supporting users to get the best out of the platform.

The Akeneo marketplace consists of various connectors and extensions developed by the community. They can be used to connect to different applications and add more functionality to the default Akeneo PIM platform. Due to its well-documented and robust API, any developer can easily integrate third-party solutions like DAM, ERP, e-commerce platforms, etc., with the Akeneo PIM platform using the API.

Akeneo PIM GitHub

Akeneo PIM offers a dedicated PHP API client that can be used to interact with the Akeno API. We can utilize this client to query the API easily. The following example shows how to query for a product using user credentials.

    $clientBuilder = new \Akeneo\Pim\ApiClient\AkeneoPimClientBuilder('http://akeneo/');
    $client = $clientBuilder->buildAuthenticatedByPassword('client_id', 'secret', 'admin', 'admin');

    $product = $client->getProductApi()->get('perfume one');
    echo $product['identifier'];
Enter fullscreen mode Exit fullscreen mode



The OpenPIM platform is a simple solution to provide an easy-to-use PIM platform for small to medium businesses. It is an entirely free solution without a commercial version. However, it offers premium support for implementing and configuring the platform.

OpenPIM is distributed under the Apache-2.0 license and developed using the Vue.js framework. Having the target audience of SMEs, the OpenPIM platform provides all the necessary features such as complete product information management (Data Modeling, Hierarchies, Custom Entries, Relations, etc.) functionality and the ability to create custom actions to quickly get your PIM platform to a production environment.

One of the interesting features of this platform is the support for the query language. It can be used in PIMInput and PIMRownInput components, creating dashboards, and with an extended search functionality to query the data and configure conditions and filters. This query language is based on the JSON format and supports logical and comparison operators. For more information on this, refer to the OpenPIM documentation.

OpenPIM GitHub

Following are a couple of examples of OpenPIM query language.

Simple query to get an item by name (en refers to the English language)

    {"name": { "en" : "product one"} }
Enter fullscreen mode Exit fullscreen mode

Query to specify the logical operator OR to get an item by item type (typeId) or internal item id (id)

        "OP_or": [
            { "Id": "0021" },
            { "typeId": "055" }
Enter fullscreen mode Exit fullscreen mode

PIM Platforms: Best SaaS Option

The fastest and the simplest way to get a PIM platform up and running is to go for a SaaS solution. It mitigates the complexities encountered when configuring an open source platform and handles all the maintenance and security tasks at the cost of licensing or subscription fees. 

Furthermore, a SaaS solution provides an out-of-the-box experience with all the core features already configured and available to the user. The SaaS solutions might provide advanced features that are not available in community editions, such as analytics that would greatly help your business process.

Fabric PIM


Fabric is an e-commerce SaaS provider that not only offers a PIM platform but a complete solution to cater to any e-commerce requirement. With its storefront, experience management, subscription, and loyalty management features, Fabric helps to boost the productivity of your business. Additionally, the headless nature and the powerful API of Fabric allow developers to customize the platform to suit user needs.

Discussion (0)