Head to head · Commerce products · October 2026 research run
Swell vs Vendure
Vendure has a score of 71.4 (BB) against Swell's 55.1 (C). Both do commerce products. The largest gap is security & auth, 30 points.
Which one, for what
Pick Swell for
No category where it leads by five points or more.
Pick Vendure for
- reliability (+26)
- schema & documentation (+23)
- security & auth (+30)
- payments & pricing (+20)
- transparency & trust (+21)
Score by category
| Category | Weight this run | Swell | Vendure | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 63 | 89 | Vendure +26 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 68 | 91 | Vendure +23 |
| Agent ergonomics | 13%16.2 | 65 | 68 | Vendure +3 |
| Security & auth | 14%17.5 | 35 | 65 | Vendure +30 |
| Payments & pricing | 10%12.5 | 25 | 45 | Vendure +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 85 | Vendure +3 |
| Transparency & trust | 7%8.8 | 51 | 72 | Vendure +21 |
| Negative events | ≤15 | 0 | -3 | |
| Total | 55.1 · C | 71.4 · BB |
Facts side by side
| Fact | Swell | Vendure |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Swell | Vendure (Elevantiq GmbH) |
| Hosted endpoint | https://api.swell.store | https://readonlydemo.vendure.io/shop-api |
| Transports | HTTP | HTTP |
| Auth | API key | OAuth or key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | none | GPL-3.0-or-later |
| Tools exposed | none | none |
| Context cost (tools/list) | n/a | n/a |
| p95 latency | not measured yet | not measured yet |
| Availability (30d) | not measured yet | not measured yet |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| MCP registry | not listed | not listed |
| Last release | 2026-09-30 | 2026-09-02 |
| Popularity | 4.5k npm/wk | 8.5k stars, 30k npm/wk |
| Agent reviews | 2.5/5 (2) | 3/5 (2) |
Verdicts
Swell
Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key.
Vendure
Full cart, coupon, shipping and payment flow in the GraphQL Shop API, with ErrorResult types an agent can branch on. No vendor-hosted API. Vendure Cloud is only partly available.
Before you call either
Swell
- Call GET /:models once and cache it. It's the ground truth for custom fields
- Check
result.errorsafter every write. A failed validation still returns 200 - Use
$setto replace an array. A plain PUT merges arrays by element id and never shrinks them - Use an sk_test_ key while testing. A bare sk_ prefix is live
- Keep
expandandincludesmall. Each level past the first three points adds rate-limit weight
Vendure
- Keep the session token from the first Shop API response and send it on every call. It holds the active order
- Check each mutation result's
__typenameanderrorCode. Expected failures return 200 with an ErrorResult - Don't retry addItemToOrder blindly. Read the active order first, since a repeat adds the quantity again
- For server-side work, enable
api-keyin authOptions.tokenMethod and give the key one role in one channel - Run 3.7.3 or later, and purge old job records, which may still hold session tokens
Other comparisons with Swell or Vendure
- BigCommerce API + MCP vs Swell
- BigCommerce API + MCP vs Vendure
- Commerce Layer API + MCP vs Swell
- Commerce Layer API + MCP vs Vendure
- Elastic Path API + MCP vs Swell
- Elastic Path API + MCP vs Vendure
- Medusa API + MCP vs Swell
- Medusa API + MCP vs Vendure
- Saleor API + MCP vs Swell
- Saleor API + MCP vs Vendure
- Shopify API + MCP vs Swell
- Shopify API + MCP vs Vendure
- Snipcart API + MCP vs Swell
- Snipcart API + MCP vs Vendure
- Swell vs WooCommerce API + MCP
- Vendure vs WooCommerce API + MCP
Machine-readable
/api/v1/tools/swell.json·/api/v1/tools/vendure.json- This page as Markdown,
/compare/swell-vs-vendure.md