Start in 5 minutes
The fastest path is to scaffold a storefront, add its public API origin and restaurant identifiers, and run it locally..env.local to add the public API origin, merchant slug, and location ID. A storefront never receives a Crave API key.
Configure the Storefront SDK
Connect the generated app to published merchant, location, menu, and cart resources without a browser credential.
Running? Read this next
Crave Cloud Overview
Understand how Crave.js fits into the broader franchise platform.
Deploy Safely
Register exact browser origins and keep private credentials out of storefront bundles.
Use AI with Crave
Connect the CraveUp MCP server and use a prebuilt storefront prompt before handing work to an AI agent.
CLI Quickstart
Learn the CLI flags, templates, and generated project structure.
Storefront SDK
Connect your UI to menus, carts, checkout, and analytics with typed helpers.
REST API Essentials
Call Crave endpoints from any platform using standard HTTP requests.
Where this fits
Developer Package and Crave Cloud
Learn what is available to developers and what stays managed by Crave Cloud.
Build a Custom Storefront
Combine the CLI, Storefront SDK, REST APIs, and UI components for a branded ordering experience.
Prebuilt Storefront Prompt
Give Cursor, Claude, ChatGPT, Codex, or another agent the right Crave context before it edits your app.
Quickstarts & Tutorials
Explore our end-to-end tutorials and getting started guides for different application stacks.Next.js
Build a storefront with Next.js 16.3 App Router and the Crave SDK.
React
Get started with React + Vite and the Crave SDK.
Vanilla JavaScript
Build a storefront with plain JavaScript and the REST API.
React Native
Create a mobile ordering app with Expo and the Crave SDK.
UI Components
Crave’s prebuilt UI components give you a fully-functional ordering experience in minutes — menus, carts, checkout, and fulfillment out of the box.Component Overview
Browse all available components and learn how they work together.
Storefront SDK
The TypeScript SDK that powers the components and data fetching.
SDK & API Reference
Dig into our SDK reference documentation and REST API endpoints. Everything you need to integrate Crave into any application.SDK Reference
API overview, authentication, endpoints, and response formats.
Core Concepts
Merchants, locations, menus, carts, and the ordering lifecycle.
Explore by feature
Crave supports the full ordering lifecycle. Pick a feature to dive deep.Menu & Products
Display categories, products, and modifiers. Support multiple menus with scheduled availability.
Cart & Ordering
Manage the cart lifecycle — add items, apply modifiers, handle discounts, and submit orders.
Payments
Accept payments with Stripe Connect. Handle payment intents, test cards, and error recovery.
Fulfillment
Configure takeout, delivery, table-side ordering, and room service for your locations.
Analytics
Track funnel events across the ordering flow and measure conversion rates.
Outbound Webhooks (Planned)
Review the current availability boundary before designing an event-driven integration.
Explore by framework
Next.js
Server-side rendering with the App Router. Fetch menus on the server, manage carts on the client.
React
Client-side React with Vite. Build a custom SPA storefront with the SDK.
Vanilla JavaScript
No framework required. Call the REST API directly from plain JavaScript.
React Native / Expo
Build native mobile ordering apps with Expo and the Crave SDK.
Beyond the basics
Theming
Customize colors, fonts, and component styles to match your restaurant’s brand.
Testing
Use test mode, mock data, and example test suites to validate your integration.
Deployment
Deploy to Vercel, Netlify, Docker, or custom hosting with production best practices.
Error Handling
Handle every error the API can return with status codes, retry strategies, and user messages.
Community
Slack
Connect with the Crave community on Slack.
Support
Reach out to our team directly for help with your integration.