Website Review
What is Spree Commerce?
Spree Commerce is an open-source, headless eCommerce platform. You run the commerce engine yourself and connect any frontend to it — the project pairs a REST API with a TypeScript SDK and a Next.js storefront, so the storefront is decoupled from the backend rather than bundled into one monolithic system. It's aimed at teams building B2B, marketplace, or cross-border commerce where standard hosted plans get restrictive.
The practical consequence of "headless" is that Spree handles products, price lists, orders and the API layer, while you choose the presentation layer. That suits organizations with existing web or app teams, or those whose requirements — multi-tenant setups, custom pricing, multiple regions — don't fit a template store.
Who it tends to fit
- Developers who want to own the stack and extend it in code.
- B2B sellers needing customer-specific pricing and catalogs (the project documents price lists).
- Marketplaces and multi-tenant builds; the site notes GoDaddy used Spree for a multi-tenant eCommerce solution for small businesses.
- Cross-border operations that need control over regional logic.
Who should look elsewhere
- Non-technical owners who want a hosted dashboard and no server maintenance.
- Small shops with simple needs, where a managed platform is faster to launch.
- Teams without capacity to handle hosting, upgrades and security themselves.
Trade-offs to weigh
| Aspect | What it means for you |
|---|---|
| Open source, no platform fees | You pay in engineering time, hosting and upkeep instead of licence fees |
| API-first, headless | Frontend freedom, but you build or wire up the storefront yourself |
| Composable stack | Fit your existing tools; more integration decisions to make |
Next step: skim the API and storefront docs, then try a local install and connect the Next.js storefront to confirm the developer workflow matches your team's skills before committing. If you want a comparison point, look at Medusa or Saleor, which occupy similar headless, open-source territory.
How does Spree Commerce compare to Shopify or Magento for a B2B store?
For a B2B store, Spree Commerce is the strongest fit when you want an open-source, headless platform you control and can extend through its REST API, TypeScript SDK, and Next.js storefront; Shopify is the fastest path when you want a managed SaaS with a large B2B feature set and low operational burden; Magento (Adobe Commerce) sits between them as a heavier, license-based platform with deep enterprise B2B tooling but significant implementation and hosting demands.
How they differ for B2B
| Criterion | Spree Commerce | Shopify | Magento / Adobe Commerce |
|---|---|---|---|
| Model | Open source, self-hosted, headless | Managed SaaS | Licensed platform, self-hosted or cloud |
| Control and customization | Full code-level control via API and SDK | Constrained by app ecosystem and theme limits | Deep customization, heavier codebase |
| Operational load | You run and scale the stack | Vendor handles hosting and uptime | High; requires specialist hosting and maintenance |
| B2B capabilities | Build B2B, marketplace, or cross-border logic yourself | B2B features available on higher plans | Extensive native B2B and enterprise features |
| Best for | Teams with developers who want ownership | Teams that want speed and low maintenance | Enterprises with budget and IT resources |
Choosing between them
- Pick Spree if you have in-house developers, need a custom B2B or marketplace model, and want to avoid platform fees while owning your data and infrastructure.
- Pick Shopify if speed to launch and low operational overhead matter more than deep customization, and its B2B plan features cover your needs.
- Pick Magento/Adobe Commerce if you need extensive native enterprise B2B functionality and can support the cost and complexity.
A concrete next step
List your non-negotiable B2B requirements — customer-specific pricing, quote-to-order, account hierarchies, approval workflows, and ERP integration. Then check which platform handles each natively versus through custom development. Spree's own documentation covers areas like price lists, which is a useful starting point for judging how much you'd build versus configure. For managed alternatives, compare official details at Shopify and Adobe Commerce.
What are the technical requirements and steps to self-host Spree Commerce?
Self-hosting Spree Commerce means running a Ruby on Rails application yourself, so you need a Rails-capable server environment rather than a website builder or a one-click shop host. The platform is open source and API-first, with a REST API, a TypeScript SDK and a Next.js storefront, so your hosting has to cover both the commerce backend and a separate frontend if you use the headless setup.
Technical requirements to plan for
- Ruby and Rails runtime — the application is a Rails codebase, so your server or container image needs a supported Ruby version, Bundler, and the usual Rails dependencies.
- PostgreSQL — Spree uses a relational database; plan for a managed Postgres instance or a self-managed one with backups.
- Redis — needed for background jobs and caching in a typical production deployment.
- Node.js and a package manager — required if you run the Next.js storefront or the TypeScript SDK tooling alongside the API.
- Background worker process — jobs such as emails, imports and order processing should run in a separate process from the web server.
- Object storage — product images and other uploads belong in S3-compatible storage rather than on the app server's disk.
- Reverse proxy and TLS — Nginx or a similar proxy in front of the app, with HTTPS certificates.
- Domain and DNS — one hostname for the API, and another for the storefront if you keep them separate.
Steps to self-host
- Provision the environment. Choose a VPS, a container platform, or a PaaS that supports Rails. Install Ruby, PostgreSQL, Redis and Node.js, or use Docker images that bundle them.
- Get the code. Clone the Spree repository or generate a Rails app that includes the Spree gems, then run
bundle install. - Configure secrets and environment variables. Set the database URL, Redis URL, secret key base, mailer credentials and storage keys. Keep these out of version control.
- Create and migrate the database. Run the Spree install and migration tasks, then seed any initial data such as an admin user.
- Build the storefront. If you want the headless setup, deploy the Next.js storefront separately and point it at your API URL using the TypeScript SDK.
- Run the processes. Start the web server, the background worker, and the storefront as separate services under a process manager or container orchestrator.
- Put the proxy and TLS in place. Terminate HTTPS at the proxy, forward traffic to the app, and serve static assets efficiently.
- Set up operational basics. Automated database backups, log aggregation, error tracking, and a staging environment that mirrors production.
- Test the full path. Create a product, place a test order, confirm emails and webhooks fire, and verify the storefront renders data from the API.
- Plan upgrades. Because you control the codebase, budget time for dependency updates and Rails/Spree version upgrades rather than expecting automatic patching.
Who this suits, and the trade-offs
Self-hosting fits teams with Rails experience, agencies building multi-tenant or B2B commerce, and businesses that want to avoid platform fees or need deep customisation. It is a poor fit if you have no one to maintain servers, because you own uptime, security patches, scaling and backups.
| Approach | Control | Operational burden | Best for |
|---|---|---|---|
| Self-hosted Spree | High | High | Rails teams, custom B2B or marketplace builds |
| Managed Spree hosting | Medium | Low | Teams wanting Spree without server work |
| Hosted SaaS commerce | Low | Very low | Small shops with standard needs |
A practical next step: stand up a staging instance with Docker Compose using Postgres and Redis, run through a test order end to end, and only then decide whether to move production onto the same stack or hand hosting to a managed provider. If you want to compare the broader ecosystem before committing, look at Spree Commerce for the core project and Ruby on Rails for the framework requirements your host must satisfy.
How can I migrate an existing online store to Spree Commerce?
Migrating an existing store to Spree Commerce means moving your catalog, customers, orders and content into a headless, open-source platform, then rebuilding the storefront against its API. Spree is a strong fit if you want to own the stack and avoid platform fees, but it is a build, not a one-click import.
What actually has to move
- Products and variants — titles, options (size, color), SKUs, images, categories and price lists.
- Customers and addresses — accounts, saved addresses, and any tax or group assignments.
- Orders and history — usually imported read-only so support and accounting keep working.
- Content — CMS pages, redirects, SEO metadata, and URL slugs you don't want to lose.
- Payments, tax and shipping — reconnecting providers rather than copying settings.
A practical migration path
- Inventory the old store. Export products, customers, orders and URLs to CSV. Note custom fields your current platform invented.
- Map data to Spree's model. Decide how options, variants and price lists correspond to your existing structure. Price lists matter if you sell B2B or in multiple currencies — see the Spree Commerce price list documentation.
- Stand up Spree and import in stages. Load products first, verify on a staging storefront, then customers, then historical orders.
- Build or adapt the storefront. Spree exposes a REST API and a TypeScript SDK; many teams pair it with a Next.js front end, as the project's own materials describe.
- Handle redirects and SEO. Map every old URL to its new one before launch.
- Test checkout end to end. Payments, tax, shipping rates and emails are where migrations break.
- Cut over during low traffic, keep the old store readable for a short period, and monitor error logs.
Choosing between migration styles
| Approach | Best for | Trade-off |
|---|---|---|
| Full replatform onto Spree | Teams wanting API-first control and no platform fees | Most engineering effort; you own hosting and upgrades |
| Spree for catalog/orders, keep existing front end | Sites with heavy custom design | Integration work; two systems to maintain |
| Phased move (new products first) | Busy stores that can't pause | Temporary dual running and data sync |
Who this suits
Spree tends to appeal to B2B sellers, marketplaces and cross-border operations that need multi-tenant or multi-currency logic and have developers on hand. If you have no engineering capacity and want a hosted admin with built-in themes, a hosted platform will get you live faster; the trade-off is less control and possible platform fees. If you already run a JavaScript team comfortable with Next.js, the headless route is realistic.
Next step: export your current product and order CSVs, then try a staging import of 50–100 products into Spree before committing to the full migration. That small test will reveal how much custom mapping your catalog really needs.
What costs and platform fees are involved in using Spree Commerce?
Spree Commerce describes itself as open source with no platform fees, so the main costs are not licence charges but the work and infrastructure needed to run it. The software itself is free to download and use, and there is no revenue share or per-transaction platform fee mentioned on the site.
The real spend typically falls into these areas:
- Hosting and infrastructure — servers, databases, object storage, CDN bandwidth and backups.
- Development and maintenance — building the storefront and integrations, plus ongoing upgrades, security patches and bug fixes.
- Third-party services — payment processing fees, tax calculation, shipping, search, email and analytics.
- Optional support — paid help if you want an agency or commercial support rather than relying on the community.
Because Spree is headless, with a REST API, TypeScript SDK and Next.js storefront, you are assembling a stack rather than buying a finished hosted product. That usually means lower or zero platform fees, but more engineering effort than a fully managed SaaS platform. A useful decision criterion: if you have developers and want to avoid per-order fees, the trade-off can favour Spree; if you need a store live quickly with minimal technical staff, a hosted platform may cost less overall despite its fees.
A concrete scenario: a B2B wholesaler with an in-house developer might run Spree on their own cloud account, pay only for hosting and payment processing, and build customer-specific price lists using the documented price-list feature. A small retailer with no technical team would likely spend more on development and maintenance than they would save in platform fees.
Next step: list your expected monthly order volume, hosting budget and available developer time, then compare that total against a hosted platform's subscription and transaction fees. For official details, see Spree Commerce.
Which companies use Spree Commerce and what have they built with it?
Spree Commerce is used by companies that want to own their commerce stack rather than rent a closed platform. The site names GoDaddy as a notable user, describing a multi-tenant ecommerce solution built for small businesses, and presents a broader group of brands under "Brands that have built on Spree Commerce." That framing is the useful signal: Spree tends to attract organizations building a commerce product or a tailored storefront, not only a single shop.
What companies build with it
- Multi-tenant platforms: GoDaddy's use is the clearest example on the page — one system serving many small-business merchants.
- B2B commerce: The platform positions itself for wholesale-style buying, accounts and negotiated pricing; the page points to price lists as a documented feature.
- Marketplaces: Multi-vendor setups where the operator manages sellers, catalogs and orders.
- Cross-border and enterprise storefronts: Teams that need regional catalogs, currencies or compliance variations without forking a hosted platform.
Why teams choose it
Spree is open source and headless, with a REST API, a TypeScript SDK and a Next.js storefront. That combination appeals to engineering-led teams who want to control the front end, integrate internal systems, and avoid platform fees. The trade-off is real: you take on hosting, upgrades, security and integration work that a hosted service would handle. If your team has no backend capacity, a hosted platform is usually the more sensible starting point.
A practical way to decide
Look at the named brands and ask whether your situation resembles theirs. If you are building a multi-tenant product, a B2B portal or a marketplace with custom logic, Spree's model fits. If you need a simple branded store live in a week, it likely does not.
Next step: scan the brand list on Spree Commerce and compare it with your own use case, then check the price list documentation if B2B pricing rules are central to your plans.
User reviews (0)