{
  "data": {
    "a": {
      "slug": "saleor",
      "name": "Saleor API + MCP",
      "vendor": "Saleor",
      "vendorUrl": "https://saleor.io",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Open-source headless commerce with a single GraphQL API for products, channels, checkouts, orders and customers, self-hosted or on Saleor Cloud.",
      "url": "https://www.anchorterminal.com/tools/saleor",
      "markdownUrl": "https://www.anchorterminal.com/tools/saleor.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/saleor.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/saleor.json",
      "repo": "https://github.com/saleor/saleor",
      "license": "BSD-3-Clause",
      "transports": [
        "http",
        "streamable-http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@saleor/app-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Public channel queries such as products need no token. Staff users get a JWT from tokenCreate, and apps get an app token limited to the permissions they request, such as MANAGE_PRODUCTS and MANAGE_ORDERS. The MCP server takes the Saleor API URL and a token in the X-Saleor-API-URL and X-Saleor-Auth-Token headers.",
      "pricing": "freemium",
      "pricingNotes": "Self-hosting the BSD core is free. Saleor Cloud sandboxes are free for non-commercial use. Select $1,599 a month up to $200,000 GMV a month with 0.8% above it, Volume $3,999 a month up to $1,000,000 with 0.4% above it, Enterprise negotiated down to 0.2%. Optional onboarding add-ons at $6,000 and $12,000 one-time, credited back over the first year (https://saleor.io/pricing).",
      "priceSummary": "$1599 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402. Payments go through payment apps such as Stripe or Adyen.",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": 23397,
        "npmWeekly": 7310,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.saleor.io",
      "llmsTxt": "https://docs.saleor.io/llms.txt",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "hosted",
        "mcp",
        "llms-txt",
        "python",
        "webhooks",
        "read-only-mode",
        "freemium"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.7,
        "grade": "B",
        "agentReady": false,
        "rank": 121,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 45,
          "reliability": 50,
          "schema": 89,
          "security": 71,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "Two high-severity advisories in the last 12 months touched customer data, an IDOR in the GraphQL API published 23 January 2026 (GHSA-r6fj-f4r9-36gr) and account pre-hijacking through an unverified anonymous order merge published 27 July 2026 (GHSA-6whj-8p3f-2xqp). Both were fixed and disclosed in public, so the deduction is small (https://github.com/saleor/saleor/security/advisories)."
        ],
        "verdict": "One GraphQL schema with 78 typed error-code enums and 464 marked deprecations. The MCP server can't create checkouts or orders.",
        "strengths": [
          "One GraphQL schema with 78 typed error-code enums and 464 marked deprecations",
          "BSD-3-Clause core, self-host or run on Saleor Cloud",
          "Official MCP server with 8 tools, all read-only, 7 with readOnlyHint and idempotentHint",
          "Thirteen patch releases between 5 August and 30 September 2026",
          "Security advisories published through GitHub, and SOC 2 Type 2 and PCI DSS claimed for Cloud"
        ],
        "weaknesses": [
          "The MCP server can't create checkouts or orders",
          "The hosted MCP at mcp.saleor.app only connects to saleor.cloud stores on 3.21 or later",
          "Cloud starts at $1,599 a month, and free sandboxes are non-commercial only",
          "No published request-rate limits, 429 guidance or SLA",
          "Self-hosted servers send usage telemetry by default"
        ],
        "agentNotes": [
          "Pass the channel slug on product and checkout queries. Prices and availability are per channel",
          "Send X-Saleor-API-URL and X-Saleor-Auth-Token on every MCP request, with a token holding MANAGE_PRODUCTS and MANAGE_ORDERS",
          "Read the `errors` array in every mutation payload. A 200 response can still carry a CheckoutErrorCode",
          "Keep queries under the 50,000 complexity cap and 100 items a page, and send at most 4 mutations per request",
          "The 3.24 changelog removes the old dummy payment plugins, so test checkouts should use a payment app"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.7
          }
        ],
        "editorialScores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 45,
          "reliability": 50,
          "schema": 89,
          "security": 71,
          "transparency": 83
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl -X POST \"https://\u003cyour-env\u003e.saleor.cloud/graphql/\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"{ products(first: 5, channel: \\\"default-channel\\\") { edges { node { id name } } } }\"}'",
        "claudeCode": "claude mcp add --transport http saleor https://mcp.saleor.app/mcp --header \"X-Saleor-API-URL: https://\u003cyour-env\u003e.saleor.cloud/graphql/\" --header \"X-Saleor-Auth-Token: $SALEOR_TOKEN\"",
        "config": {
          "mcpServers": {
            "saleor": {
              "headers": {
                "X-Saleor-API-URL": "https://\u003cyour-env\u003e.saleor.cloud/graphql/",
                "X-Saleor-Auth-Token": "${SALEOR_TOKEN}"
              },
              "type": "streamable-http",
              "url": "https://mcp.saleor.app/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/saleor"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Cloud Select",
          "unit": "month",
          "usd": 1599,
          "note": "up to $200,000 GMV a month"
        },
        {
          "item": "Select GMV overage",
          "unit": "pct",
          "usd": 0.8,
          "note": "on orders above the GMV cap"
        },
        {
          "item": "Cloud Volume",
          "unit": "month",
          "usd": 3999,
          "note": "up to $1,000,000 GMV a month"
        },
        {
          "item": "Volume GMV overage",
          "unit": "pct",
          "usd": 0.4,
          "note": "on orders above the GMV cap"
        },
        {
          "item": "Self-hosted",
          "unit": "month",
          "usd": 0,
          "note": "BSD core, you pay for your own servers"
        }
      ],
      "provenance": {
        "legalEntity": "Saleor Commerce sp. z o.o.",
        "domain": "saleor.io",
        "domainRegistered": "2018-12-28",
        "domainNote": "Saleor's code dates from 2013; saleor.io was registered in 2018.",
        "endpointOnVendorDomain": false,
        "terms": "https://saleor.io/legal/terms",
        "privacy": "https://saleor.io/legal/privacy",
        "statusPage": "https://status.saleor.io",
        "changelog": "https://github.com/saleor/saleor/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Cloud APIs run on saleor.cloud and the hosted MCP on saleor.app, not on saleor.io"
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/saleor.json",
      "live": {
        "slug": "saleor",
        "vendorStatus": {
          "page": "https://status.saleor.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:27.278056018Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "saleor/saleor",
            "version": "3.23.38",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:38:53.038673353Z"
          },
          {
            "registry": "npm",
            "name": "@saleor/app-sdk",
            "version": "1.15.0",
            "seenAt": "2026-10-04T16:38:52.175145651Z"
          }
        ],
        "githubStars": 23408,
        "npmWeekly": 7874,
        "securityTxt": {
          "url": "https://saleor.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:37.767287728Z"
        },
        "llmsTxt": {
          "url": "https://docs.saleor.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:12.351658497Z"
        },
        "domain": {
          "domain": "saleor.io",
          "checkedAt": "2026-10-04T13:09:19.936175554Z"
        },
        "pages": [
          {
            "url": "https://saleor.io/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:30.75542623Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d71c0304e251"
          },
          {
            "url": "https://saleor.io/legal/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:26.513536882Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6db975edf88a"
          },
          {
            "url": "https://saleor.io/legal/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:28.810007591Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6bd50f5b31d6"
          }
        ],
        "updatedAt": "2026-10-04T23:49:27.278056018Z"
      }
    },
    "b": {
      "slug": "swell",
      "name": "Swell",
      "vendor": "Swell",
      "vendorUrl": "https://www.swell.is",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Hosted headless commerce platform with a REST Backend API (products, carts, orders, subscriptions, coupons, promotions, custom models) and a Frontend API for storefronts.",
      "url": "https://www.anchorterminal.com/tools/swell",
      "markdownUrl": "https://www.anchorterminal.com/tools/swell.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/swell.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/swell.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.swell.store",
      "packages": [
        {
          "registry": "npm",
          "name": "swell-node"
        },
        {
          "registry": "npm",
          "name": "swell-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Backend API uses HTTP Basic auth with the store ID as username and a secret key as password. sk_test_ keys hit the test environment, sk_live_ keys hit live data. The Frontend API (swell-js) uses a public key. Official libraries use a custom wire protocol on port 8443.",
      "pricing": "paid",
      "pricingNotes": "Billed yearly, Starter $29 a month (2 admins, $50K yearly sales), Basic $79 ($250K), Standard $299 ($1M), Unlimited $2,250 ($5M), Custom above $10M. Above the sales ceiling Swell takes 2, 1.5, 1 or 0.4 per cent. Monthly API requests 100K, 500K and 2M on the first three plans, then $5 per extra 100K; function calls and storage are metered the same way. Monthly billing costs more (the page shows 25 per cent off for yearly). Free trial on every plan (https://www.swell.is/pricing).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the docs, pricing or AI page (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 4510,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.swell.is",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "typescript",
        "webhooks",
        "closed-source"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.1,
        "grade": "C",
        "agentReady": false,
        "rank": 317,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "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.",
        "strengths": [
          "Live /:models schema with field types and descriptions for every store",
          "Carts, coupons, promotions, subscriptions and orders in one REST API",
          "Official Claude Code skills with about 320 KB of agent reference and their own evals",
          "Public plan prices with per-unit overage for API requests and storage",
          "Events audit log in the developer console since 30 September 2026"
        ],
        "weaknesses": [
          "One full-access secret key per environment, with no scoped or read-only key",
          "Invalid writes return HTTP 200 with an errors object",
          "Rate-limit numbers aren't published",
          "No llms.txt, OpenAPI, security.txt or disclosure policy",
          "No DPA, subprocessor list or deprecation policy found"
        ],
        "agentNotes": [
          "Call GET /:models once and cache it. It's the ground truth for custom fields",
          "Check `result.errors` after every write. A failed validation still returns 200",
          "Use `$set` to 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 `expand` and `include` small. Each level past the first three points adds rate-limit weight"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.1
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 31
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl \"https://api.swell.store/products?limit=5\" -u \"$SWELL_STORE_ID:$SWELL_SECRET_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/swell"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 29,
          "note": "billed yearly, up to $50K sales a year, 100K API requests a month"
        },
        {
          "item": "Basic",
          "unit": "month",
          "usd": 79,
          "note": "billed yearly, up to $250K sales, 500K API requests"
        },
        {
          "item": "Standard",
          "unit": "month",
          "usd": 299,
          "note": "billed yearly, up to $1M sales, 2M API requests"
        },
        {
          "item": "Unlimited",
          "unit": "month",
          "usd": 2250,
          "note": "billed yearly, up to $5M sales"
        },
        {
          "item": "Fee above Starter ceiling",
          "unit": "pct",
          "usd": 2,
          "note": "on sales over $50K in a trailing 12 months"
        },
        {
          "item": "Fee above Basic ceiling",
          "unit": "pct",
          "usd": 1.5,
          "note": "on sales over $250K"
        },
        {
          "item": "Fee above Standard ceiling",
          "unit": "pct",
          "usd": 1,
          "note": "on sales over $1M"
        },
        {
          "item": "Fee above Unlimited ceiling",
          "unit": "pct",
          "usd": 0.4,
          "note": "on sales over $5M"
        },
        {
          "item": "Extra API requests",
          "unit": "1k-requests",
          "usd": 0.05,
          "note": "$5 per 100K over the plan quota"
        }
      ],
      "provenance": {
        "legalEntity": "Swell Commerce Corp.",
        "domain": "swell.is",
        "domainRegistered": "2019-09-06",
        "endpointOnVendorDomain": false,
        "terms": "https://www.swell.is/legal/terms-of-service",
        "privacy": "https://www.swell.is/legal/privacy-policy",
        "statusPage": "https://status.swell.store/",
        "changelog": "https://www.swell.is/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The API runs on api.swell.store, Swell's older domain, not swell.is.",
          "/.well-known/security.txt redirects to itself, so no file could be read."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/swell.json",
      "live": {
        "slug": "swell",
        "probe": {
          "target": "https://api.swell.store",
          "method": "get",
          "lastAt": "2026-10-04T23:48:16.717240939Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 425,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 424,
          "p95ms24h": 493,
          "samples24h": 272,
          "samples30d": 1100,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.swell.store",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:28.984222395Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "swell-js",
            "version": "5.9.1",
            "seenAt": "2026-10-04T16:41:14.900438488Z"
          },
          {
            "registry": "npm",
            "name": "swell-node",
            "version": "6.0.5",
            "seenAt": "2026-10-04T16:41:14.06948726Z"
          }
        ],
        "npmWeekly": 1318,
        "securityTxt": {
          "url": "https://swell.is/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-04T15:15:43.053806639Z"
        },
        "domain": {
          "domain": "swell.is",
          "registered": "2019-09-06",
          "source": "https://rdap.isnic.is/rdap/domain/swell.is",
          "checkedAt": "2026-10-04T13:09:13.981723691Z"
        },
        "pages": [
          {
            "url": "https://www.swell.is/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:21.610635571Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1629c2fb7a64"
          },
          {
            "url": "https://www.swell.is/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:27.807838884Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32193c4b3a20"
          },
          {
            "url": "https://www.swell.is/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:23.811781459Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbd01fa046b6"
          },
          {
            "url": "https://www.swell.is/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:25.803068539Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4090f2726940"
          }
        ],
        "updatedAt": "2026-10-04T23:49:28.984222395Z"
      }
    },
    "summary": "Saleor API + MCP has a score of 68.7 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 36 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/saleor-vs-swell",
    "json": "https://www.anchorterminal.com/compare/saleor-vs-swell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/saleor-vs-swell.md",
    "slim": "https://www.anchorterminal.com/compare/saleor-vs-swell.min.md"
  },
  "markdown": "Saleor API + MCP has a score of 68.7 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 36 points.\n\n- Saleor API + MCP: grade B, 68.7/100, rank #121 of 452. Markdown https://www.anchorterminal.com/tools/saleor.md · JSON https://www.anchorterminal.com/api/v1/tools/saleor.json\n- Swell: grade C, 55.1/100, rank #317 of 452. Markdown https://www.anchorterminal.com/tools/swell.md · JSON https://www.anchorterminal.com/api/v1/tools/swell.json\n\n## Which one, for what\n\nPick Saleor API + MCP for schema \u0026 documentation (+21), agent ergonomics (+21), security \u0026 auth (+36), payments \u0026 pricing (+20), transparency \u0026 trust (+26).\n\nPick Swell for reliability (+13).\n\n## Score by category\n\n| Category | Weight | Saleor API + MCP | Swell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 63 | Swell +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 68 | Saleor API + MCP +21 |\n| Agent ergonomics | 13% (16.2 this run) | 86 | 65 | Saleor API + MCP +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 35 | Saleor API + MCP +36 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 45 | 25 | Saleor API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 82 | Saleor API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 51 | Saleor API + MCP +26 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **68.7 · B** | **55.1 · C** | |\n\n## Facts side by side\n\n| Fact | Saleor API + MCP | Swell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Saleor | Swell |\n| Hosted endpoint | no (local only) | `https://api.swell.store` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | BSD-3-Clause | none |\n| Tools exposed | 8 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-30 | 2026-09-30 |\n| Popularity | 23k stars, 7.3k npm/wk | 4.5k npm/wk |\n| Agent reviews | 3.5/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**Saleor API + MCP.** One GraphQL schema with 78 typed error-code enums and 464 marked deprecations. The MCP server can't create checkouts or orders.\n\n**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.\n\n## Before you call either\n\n### Saleor API + MCP\n\n1. Pass the channel slug on product and checkout queries. Prices and availability are per channel\n2. Send X-Saleor-API-URL and X-Saleor-Auth-Token on every MCP request, with a token holding MANAGE_PRODUCTS and MANAGE_ORDERS\n3. Read the `errors` array in every mutation payload. A 200 response can still carry a CheckoutErrorCode\n4. Keep queries under the 50,000 complexity cap and 100 items a page, and send at most 4 mutations per request\n5. The 3.24 changelog removes the old dummy payment plugins, so test checkouts should use a payment app\n\n### Swell\n\n1. Call GET /:models once and cache it. It's the ground truth for custom fields\n2. Check `result.errors` after every write. A failed validation still returns 200\n3. Use `$set` to replace an array. A plain PUT merges arrays by element id and never shrinks them\n4. Use an sk_test_ key while testing. A bare sk_ prefix is live\n5. Keep `expand` and `include` small. Each level past the first three points adds rate-limit weight\n\n## Other comparisons with Saleor API + MCP or Swell\n\n- [BigCommerce API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-saleor.md)\n- [BigCommerce API + MCP vs Swell](https://www.anchorterminal.com/compare/bigcommerce-vs-swell.md)\n- [Commerce Layer API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-saleor.md)\n- [Commerce Layer API + MCP vs Swell](https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md)\n- [Elastic Path API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-saleor.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Medusa API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/medusa-vs-saleor.md)\n- [Medusa API + MCP vs Swell](https://www.anchorterminal.com/compare/medusa-vs-swell.md)\n- [Saleor API + MCP vs Shopify API + MCP](https://www.anchorterminal.com/compare/saleor-vs-shopify.md)\n- [Saleor API + MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/saleor-vs-snipcart.md)\n- [Saleor API + MCP vs Vendure](https://www.anchorterminal.com/compare/saleor-vs-vendure.md)\n- [Saleor API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/saleor-vs-woocommerce.md)\n- [Shopify API + MCP vs Swell](https://www.anchorterminal.com/compare/shopify-vs-swell.md)\n- [Snipcart API + MCP vs Swell](https://www.anchorterminal.com/compare/snipcart-vs-swell.md)\n- [Swell vs Vendure](https://www.anchorterminal.com/compare/swell-vs-vendure.md)\n- [Swell vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/swell-vs-woocommerce.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Saleor API + MCP vs Swell",
        "url": ""
      }
    ],
    "description": "Saleor API + MCP has a score of 68.7 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 36 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Saleor API + MCP B 68.7",
      "Swell C 55.1",
      "scores"
    ],
    "h1": "Saleor API + MCP vs Swell",
    "image": "https://www.anchorterminal.com/assets/og/compare-saleor-vs-swell.png",
    "path": "/compare/saleor-vs-swell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Saleor API + MCP vs Swell for AI agents, B 68.7 vs C 55.1",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/saleor-vs-swell"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
