docs/developer/storefront/nextjs/quickstart.mdx
The Spree Storefront is a production-ready, headless e-commerce storefront built with Next.js 16, React 19, and the Spree Commerce API v3.
The fastest way to get a full project — Spree backend, this Next.js storefront, and the spree CLI, wired together — is create-spree-app:
npx create-spree-app my-store
The storefront is included by default (pass --no-storefront to skip it). It's scaffolded into apps/storefront/ with its .env.local already pointing at the backend, so it boots against real data with no manual key wiring.
To run the storefront on its own — against an existing Spree backend, or to work on the storefront repo directly — clone it and install:
git clone https://github.com/spree/storefront.git
cd storefront
npm install
Then follow Configuration to point it at your Spree API. If you plan to customize and track upstream changes, fork first.
Copy the environment file:
cp .env.local.example .env.local
Update .env.local with your Spree API credentials:
SPREE_API_URL=http://localhost:3000
SPREE_PUBLISHABLE_KEY=your_publishable_api_key_here
See Deployment for all optional environment variables (Sentry, GTM, etc.).
npm run dev
Open http://localhost:3001 in your browser.
<Note> Testing Apple Pay / Google Pay locally needs a public HTTPS URL. See [Wallet Payments in Development](/developer/storefront/nextjs/wallet-payments). </Note>npm run build
npm start
See the Deployment guide for Vercel, Docker, and other hosting options.