https://swell.is
Swell | Next-level ecommerce for everyone
Swell is the future-proof ecommerce platform that helps you build, sell, and scale your way.
Swell | Next-level ecommerce for everyoneSwellProductSolutionsDevelopersResourcesPricingContactLog inSign upProductBuildingMerchandisingOperationsIntegrationsSolutionsDevelopersResourcesPricingTry for freeLog InBuildingMerchandisingOperationsIntegrationsHeadless storefrontsSwell's powerful APIs allow you to create multiple storefronts for any architecture and tech stack.CheckoutsUse our hosted checkout, integrate with a partner, or build a custom flow.PaymentsConnect multiple gateways simultaneously, store cards, and split payments.InternationalizationGo global with region-specific languages, pricing, and payment methods.Content managementManage all your products content through the admin dashboardProductsPowerful modeling and versatile presentation of your entire catalog.SubscriptionsSell recurring physical and virtual products alongside one-time offerings.ConversionGet the sale with coupons, BXGY promotions, and automatic discounts.WholesaleSell B2B like it’s DTC, along with volume pricing, customer groups, and invoicing.UsersMulti-store admin accounts and role-based permission controls.CustomersManage customer info, generate reports, and see buyer activity.OrdersEdit orders anytime and get the right information for smooth fulfillment.FulfillmentShip from multiple locations, track inventory, and split shipments.ReportingMonitor your store’s performance to ensure you have visibility across the business.No-code integrationsConnect with 40+ services for marketing, payments, fulfillment, automation, and more.See all integrations →Use CasesDirect-to-consumerTell your story and give customers a unique shopping experienceSubscriptionsSell personalized subscription bundles, memberships, and one-time items togetherB2B/B2CSupport retail and wholesale customers from one catalog and dashboardMarketplacesCreate a B2B or B2C marketplace with multi-vendor carts and split payoutsCustomer StoriesAll customer stories →DocumentationQuickstartBackend API referenceFrontend API referenceGuidesCore conceptsStorefrontsCommunityGitHubDiscussion forumDiscordChangelogAPI statusResourcesHelp CenterThe latest industry news, updates and info.Customer storiesLearn how our customers are making big changes.Become a partnerFor agencies creating innovative commerce experiences.Latest blog postsAll blog posts →ChangelogAPI StatusContact usCommerce without limitsSwell is the customizable, API-first ecommerce platform designed for next-generation shopping experiences.Create a storeContact usCustomersidobjectidacquisition_sourcestringemailstringaddressesarray[object]attributesobjectbalancecurrencycardsarray[object]cartsarray[object]currencystringgroupstringlocal_storelinklocalestringordersarray[object]order_valuecurrencysubscriptionsarray[object]vat_numberstring+ 18 fieldsShipmentsidobjectiditemsarray[object]order_idobjectidcarrier_namestringcarrier_statusstringdate_estimateddatedestinationobjectnotificationsarray[object]originobjectpackagesarray[object]service_namestringtracking_codestringlabelobject+ 7 fieldsProducersidobjectidbiostringnamestringproductsarray[link]countrystringCartsidobjectidabandoned_notificationsintaccountlinkcurrencystringcheckout_urlstringitemsarray[object]grand_totalcurrencyorderlinkpos_locationstringpromotionsarray[object]sales_associatelink+ 68 fieldsGift cardsidobjectidaccount_idobjectidamountcurrencyamount_spentcurrencybalancecurrencycodestringcurrencystringdebitsarray[object]+ 19 fieldsProductsidobjectidattributesobjectcategoriesarray[link]costcurrencydescriptionstringfair_tradeboolimagesarray[object]namestringoptionsarray[object]pricecurrencyproducerlinkregionstringreview_ratingintsale_pricecurrencyskustringstock_levelintvarietalstring+ 51 fieldsVariantsidobjectidnamestringparent_idobjectidactiveboolattributesobjectcurrencystringimagesarray[object]lead_timeintoption_value_idsarray[objectid]pricecurrencypurchase_optionsobjectskustringstock_levelint+ 15 fieldsRecipesidobjectidbody_textstringbrew_methodsarray[link]productlinkSubscriptionsidobjectidaccountlinkbrewing_preferencestringcouponlinkcurrencystringdiscountsarray[object]grand_totalcurrencygrind_preferencestringitemsarray[object]ordersarray[object]paymentsarray[object]plan_idobjectidrecurring_totalcurrencystatusenum+ 93 fieldsStockidobjectidlocationstringparent_idobjectidquantityintreasonenumreason_messagestringvariant_idobjectid+ 12 fieldsOrdersidobjectidaccountlinkafter_checkout_totalcurrencybillingobjectcartlinkcouponlinkcurrencystringdate_scheduleddatedeliveredbooldiscountsarray[object]giftboolgrand_totalcurrencyitemsarray[object]paidboolpaymentsarray[object]pos_locationstringrefundsarray[object]sales_associatelinkshipmentsarray[object]+ 109 fieldsCouponsidobjectidnamestringactiveboolcodesarray[object]currencystringdate_expireddatedate_validdatediscount_groupstringdiscountsarray[object]limit_usesintuse_countintusesarray[object]+ 13 fieldsUse the tech you loveOur JavaScript SDK is client-safe and can be used with any JAMstack tooling to create modern commerce applications for unique business needs.pages/products/[slug].js import swell from './utils/client.js' export default function ProductPage({ product, localPrice }) { return (
{product.name}
{localPrice} {product.description}
) } export async function getStaticProps({ params }) { const product = await swell.products.get(params.slug) const localPrice = swell.currency.format(product.price) return { props: { product, localPrice } } }View the docsroutes/products/[slug] // +page.js import swell from './utils/client.js'; export function load({ params }) { const product = await swell.products.get(params.slug) const localPrice = swell.currency.format(product.price) return { product, localPrice } } // +page.svelte
{data.product.title}
{data.localPrice} {data.product.description}
View the docspages/products/_slug.vue
{{ data.product.name }}
{{ data.localPrice }} {{ data.product.description }}
View the docsroutes/products/product.jsx import { useRouteData, createRouteData } from "solid-start"; import swell from "./utils/client.js"; export function routeData({ params }) { return createRouteData(async () => { const product = await swell.products.get(params.slug); const localPrice = swell.currency.format(product.price); return { product, localPrice }; }); } export default function ProductPage() { const { product, localPrice } = useRouteData(); return (
{product.name}
{localPrice} {product.description}
); }View the docsproduct.jsx import { graphql } from 'gatsby' export default const Product = ({ data }) => (
{data.productBySlug.name}
{data.productBySlug.price} {data.productBySlug.subtitle}
) export const query = graphql` query getProductBySlug($slug: String!) { productBySlug(slug: $slug) { id name description slug price currency } } ` View the docsproduct.jsx import { useParams } from "@remix-run/react"; import swell from "./utils/client.js"; export const loader = async ({ params }) => { const product = await swell.products.get(params.slug); const localPrice = swell.currency.format(product.price); return { product, localPrice }; } export default function Product() { const { product, localPrice } = useLoaderData(); return (
{product.name}
{localPrice} {product.description}
) }View the docsproduct.gql query getProductBySlug($slug: String!) { productBySlug(slug: $slug) { name slug price currency options { id name inputType active required variant values { id name price description } } } }View the docsContent modelingRadical data flexibilityAdd fields to standard models and create entirely new ones to store business data and content together.How to use custom fields →Short textLong textNumberSelectBooleanMediaCollectionLookupDateTagsColorIcon { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "price": 14.00, "region": "Huila, Colombia", "stock_tracking": true, "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "price": 14.00, "stock_tracking": true, "tasting_notes": "Balanced, sweet and full-bodied with finely attuned acidity. Complex aromas of orange peel, apple, brown sugar and prunes.", "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "id": "9a0127c6f18296b58060d375", "email": "[email protected]", "currency": "USD", "commission": 0.20, "first_name": "Lance", "last_name": "Carmine", "name": "Lance Carmine", "order_value": 155978.29, "type": "business", "group": "partner-tier-2", "phone": "(595) 256-7890", "shipping": { "name": "Lance Carmine", "first_name": "Lance", "last_name": "Carmine", "address1": "Adoba House", "city": "Cheydinhal", "state": "NY", "zip": 11201, "country": "US", "phone": "(595) 256-7890", "account_address_id": "5c12c5fdfcd74b34e19cf659" }, "cart_abandoned_count": 18, "date_created": "2021-07-16T14:35:59.938Z", "date_first_cart_abandoned": "2018-01-01T00:00:00.000Z", "date_first_order": "2019-01-01T00:00:00.000Z", "date_last_cart_abandoned": "2021-07-16T14:35:59.938Z", "date_last_login": "2021-07-16T14:35:59.938Z", "date_last_order": "2021-07-16T14:35:59.938Z", "date_updated": "2021-07-16T14:35:59.938Z", } Lance Carmine | Customers { "account_id": "62991607782f3b0013cf17af", "currency": "USD", "cart_id": "62bc6389912a9800199ea43a", "channel": "Web store", "status": "complete", "payment_total": 246.5, "refund_total": 0, "number": "100019", "discount_total": 43.5, "grand_total": 246.5, "promotion_ids": [ "62bc63e193cb7c0019423b6e" ], "id": "62bc642d912a9800199ea465" "items": [ { "product_id": "628ba3c7499bba0019b1a961", "quantity": 1, "price": 25, "purchase_option": { "type": "standard", "price": 25 }, "id": "62bc63892fafef0019eb2312", "orig_price": 25, "delivery": "shipment", "shipment_weight": 0, "price_total": 25, "discount_total": 3.75, "discount_each": 3.75, "tax_total": 0, "tax_each": 0, "discounts": [ { "id": "promo-62bc63e193cb7c0019423b6e-0", "amount": 3.75 } ], "product_name": "Mannimarco, King of Worms", } ] } 100019 | Orders { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "organic": true, "price": 14.00, "stock_tracking": true, "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "id": "60f199509111e70000000078", "items": [ { "id": "5ca537326a0ec32a521139dd", "item_photos": [ { "id": "375a00129627c6f180d6b580", "file": { "id": "14d1995cad15bc9b0724663b", "content_type": "image/jpeg", "date_uploaded": "2021-07-16T14:33:14.399Z", "md5": "23db69821a5b258caef9e9152f9e6ca3", "url": "https://cdn.schema.io/origin/62b1df97d9dce40019a65795/7bc0b8825c7ab95cab235cfca39c411b", "length": 2411724, "height": 2048, "width": 2048 } } ], "order_item_id": "5a9ea7ba3f95740a914267f2", "product_id": "5cad15bc9b14d1990724663b", "quantity": 2, "quantity_received": 0, "quantity_receivable": 2, "quantity_restocked": 0, "quantity_restockable": 2 } ], "order_id": "60f199509111e7000000007a", "currency": "USD", "date_created": "2021-07-16T14:36:00.399Z", "date_updated": "2021-07-16T14:36:00.399Z", "origin": { "name": "Jon Snow", "address1": "1 Main Street", "city": "Brooklyn", "state": "NY", "zip": 11201, "country": "US", "phone": "(555) 555-5555" }, "received": false, "service": "fedex_ground", "tracking_code": "T192000000XYZ" } Create a return | Orders { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "supply_chain": [ { location: "Huila, Colombia", activity: "Grown, harvested, and washed by Finca Perez" }, { location: "Cauca, Colombia", activity: "Decaffeinated by Descafecol" }, { location: "Portland, Oregon", activity: "Roasted and packaged by Origin Coffee Co." } ], "price": 14.00, "stock_tracking": true, "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "price": 14.00, "producer": "Perez", "stock_tracking": true, "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "id": "9a0127c6f18296b58060d375", "birthday": "1991-07-29T14:35:59.938Z", "email": "[email protected]", "currency": "USD", "first_name": "Lance", "last_name": "Carmine", "name": "Lance Carmine", "order_value": 155978.29, "type": "business", "group": "partner-tier-2", "phone": "(595) 256-7890", "shipping": { "name": "Lance Carmine", "first_name": "Lance", "last_name": "Carmine", "address1": "Adoba House", "city": "Cheydinhal", "state": "NY", "zip": 11201, "country": "US", "phone": "(595) 256-7890", "account_address_id": "5c12c5fdfcd74b34e19cf659" }, "cart_abandoned_count": 18, "date_created": "2021-07-16T14:35:59.938Z", "date_first_cart_abandoned": "2018-01-01T00:00:00.000Z", "date_first_order": "2019-01-01T00:00:00.000Z", "date_last_cart_abandoned": "2021-07-16T14:35:59.938Z", "date_last_login": "2021-07-16T14:35:59.938Z", "date_last_order": "2021-07-16T14:35:59.938Z", "date_updated": "2021-07-16T14:35:59.938Z", } Lance Carmine | Customers { "name": "Huila Sunrise", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "price": 14.00, "stock_tracking": true, "varietals": ["Caturra", "Typica"], "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "name": "Huila Sunrise", "accent_color": "#f09373", "delivery": "shipment", "slug": "huila-sunrise", "attributes": { "roast": "filter", }, "id": "627c6f180d375a001296b580", "currency": "USD", "price": 14.00, "stock_tracking": true, "options": [ { "id": "627c6e36e80393798c171670", "values": [ { "id": "627c6f18e80393798c171673", "name": "Half bag (6oz)", "price": null, "shipment_weight": 7.8, }, { "id": "627c6f18e80393798c171674", "name": "Full bag (12oz)", "price": 9.00, "shipment_weight": 14.1, } ], "name": "Size", "variant": true } ], } Huila Sunrise | Products { "id": "brewer-type", "name": "Brewer type", "icon": "icon_french_press", "date_created": "2021-07-16T14:35:59.968Z", "date_updated": "2021-07-16T14:35:59.968Z", "default": null, "required": false, "type": "text", "values": [ "Aeropress", "Chemex", "V60", "Espresso", "French Press", "Centrifugal" ], "visible": true } Product modelingComplex configurations, without the hassleSell configurable and personalized products, bundles, and subscriptions without limits on the number of options or variants.Unlimited options and variants. Flexible, rich product variation modeling with selectable values, boolean toggles, and open-ended text inputs in one place.Shared custom attributes. Define filterable characteristics and specifications across your entire product catalog—just like a PIM.Configurable bundles. Make any combination of products into a bundle, with each item keeping its own SKU for accurate inventory tracking and individual fulfillment if required.Independent variant control. Choose which product options to generate variant combinations for, and manage inventory, pricing, images, text, and availability for each SKU separately.Easy cross-sells. Increase average order value by promoting complementary products based on cart contents.“We now have a proper ecommerce solution that does everything we want and needed. That’s something we’ve only dreamt about for a very long time.”Vitaly FriedmanCo-founder of Smashing MagazineRead the storyOperationsIntuitive dashboardGive your admin team a UI to manage store operations, edit custom content, generate reports, and access chat support.OrdersProcess orders from any channel in one place. Edit items, discounts, payments, and shipment details before fulfilling, with a log of all events.CustomersGet a full picture of your customers, with their personal details, order history, subscriptions, saved payment methods, and key metrics.SubscriptionsCreate, edit, pause, and view generated orders for physical and digital subscriptions.ProductsEdit product content, attributes, inventory, and shipping details, along with standard and subscription pricing for all variants.DiscountsSchedule promotions and generate coupons for specific customer groups, products, categories, or cart conditions.ReportsView and export detailed reports of sales, customers, subscriptions, and taxes.Process orders from any channel in one place. Edit items, discounts, payments, and shipment details before fulfilling, with a log of all events.Get a full picture of your customers, with their personal details, order history, subscriptions, saved payment methods, and key metrics.Create, edit, pause, and view generated orders for physical and digital subscriptions.Edit product content, attributes, inventory, and shipping details, along with standard and subscription pricing for all variants.Schedule promotions and generate coupons for specific customer groups, products, categories, or cart conditions.View and export detailed reports of sales, customers, subscriptions, and taxes.What people are sayingI’ve spent far too many hours of my life hacking together APIs that were an afterthought. Reading your docs gives me the same breath of fresh air I felt when reading Stripe’s documentation for the first time many years ago :)Headless and API-first solutions is our preference because of the need for flexibility and interoperability. Swell was the most complete offer, with subscriptions and personalization included.Antoine CailletFounder of UltroYou seem to be tackling the common issues with other platforms (such as multi-language and multi-currency) in a beautiful and more importantly simple way.So sick that you can have a bunch of options, select whether or not they generate variants, etc…I can’t tell you how many hacky things I’ve done with Shopify to achieve this.Joseph ThomasSoftware Developer at Sanctuary ComputerIt’s clear you guys have put a lot of thought into the design of the API. We’ve evaluated 14 commerce platforms so far and very few offer all of the endpoints and properties necessary for truly headless commerce so we’re always excited to find a new platform that has everything covered.Rhen ZabelCo-Founder of VIOLETUsing Swell for subscriptions, it just works. We develop it, it shows up in the dashboard, it’s beautiful and all integrated. It just makes sense.Claudio Christian FofiuDirector of Technology at MonogramThe ability to create custom notifications and have them blend in seamlessly with the rest of the notifications is so nice. For example, seeing my custom shipping confirmation email in the dashboard... chef's kiss.Swell was very easy to work with. I could get all the information out of the backend very easily, and you could tell it was something that was thought about from the beginning.Yuliy SchwartzburgCo-Founder, THE RAYYUnlock the future.Create unique shopping experiences for creative business models and grow with your imagination.Start buildingContact usDocumentationExplore our powerful APIs and 30+ customizable models for building advanced ecommerce.Learn more →CommunityDig into our open source SDKs, learning resources, and join other developers on GitHub.Learn more →SwellNext-level commerce for everyone.TwitterLinkedInGitHubDiscordSubscribe to our newsletter for product updates and stories.ExploreFeaturesPricingEnterpriseIntegrationsCustomer storiesWhat is headless?CompareShopifyBigCommerceUse casesSubscriptionsB2B wholesaleMarketplacesOmnichannelDirect-to-consumerDevelopersWhy Swell?DocumentationGuidesStorefrontsResourcesHelp CenterDeveloper CenterCommunityAgenciesChangelogCustomer storiesCompanyBlogAbout usJobsPartners© 2024 Swell. Made worldwide.Privacy policyTerms of serviceEverything is swell
en
us
en-US
1730455261
https://swell.is
Edit your site?
What are you doing?