Skip to main content
Crave gives food and beverage developers the ordering layer they usually have to stitch together themselves: menu data, modifiers, cart state, checkout, fulfillment, payments, analytics, reusable UI components, and APIs that work across web and mobile apps. Crave.js is the storefront developer surface inside Crave Cloud, a managed platform for franchise ordering, identity boundaries, loyalty integrations, payment routing, and multi-location operations.

Start in 5 minutes

The fastest path is to scaffold a storefront, add its public API origin and restaurant identifiers, and run it locally.
Open http://localhost:3000, then use the generated .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.
Already have an app? Skip the scaffold and install the exact @craveup/storefront-sdk@2.0.1 release directly.

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.