Building blocks for digital commerce
Building blocks for digital commerce
Thousands of developers use Medusa’s open-source commerce modules and tools to build rich, reliable, and performant commerce applications without reinventing core commerce logic.
Used by global enterprises and fast-moving startups.
For modern digital
commerce applications
We build modularized commerce logic like carts, products, and order management and provide tools to orchestrate them for powerful ecommerce websites, POS applications, B2B shops, and other commerce-enabled products.
Our modules are incredibly portable and can run in modern JavaScript environments, unlocking new infrastructure for unparalleled scalability and performance, while bringing commerce enablement to new layers of your stack.
Foundational commerce
building blocks
We build and distribute the commerce building blocks needed to build amazing ecommerce websites or enable commerce functionality in any product.
Our building blocks eliminate the need to build core commerce logic from scratch and enable you to focus on the customizations that move the needle. All modules are open-source and freely available on npm, so you always control your commerce stack.
Set up Medusa with one command and start developing immersive experiences.
12345678910111213npx create-medusa-app? Name of project? › my-medusa-store? Which starter to install? › medusa-starter-default✔ Creating new project✔ Your new Medusa project is ready for youTo start developing run:cd my-medusa-storemedusa develop
12345678910111213medusa develop✔ Models initialized – 14ms✔ Repositories initialized – 35ms✔ Strategies initialized – 24ms✔ Modules initialized – 1ms✔ Database initialized – 654ms✔ Services initialized – 7ms✔ Express intialized – 5ms✔ Plugins intialized – 7ms✔ Subscribers initialized – 6ms✔ API initialized – 28ms✔ Server is ready on port: 9000
Fast, flexible, future-proof
Quick development cycles
Unlike other platforms, Medusa is built for customization so technical debt is kept low, and your team remains fast.
Free and open-source
Medusa’s modules are MIT licensed to ensure that you are in full control of your commerce stack. No more unexpected API changes.
Better every week
We ship new features and improvements every week to continually deliver better tools to you, and our roadmap is public.
Omnichannel Order Orchestration of +5,000 daily orders
Makro PRO uses Medusa to orchestrate over 180,000 orders and more than $300M in GMV yearly.
70% conversion increase, +50 markets and a POS for retail
Tekla uses Medusa to power its omnichannel operations and managed to scale globally at record speeds.
Building a custom marketplace experience
Foraged allows over 1,000 local sellers to market wild and specialty foods to home cooks and Michelin-starred restaurants.
Frictionless B2B customer experience
Visionary Technologies built a digital customer journey and automated their commerce operations for B2B customers.
What can you build with Medusa?
Our modules are built to be used in any type of application that needs commerce logic. Check out our recipes and learn how to get started.
A few examples for inspiration. You can build anything! Check out all recipes
Prebuilt tools to manage your store
Our modules ship with a prebuilt admin dashboard and client libraries to get you started quickly and scale globally.
Unique experiences across global markets and channels
Control currencies, payment & fulfillment providers, tax, shipping options, and more based on local regions and sales channels.
Global sales from day one
Control currencies, payment & fulfillment providers, tax, shipping options, and more.
Cart & checkout
A lightning-fast Cart API complete with discounts, gift cards, shipping, and payment.
Omnichannel ready
Sell through marketplaces, physical stores, etc., and manage from one unified overview.
Powerful order
management features
Fulfill from multiple locations, instantly create return and exchange flows, and much more.
Commerce building blocks for Next.js
Medusa's modules work seamlessly with Next.js for amazing customer experiences, quick iterations, and fast storefronts.
123456789101112131415161718import { initialize } from "@medusajs/product"import { NextRequest, NextResponse } from "next/server"export async function GET(req: NextRequest) {// Initialize Products Moduleconst productService = await initialize()// Get productsconst products = await productService.list({ tags: { value: ["featured"] } },{ take: 5 },)return NextResponse.json({data: products,})}