Swell is a headless ecommerce platform designed for performance and extreme customization. It provides all the benefits of managed SaaS infrastructure, with a level of flexibility usually available only in open source or custom backends. With unlimited product variants, multiple ways to sell, and custom fields on all models, it's perfectly suited for complex sales processes and highly configurable products.
The platform provides everything you'd expect from a fully baked ecommerce backend, with powerful APIs for server-side and client-side access, a CDN for serving images, and webhooks for reacting to system events.
In this series, we'll be addressing the core concepts behind Swell—with explanations and insights for getting the most out of each one.
Although we're API-first, we're not API-only. All stores have a hosted dashboard for admins to manage products, orders, customers, content, and more. There's also a suite of developer tools for working with store data and gaining insight into the system. Through the Swell dashboard's dev tools, you can perform tasks such as:
- Run queries against any API endpoint in the console
- Edit custom models and fields with the model editor
- View a visual representation of your store's schema with the model explorer
- Set up real-time and queued webhooks
- Manage API keys for working with our Backend and Frontend APIs
Swell provides an extensive feature set out of the box but can be configured and customized to support myriad use cases—without having to rely on an external database or CMS.
Every store gets its own database with a standard set of data models for basic ecommerce functionality. For solutions that require additional data and business logic, you can create your own models and add fields to existing ones using the model editor in the dashboard, or via the Backend API.
See the data model customization guide
Swell's server-side API provides full control over every aspect of your store. Any platform feature, integration, or dashboard functionality we build uses this API, and you have the same CRUD access to edit data models and implement your own logic around them.
The Backend API has extensive querying capabilities like including and expanding nested fields on response objects, and data aggregation for custom reporting. Here's a sample of things you can do with our Backend API:
- Add fields to standard models
- Create new models to store custom data and content
- Create, update, and delete entries for any model-
- Fetch and modify store settings-
- Validate errors and aggregate data for reporting
The recommended way to interact with the API is with our node.js SDK, as this maintains a long-lived connection to the server and built-in caching for optimal performance. Alternatively, you can use the REST API directly.
See the Backend API reference
Swell tracks all changes to store data as events. You can configure webhooks to be sent when any entries are updated, including on custom models. Real-time webhooks can also be used to set fields on the order object before being submitted. Having a server (or serverless functions) receiving webhooks and using the Backend API to modify store data provides a powerful setup for implementing custom business logic.
Storefronts are the front-end interface through which customers interact with your Swell store. We offer pre-built storefront themes, each designed around a specific use case, to get your store running quickly.
All themes are headless apps using modern JS frameworks and can be customized entirely from the ground up. Our themes support custom checkout and subscription flows, and you can also provide your own front-end and host (Next.js and Vercel, for example). Swell and JAMstack storefronts are a match made in heaven.
See the Storefronts section
- Store and access cart and subscription information
- Authenticate customers allowing them to store and edit account info
- Facilitate payment methods and manage currency settings
See the Frontend API reference
Should you decide to use one of Swell's themes, you can also take advantage of our Storefront editor which is accessed through the Swell dashboard. This tool allows you to design, edit, and publish content to your storefront in real-time through a visual interface.
Through the storefront's editor, you can manage various aspects of your storefront such as:
- Visual design and global settings
- Add and rearrange pages and their contents
- Define product and category page details
- Add multi-language localization
Swell offers an ever-growing library of third-party apps and services integrations for customizing your workflow with the tools of your choice. From taxes to email marketing and payment gateways, we have everything you need to operate and manage your store with confidence.
Now that we've introduced all the aspects of the platform, we're ready to dive into some more specific concepts and the role they will play in your store. Next up is a closer look at Storefronts and the options that are available for your store's frontend.