Your product data is everywhere. It should be in one place.

Shopify
Magento
BigCommerce
SAP Commerce
Akeneo
REST API
GraphQL
WooCommerce
Salesforce
NetSuite
Amazon SP-API
Google Merchant
Shopify
Magento
BigCommerce
SAP Commerce
Akeneo
REST API
GraphQL
WooCommerce
Salesforce
NetSuite
Amazon SP-API
Google Merchant
v2.1.0 · stable · MIT

Forged from chaos.
Clean records, every channel.

Open-source PIM engine for e-commerce teams drowning in spreadsheets. One command to deploy. One source of truth to rule every channel.

catalog-cli — bash
$ npx create-catalog-app my-pim
↳ Pulling schema registry...
↳ Connecting attribute engine...
↳ Mounting channel adapters...
✓ Instance ready at localhost:3001
Open Source PIM

No vendor lock-in. Self-host on your infrastructure. Full control over your product data pipeline.

Deploy Your Instance →
GitHub
4.2k★ stars
Active development
★ Star on GitHub
Channel Conflict Detected
shopifyWireless Headphones Pro Max✓ sync
amazonWHP Pro Max (Renewed)✗ drift
bigcommerceHeadphones Wireless Pro✗ drift
magentoWireless Headphones Pro Max✓ sync

3 title mismatches across channels · catalog resolves →

Completeness Score
Title100%
Images88%
Attributes72%
SEO Meta45%
The Problem → The Resolution
Before: product_data_FINAL_v3.xlsx
SKUFIELDSHOPIFYAMAZONMAGENTOSTATUS
SKU-0041titleTitanium Watch Band 42mmWatch Band Titanium 42Titanium Band for Apple Watch⚠ conflict
SKU-0042price$34.99$34.99$29.99⚠ conflict
SKU-0043images4 images2 images4 images△ warn
SKU-0044titleLeather Strap 44mm BrownLeather Strap 44mm BrownLeather Strap 44mm Brown✓ ok
↳ 3 conflicts detected · 1 warning · last sync: 3 days ago
Sync Log
14:32:01✗ PUSH amazon › SKU-0041 · title mismatch
14:32:03✗ PUSH bigcommerce › SKU-0042 · price conflict
14:32:05✓ PUSH shopify › SKU-0044 · success
14:32:07△ ABORT · 2 errors require resolution
catalog resolves →
After: catalog master record · governed · clean
SKUMASTER TITLECHANNELSCOMPLETENESSSYNC STATUS
SKU-0041Titanium Watch Band 42mm3 active
100%
✓ synced
SKU-0042Titanium Watch Band 42mm Adapter3 active
100%
✓ synced
SKU-0043Titanium Band 42mm Sport Loop3 active
98%
✓ synced
SKU-0044Leather Strap 44mm Brown3 active
100%
✓ synced
↳ 0 conflicts · 0 warnings · synced 12 seconds ago · next push in 48s
Multi-Channel Push Engine
Active Channel Adapters
ChannelSKUs SyncedAvg LatencyStatus
Shopify14,8321.2slive
Amazon SP-API14,7912.8slive
BigCommerce14,8321.9slive
Magento 214,8103.1slive
Google Merchant14,8320.9slive
eBay Catalog12,400—pending
↳ 74,265 SKUs live across 5 channels · last full sync: 2m ago
Schema Validation

Every field validated against channel-specific attribute schemas before push. No silent failures.

Delta Sync

Only changed records are pushed. Not your entire catalog on every cron job.

Conflict Resolution

Master record wins. Drift is detected, logged, and resolved automatically.

Rollback

Every push is versioned. One command to revert to any previous state.

Data Flow Architecture
Source
CSV / ERP / API
Catalog Engine
Validate · Enrich · Govern
Channel Adapters
Schema transform
Live Channels
Shopify · Amazon · +4
By The Numbers
0+
GitHub Stars
and growing
0+
Production Deployments
self-hosted instances
0M+
SKUs Managed
across all instances
0
Channel Adapters
out of the box
✓ VERIFIED USER

“We killed 11 spreadsheets in one afternoon. The CLI felt like magic — messy CSVs in, clean records out.”

Priya Mehta
Catalog Ops Lead · Ridge Outdoor Co.
✓ VERIFIED USER

“Wired our SAP ERP to Shopify in 3 hours. Catalog just handles the schema translation. Nothing else does this.”

Marco Delgado
Integration Engineer · Vantage Commerce
✓ VERIFIED USER

“Q3 launch to three new marketplaces. We would have missed it without Catalog. It is the backbone now.”

Sarah Okonkwo
VP of E-commerce · Meridian Home Goods
Open Source · Apache 2.0 · No Telemetry · Self-Hostable
TypeScriptNode.jsPostgreSQLRedis
Deploy in 3 commands

Your PIM is three commands away.
Everything else is already built.

No SaaS contracts. No per-SKU pricing. No vendor negotiation. Deploy Catalog on your infrastructure and own your product data completely.

1
npx create-catalog-app my-pim
# Scaffold your instance
✓
2
catalog connect --source ./products.csv
# Connect your data source
✓
3
catalog push --channels shopify,amazon
# Push to all channels
✓

MIT License · No credit card · No account required · Runs anywhere Node.js runs