Ecommerce Engineering Tool review Intermediate

Swell in 2026: Who Benefits from a Hosted Headless Commerce Backend?

A hosted headless commerce backend hides its ceiling behind feature tables: two official pricing pages disagree by 10x, GraphQL checkout support stays alpha, and there is no self-hosting path.

Tested with

Swell backend api
REST, fixed base URL https://api.swell.store — continuously deployed SaaS with no reader-facing version number
Swell graphql api
graphql/v2 endpoint, documented as experimental alpha as of this research pass (2026-07-28)
Swell js
5.8.0
Proxima storefront
Astro 5 (per Swell's changelog, October 2025)

Before you start

  • A Swell trial or sandbox store with a Backend API secret key and store ID, for anyone testing the REST or GraphQL endpoints firsthand
  • Node.js and npm installed locally to test swell-js 5.8.0 against a sandbox store
  • Working familiarity with headless/composable commerce architecture and REST vs GraphQL API tradeoffs
  • Awareness of the CodeNx ecommerce-platform-series scoring methodology, since this review's modernity and AI-readiness scores follow that rubric
On this page

Who should shortlist Swell in 2026 (and who should not)

This review is written against Swell’s REST Backend API (fixed base URL https://api.swell.store, continuously deployed, no reader-facing version number), its graphql/v2 Frontend API in its documented alpha state, and swell-js 5.8.0, the current npm SDK at the time of this research pass. If your team is asking “can we get headless commerce APIs without running our own backend,” Swell answers yes — with three conditions attached that a feature table won’t surface.

Swell is a good fit for a team that wants REST APIs for catalogue, orders and customers, and is willing to build its storefront inside Swell’s hosting model rather than its own. You get a Backend API (opens in a new tab) and a Frontend API without provisioning a database, a queue, or a deploy pipeline for the commerce engine itself.

Swell is a poor fit on three specific points. It has no self-hosted or open-source backend at any tier, unlike Saleor, Vendure, Spree or EverShop (opens in a new tab). Its documented authentication model (opens in a new tab) is one store-wide secret key with no scoped or role-based keys, which matters if you plan to connect AI agents or third-party integrations. And multi-vendor marketplace support is a pattern you implement, not a module you enable.

The hypothesis under test through the rest of this article: Swell delivers headless commerce faster because it removes backend operations from the team’s workload. The failure boundary is where SaaS limits, ecosystem breadth and marketplace edge cases start costing back the time it saved.

flowchart TD
    A[Need REST headless commerce APIs?] -->|No| Z[Do not shortlist Swell]
    A -->|Yes| B{Must you self-host the<br/>backend on your own infrastructure?}
    B -->|Yes| Z
    B -->|No| C{Do you need scoped/role-based<br/>API keys for agents or integrations?}
    C -->|Yes, non-negotiable| Z
    C -->|No, or mitigable with a proxy| D[Shortlist Swell —<br/>run the PoC checklist]

You should now see: a one-pass decision on whether Swell’s SaaS-only, single-key model matches your infrastructure and security requirements before you read further.

What Swell actually costs: the pricing pages disagree

Swell’s own pricing pages contradict each other, and you need to know that before you put a number in front of a stakeholder. The live pricing page (opens in a new tab) lists four self-serve tiers billed yearly: Starter at $29/month, Basic at $79/month (marked “Most popular”), Standard at $299/month, and Unlimited at $2,250/month, plus a Custom quote tier for merchants above $10M in annual revenue.

Swell’s help-center pricing article (opens in a new tab) lists different figures for the same tier names, with no annual-billing qualifier shown:

TierLive pricing page (billed yearly)Help-center article
Starter$29/month$299/month
Basic$79/month$599/month
Standard$299/month$999/month
Unlimited$2,250/month$2,000/month

Treat this as an unresolved discrepancy, not a typo you can guess your way past. Screenshot the live page with a date stamp on the day you quote a figure, and confirm the actual number with sales before it goes into a proposal or a published comparison.

Plans also cap monthly API requests — from 100K on Starter up to 2M on Standard, unlimited on Unlimited — and storage from 1GB to 10GB, with overage billed at $5 per extra 100K requests and $5 per extra GB. A storefront that polls the API on every page render burns through a request cap faster than the revenue-tier framing suggests. No confirmed true month-to-month rate turned up in this research pass; the live page only shows figures labelled “billed yearly,” so ask sales directly if annual commitment is a blocker.

You should now see: a checklist of exactly what to reconfirm directly with Swell — tier price, billing term, and request/storage caps against your expected traffic — before a number goes into a proposal.

REST is production-ready, GraphQL is alpha: pick the API for checkout

Swell ships two APIs at very different maturity levels, and using the wrong one for checkout will cost you a rebuild. The Backend API (opens in a new tab) is REST, at the fixed base URL https://api.swell.store, continuously deployed with no version number for readers to pin against.

The GraphQL Frontend API, at an endpoint pattern of https://<store-id>.swell.store/graphql/v2, is explicitly documented as “an experimental alpha state” (opens in a new tab) with no committed graduation timeline. The named gaps are specific: no nested queries, no saved customer cards or addresses, no payment-element rendering or card tokenization, and no guest-checkout email updates.

The practical rule follows directly from that gap list: build checkout and account flows on REST or swell-js (opens in a new tab) 5.8.0, and reserve GraphQL for read-heavy catalogue or content queries where the missing pieces don’t matter. A product listing page is a reasonable GraphQL candidate today. A saved-card checkout step is not.

fetch-product.ts
import swell from 'swell-js';

swell.init('<YOUR_STORE_ID>', '<YOUR_PUBLIC_KEY>');

async function getProduct(slug: string) {
  // REST-backed via the Backend/Frontend API pair — safe to build
  // checkout and account flows on this call today.
  return swell.products.get(slug);
}

// The graphql/v2 alpha equivalent of a saved-card or saved-address
// lookup on this same customer does not exist yet per Swell's
// documented GraphQL gaps — do not port that specific call until
// the docs show it has graduated out of alpha.

You should now see: which flows must stay on REST today, and which are safe to prototype against the GraphQL alpha without hitting a documented gap.

No self-hosting: the architecture consequence of a fixed SaaS backend

Swell publishes no self-hosted, on-premise or open-source backend. The only reachable surface is the managed SaaS behind api.swell.store — a structural difference from Saleor, Vendure, Spree and EverShop (opens in a new tab), all of which you can run on infrastructure you control.

That constraint extends to the storefront by default. Standard Storefront apps (opens in a new tab) — Swell’s newer recommended pattern, including the open-source Astro-based Proxima (opens in a new tab) starter — run only inside Swell’s own Cloudflare Workers-hosted environment. Proxima ships on Astro 5 per an October 2025 changelog entry (opens in a new tab) that describes an upgrade from Astro 4; confirm the exact point release in the Proxima repository before you plan around it.

Only the older “headless app” pattern lets you host the frontend on infrastructure Swell doesn’t control, and Swell’s current documentation steers new builds toward the hosted Storefront-app path instead. Choose between the two before frontend work starts, because they carry different hosting flexibility and different operational ownership.

flowchart TB
    subgraph Swell["Inside Swell's infrastructure"]
        API[Backend API<br/>api.swell.store]
        SF["Storefront app<br/>(Proxima/Astro on<br/>Swell-managed Cloudflare Workers)"]
    end
    subgraph Yours["Infrastructure you control"]
        HL["Headless app pattern<br/>(older, still supported)"]
    end
    API --> SF
    API --> HL
    style Swell fill:#eef,stroke:#557
    style Yours fill:#efe,stroke:#575

This is the concrete trade-off against self-hosted alternatives: Swell removes both the backend hosting decision and, by default, the storefront hosting decision. That is less infrastructure to operate, and also less infrastructure you can move if Swell’s roadmap or pricing stops fitting your project.

You should now see: the choice between the hosted Storefront-app path and the externally hosted headless pattern, made before frontend work starts rather than discovered mid-build.

Ecosystem and marketplace breadth: integrations, search and multi-vendor

Swell’s homepage (opens in a new tab) and integrations overview (opens in a new tab) advertise “40+ integrations” for marketing, payments and fulfilment. That’s a curated connector list, not a large general-purpose app marketplace of the kind bigger platforms run — size your integration expectations accordingly.

There is no native full-text product search. Swell documents a dedicated Algolia integration for search and discovery rather than shipping first-party search, so a search-heavy catalogue is another line item to provision and pay for separately.

Swell documents native multi-vendor marketplace support — split payouts, per-vendor shipments with individual tracking — but its own “Build a marketplace” guide (opens in a new tab) frames this as a pattern the developer implements: adding a vendor_id field to order line items and wiring payout logic yourself. It is not a packaged vendor-onboarding admin module.

Budget developer time against that guide before you promise a marketplace launch date, or shortlist a marketplace-native platform such as CS-Cart Multi-Vendor or Sharetribe if vendor onboarding has to be turnkey on day one. One more caveat worth flagging: G2 and Capterra listings under the name “Swell” are contaminated by an unrelated, identically named customer-feedback product, so manually confirm any star rating before citing it as social proof.

You should now see: whether Swell’s integration and marketplace depth covers your requirements as shipped, or whether you need to budget custom build time first.

AI and agent-readiness score for Swell, with the reasoning shown

Scoring uses this series’ fixed seven-component rubric so the total is auditable against the same evidence you can check yourself, not a single adjective.

ComponentWeightScoreWhy
Complete machine-readable catalogue/order/customer APIs21.75REST Backend API covers catalogue, orders and customers; GraphQL alpha gaps don’t affect this REST surface
Safe authenticated write operations and granular permissions20.25One store-wide secret key with no scoped or role-based permissions documented
Structured schemas, SDKs or OpenAPI/GraphQL introspection1.51.0swell-js SDK and a GraphQL schema exist; GraphQL is still alpha
Webhooks, events and asynchronous workflow support1.51.25Documented backoff, failure alerting and auto-disable behaviour on delivery failure
Product/search data suitable for retrieval and enrichment10.75Catalogue data is structured and REST-readable; no native full-text search
Auditability, idempotency and approval-friendly operations10.25Not documented as a first-party feature in the reference docs checked
Official AI, MCP, agent tooling or documented reference implementation10None found in Swell’s changelog or developer docs as of this research pass (2026-07-28)
Total105.25

The single store-wide secret key (opens in a new tab) is what caps the total. Everything else — the REST catalogue, the webhook system’s (opens in a new tab) incremental backoff starting within one minute of a failure, its warning email after 50 failed attempts, and its automatic disable after seven consecutive days of failure with a 30-second per-delivery timeout — scores reasonably well on its own. An agent with that one key can write to any resource in the store, and there is no documented way to hand it narrower access.

The “official AI, MCP or agent tooling” row scores zero because no official MCP server, AI agent SDK, or documented agent-specific tooling was found in Swell’s changelog or developer docs during this pass — reported as “not found as of 2026-07-28,” not as permanent non-support. The practical mitigation for the permissions gap: put a thin permission proxy in front of api.swell.store that restricts which endpoints and fields an agent’s tool call can reach, rather than handing an LLM the raw secret key.

You should now see: a numeric score with the per-component reasoning shown, so you can re-weight it against your own priorities instead of taking a single number on faith.

Modernity score: reading a continuously deployed SaaS backend correctly

A continuously deployed SaaS backend changes what “modern” means to score. The Backend API has no reader-facing version number, which removes upgrade-risk scoring entirely — but it also removes your ability to pin a version or stage an update on your own schedule, since Swell rolls changes out on its own timeline.

The REST Backend/Frontend API pair scores well on API-first boundaries: it’s a genuine API-mediated architecture, not a monolith with an API bolted on. GraphQL’s stated alpha status and its named gaps — no nested queries, no saved cards, no tokenization — cap the API-completeness component until Swell documents graduation out of alpha.

Documentation clarity is where this review’s own research surfaced the sharpest deduction: two official pricing pages that disagree by roughly an order of magnitude on the same tier names is not a minor inconsistency, it’s a signal to re-verify anything else pricing-adjacent before citing it. Set against that, the webhook documentation (opens in a new tab) and the Backend API reference (opens in a new tab) are specific and checkable, which is why the deduction lands on the pricing pages specifically rather than the developer docs as a whole.

Read together: strong on maintained, cloud-operated runtime and REST API boundaries, weaker on documentation consistency and on the version-pinning control that a self-hosted platform would give you. “Hosted and continuously deployed” is not, on its own, a blanket quality signal — score it component by component the same way the rubric above does.

You should now see: how to cite Swell’s modernity position accurately, without treating SaaS delivery as an automatic pass on documentation or upgrade-risk criteria.

Production concern: one secret key is the whole blast radius

Here’s the operational risk a feature comparison table won’t show you. Swell’s documented Backend API authentication is one store-wide secret key per store (opens in a new tab), creatable and revocable, with no scoped or role-based key types described anywhere in the reference docs.

In a system with role-scoped API keys, a compromised integration credential is contained to whatever scope it was granted. On Swell today, a leaked secret key is equivalent to full backend access — there is no smaller blast radius to fall back to.

sequenceDiagram
    participant Int as Third-party integration or AI agent
    participant Key as Store-wide secret key
    participant API as api.swell.store
    Int->>Key: Holds the one available credential
    Note over Key: No scoped or role-based key types exist
    Key->>API: Full read/write access to every resource
    Note over API: Catalogue, orders, customers — all reachable<br/>with this single leaked key

Swell has disclosed roughly $23.6M in total funding: a $3.4M seed round (opens in a new tab) in March 2021 and a $20M Series A (opens in a new tab) in January 2022. That funding history is relevant vendor-viability context for a backend a customer cannot self-host if the service were ever to shut down.

The mitigation is concrete: rotate secret keys on a schedule, route third-party and agent integrations through a permission proxy rather than handing out the raw key, and write key exposure into your incident runbooks as a full-store event, not a single-integration one.

You should now see: a specific credential-handling practice to put in place before connecting any third-party integration or AI agent to a production Swell store.

The five-question Swell proof-of-concept checklist

Run these five questions during the proof of concept, before a number or a commitment goes to a stakeholder.

  1. Does the sales quote match swell.is/pricing (opens in a new tab) on the day you check it, given that the live page and the help-center pricing article (opens in a new tab) currently disagree?
  2. Which of your checkout and account flows touch the documented GraphQL gaps (opens in a new tab) — saved cards, addresses, tokenization, nested queries — and must stay on REST as a result?
  3. Are you building on the hosted Storefront-app path (opens in a new tab) (Cloudflare Workers, Proxima/Astro) or the externally hosted headless pattern, and does that match your infrastructure constraints?
  4. If you need multi-vendor marketplace features, have you budgeted developer time against Swell’s “Build a marketplace” guide (opens in a new tab) rather than expecting a packaged module?
  5. What credential-rotation and permission-proxy plan will you put in front of the single store-wide secret key (opens in a new tab) before any integration or AI agent gets access?

Write down all five answers before the PoC closes out. A working demo store proves Swell can render a product page — it does not prove your pricing, your checkout, your hosting choice or your key-handling plan hold up in production.

You should now see: five written answers that determine whether Swell fits your project, not just a positive impression from a vendor demo.

Limitations

This review did not run a live install or a first-hand API test against a Swell sandbox store; the REST and GraphQL behaviour described here comes from Swell’s published developer documentation, not a reproduced call. The swell-js code snippet reflects the documented SDK shape and has not been executed against a live store as part of this research pass — verify it against your own sandbox before treating it as production code.

The AI/agent-readiness and modernity scores follow this series’ fixed rubric and the evidence found during this pass; they are not independently audited totals, and re-scoring with different evidence or different weighting is expected. The pricing discrepancy between Swell’s live pricing page and its help-center article was found on 2026-07-28 and could change or resolve at any time — re-check both pages directly rather than relying on the figures reproduced here.

This article does not cover Swell’s payment-processor integrations, tax-calculation behaviour, or a side-by-side performance benchmark against Saleor, Vendure or Spree. It includes no first-hand production experience with Swell and no claim that Swell has been deployed by the author.

Frequently asked questions

What are the best alternatives to Swell for headless commerce?

Outside this review's verified scope — the series maps Swell against self-hosted options separately (Saleor, Vendure, Spree, EverShop); the right pick depends on whether the team actually wants to own the operations Swell removes.

Is Swell better than Shopify Hydrogen or Saleor for a headless build?

Outside this review's verified scope — this article evaluates Swell alone; a head-to-head against Hydrogen or Saleor needs its own sourced comparison rather than a guess appended here.

Sources

  1. Swell — official site Swell Primary source
  2. Swell — pricing Swell Primary source
  3. Swell Help Center — pricing plans Swell Primary source
  4. Swell Developer Center — home Swell Primary source
  5. Swell Developer Center — Frontend API: GraphQL (beta/alpha status) Swell Primary source
  6. Swell — changelog Swell Primary source
  7. Swell Developer Center — Proxima Storefront Swell Primary source
  8. Swell Developer Center — Storefronts overview Swell Primary source
  9. Swell Developer Center — Backend API introduction Swell Primary source
  10. Swell Developer Center — Backend API authentication Swell Primary source
  11. Swell Developer Center — Apps: Webhooks overview Swell Primary source
  12. Swell Developer Center — Guide: Build a marketplace Swell Primary source
  13. swellstores/swell-js — official JS SDK repository Swell (GitHub) Primary source
  14. Swell Help Center — integrations overview Swell Primary source
  15. Swell takes in $20M to develop more adaptable headless commerce infrastructure TechCrunch
  16. Headless commerce startup Swell raises $3.4M TechCrunch
12 min read