A TypeScript e-commerce platform built with GraphQL and React for developers building customizable online stores.
vendurehq/vendure
Open-source headless commerce backend in TypeScript and NestJS, serving shops and B2B sales through one extensible GraphQL API.
Open-source alternative to:Shopify
- Stars
- 8,568
- Forks
- 1,545
- Open issues
- 246
- Last commit
- yesterday
What is it?
Vendure is a headless commerce backend for businesses whose catalog, pricing, orders and promotions don't fit a standard storefront template. It covers products and variants, carts and orders, multi-location stock, promotions, payments, shipping, tax and customers, and exposes them through typed Shop and Admin GraphQL APIs that any frontend can call.
The core is written in TypeScript on Node.js and NestJS. Developers extend behaviour through plugins and service overrides instead of editing the framework, so custom entities, pricing logic and workflows can be added without forking. Multi-channel, multi-region, multi-currency and multi-language setups run from a single instance, and an admin dashboard built with React is included and can be extended with custom pages.
Projects are scaffolded with `npx @vendure/create`, which needs Node.js 22.12 or later and a SQL database such as PostgreSQL, MySQL, MariaDB or SQLite. The project can be self-hosted on Docker, Kubernetes or a single VM. Paid plans and a managed cloud offering are built on top of this open-source core.
Key features
- 01Shop and Admin GraphQL APIs with a typed, introspectable schema
- 02Plugin and service override system for extending behaviour without forking
- 03Built-in catalog, orders, stock, promotions, payments and shipping
- 04Multi-channel, multi-region, multi-currency and multi-language support
- 05React and TanStack admin dashboard that can be extended with custom pages
Use cases
- Building a B2B wholesale store with custom pricing and account workflows
- Running a multi-currency, multi-region D2C shop from one backend
- Creating a marketplace or omnichannel sales system on a shared commerce API
- Adding custom commerce logic to a TypeScript and Node.js stack
In collections
Topics
FAQ
- What is vendure?
- Open-source headless commerce backend in TypeScript and NestJS, serving shops and B2B sales through one extensible GraphQL API. Vendure is a headless commerce backend for businesses whose catalog, pricing, orders and promotions don't fit a standard storefront template. It covers products and variants, carts and orders, multi-location stock, promotions, payments, shipping, tax and customers, and exposes them through typed Shop and Admin GraphQL APIs that any frontend can call.
- Is vendure free to use? What license does it have?
- vendure is open source under the Other license. Check the license terms before using it in commercial products.
- Is vendure still maintained?
- Actively maintained. The last commit to vendure was on Nov 6, 2026.
- What can I use vendure for?
- Building a B2B wholesale store with custom pricing and account workflows Running a multi-currency, multi-region D2C shop from one backend Creating a marketplace or omnichannel sales system on a shared commerce API Adding custom commerce logic to a TypeScript and Node.js stack
- Where can I get vendure?
- The source code and installation instructions are on GitHub: https://github.com/vendurehq/vendure
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source Laravel eCommerce platform with multi-vendor marketplace, B2B, multi-tenant and headless storefront support.
Open-source headless commerce platform in Ruby with REST APIs, TypeScript SDKs, a React admin dashboard and a Next.js storefront, for B2B, marketplaces and omnichannel selling.
Open-source PHP e-commerce platform for building and running online stores, with a back office for merchants and a customizable storefront.
An open-source eCommerce framework built on Ruby on Rails for developers who want to build and fully control their own online store.
A Laravel ecommerce package that adds a full online shop, admin backend and APIs to an existing Laravel application.