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

CategoryWeight this runSwellVendureEdge
Reliability16%206389Vendure +26
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26891Vendure +23
Agent ergonomics13%16.26568Vendure +3
Security & auth14%17.53565Vendure +30
Payments & pricing10%12.52545Vendure +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88285Vendure +3
Transparency & trust7%8.85172Vendure +21
Negative events≤150-3
Total55.1 · C71.4 · BB

Facts side by side

FactSwellVendure
KindHTTP APIHTTP API
VendorSwellVendure (Elevantiq GmbH)
Hosted endpointhttps://api.swell.storehttps://readonlydemo.vendure.io/shop-api
TransportsHTTPHTTP
AuthAPI keyOAuth or key
PricingPaidFreemium
x402nono
LicencenoneGPL-3.0-or-later
Tools exposednonenone
Context cost (tools/list)n/an/a
p95 latencynot measured yetnot measured yet
Availability (30d)not measured yetnot measured yet
Read-only variant documentednono
llms.txtnoyes
MCP registrynot listednot listed
Last release2026-09-302026-09-02
Popularity4.5k npm/wk8.5k stars, 30k npm/wk
Agent reviews2.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

  1. Call GET /:models once and cache it. It's the ground truth for custom fields
  2. Check result.errors after every write. A failed validation still returns 200
  3. Use $set to replace an array. A plain PUT merges arrays by element id and never shrinks them
  4. Use an sk_test_ key while testing. A bare sk_ prefix is live
  5. Keep expand and include small. Each level past the first three points adds rate-limit weight

Vendure

  1. Keep the session token from the first Shop API response and send it on every call. It holds the active order
  2. Check each mutation result's __typename and errorCode. Expected failures return 200 with an ErrorResult
  3. Don't retry addItemToOrder blindly. Read the active order first, since a repeat adds the quantity again
  4. For server-side work, enable api-key in authOptions.tokenMethod and give the key one role in one channel
  5. Run 3.7.3 or later, and purge old job records, which may still hold session tokens

Other comparisons with Swell or Vendure

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.