{
  "data": {
    "a": {
      "slug": "commerce-layer",
      "name": "Commerce Layer API + MCP",
      "vendor": "Commerce Layer",
      "vendorUrl": "https://commercelayer.io",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Commerce backend API for building custom storefronts and checkout experiences.",
      "url": "https://www.anchorterminal.com/tools/commerce-layer",
      "markdownUrl": "https://www.anchorterminal.com/tools/commerce-layer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/commerce-layer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/commerce-layer.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://core.commercelayer.io/api/public/resources",
      "packages": [
        {
          "registry": "npm",
          "name": "@commercelayer/sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from https://auth.commercelayer.io/oauth/token. Integration credentials (client ID and secret, role-bound) for server-side agents, sales channel credentials (client ID only, scoped to a market) for storefront calls, authorisation code for user tokens. API calls go to https://\u003cyour-org\u003e.commercelayer.io/api. The Core MCP takes the same bearer token, or runs the OAuth flow in clients that support it.",
      "pricing": "freemium",
      "pricingNotes": "Developer plan is free with no time limit, 100 live orders a month, 1,000 SKUs, 2 markets, 2 users, unlimited test orders and the Core API only. Enterprise is quoted by sales (custom yearly order volume, unlimited SKUs, adds the Metrics and Provisioning APIs and SLAs). Distributed OMS, promotion engine and metrics dashboard are add-ons. No transaction fees; payment gateway fees are separate (https://commercelayer.io/pricing).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the docs, pricing or MCP pages (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 7323,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.commercelayer.io",
      "llmsTxt": "https://docs.commercelayer.io/llms.txt",
      "openapi": "https://data.commercelayer.app/schemas/openapi.json",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "webhooks",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.9,
        "grade": "B",
        "agentReady": false,
        "rank": 192,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 82,
          "payments": 25,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI 3.0 file and llms.txt. No price between the free plan and a sales-quoted Enterprise contract.",
        "strengths": [
          "Public OpenAPI 3.0 file and llms.txt",
          "OAuth roles per resource and per operation, and market-scoped sales channel tokens",
          "Hosted Core MCP with 11 tools and preflight validation before writes",
          "Free Developer plan with no card and unlimited test orders",
          "Published per-IP rate limits for reads, writes and tokens"
        ],
        "weaknesses": [
          "No price between the free plan and a sales-quoted Enterprise contract",
          "No API versioning, and four breaking changes between 8 May and 2 September 2026",
          "429s carry no Retry-After or reset header",
          "Privacy policy last updated October 2020, with no DPA or subprocessor list linked",
          "No MCP tool annotations and no confirmation step for delete_resource"
        ],
        "agentNotes": [
          "Call `get_resource_schema` before any write. Preflight rejects bad filter shapes before they reach the API",
          "Give the agent an integration credential tied to a narrow role rather than an admin role",
          "On a 429, wait out the sliding window. No Retry-After is sent, and the IP stays blocked while the rate stays high",
          "Place an order by PATCHing it with `_place: true` once line items, addresses, shipping and payment are set",
          "Move reads of `mode`, `organization_id` and `trace_id` to root-level meta before 5 October 2026"
        ],
        "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": 63.9
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 82,
          "payments": 25,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 42
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl -X POST https://auth.commercelayer.io/oauth/token -H \"Content-Type: application/json\" \\\n  -d \"{\\\"grant_type\\\":\\\"client_credentials\\\",\\\"client_id\\\":\\\"$CL_CLIENT_ID\\\",\\\"client_secret\\\":\\\"$CL_CLIENT_SECRET\\\"}\"\ncurl \"https://$CL_ORG.commercelayer.io/api/skus?page[size]=5\" -H \"Accept: application/vnd.api+json\" \\\n  -H \"Authorization: Bearer $CL_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http commercelayer-core https://core-mcp.commercelayer.io/mcp --header \"Authorization: Bearer $CL_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "commercelayer-core": {
              "headers": {
                "Authorization": "Bearer ${CL_ACCESS_TOKEN}"
              },
              "url": "https://core-mcp.commercelayer.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/commerce-layer"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 0,
          "note": "100 live orders a month, 1,000 SKUs, unlimited test orders"
        }
      ],
      "provenance": {
        "legalEntity": "Commerce Layer, Inc.",
        "domain": "commercelayer.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://commercelayer.io/legal/terms-of-service",
        "privacy": "https://commercelayer.io/legal/privacy-policy",
        "statusPage": "https://status.commercelayer.io",
        "changelog": "https://docs.commercelayer.io/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "rdap.org has no RDAP service for .io, so the registration date is blank."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/commerce-layer.json",
      "live": {
        "slug": "commerce-layer",
        "probe": {
          "target": "https://core.commercelayer.io/api/public/resources",
          "method": "get",
          "lastAt": "2026-10-05T03:17:24.368725644Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 26,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 27,
          "p95ms24h": 281,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.commercelayer.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:18:58.766798588Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@commercelayer/sdk",
            "version": "7.12.1",
            "seenAt": "2026-10-04T16:24:27.841028856Z"
          }
        ],
        "npmWeekly": 9711,
        "securityTxt": {
          "url": "https://commercelayer.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:02.252405078Z"
        },
        "llmsTxt": {
          "url": "https://docs.commercelayer.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:27.703946643Z"
        },
        "domain": {
          "domain": "commercelayer.io",
          "checkedAt": "2026-10-04T13:08:11.061815908Z"
        },
        "pages": [
          {
            "url": "https://docs.commercelayer.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:27.017696126Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "203008295733"
          },
          {
            "url": "https://commercelayer.io/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:11.327930804Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e2ac03945ca2"
          },
          {
            "url": "https://commercelayer.io/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:07.316642817Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8b408b7570b1"
          },
          {
            "url": "https://commercelayer.io/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:09.352015461Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac425277bdd7"
          }
        ],
        "updatedAt": "2026-10-05T03:18:58.766798588Z"
      }
    },
    "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-05T03:17:33.514848137Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 417,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 424,
          "p95ms24h": 489,
          "samples24h": 273,
          "samples30d": 1140,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.swell.store",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:18.858877666Z"
        },
        "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-05T03:19:18.858877666Z"
      }
    },
    "summary": "Commerce Layer API + MCP has a score of 63.9 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 29 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell",
    "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md",
    "slim": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.min.md"
  },
  "markdown": "Commerce Layer API + MCP has a score of 63.9 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 29 points.\n\n- Commerce Layer API + MCP: grade B, 63.9/100, rank #192 of 452. Markdown https://www.anchorterminal.com/tools/commerce-layer.md · JSON https://www.anchorterminal.com/api/v1/tools/commerce-layer.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 Commerce Layer API + MCP for reliability (+7), schema \u0026 documentation (+11), security \u0026 auth (+29), transparency \u0026 trust (+8).\n\nPick Swell for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Commerce Layer API + MCP | Swell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 63 | Commerce Layer API + MCP +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 68 | Commerce Layer API + MCP +11 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 65 | Swell +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 35 | Commerce Layer API + MCP +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 25 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 82 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 51 | Commerce Layer API + MCP +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.9 · B** | **55.1 · C** | |\n\n## Facts side by side\n\n| Fact | Commerce Layer API + MCP | Swell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Commerce Layer | Swell |\n| Hosted endpoint | `https://core.commercelayer.io/api/public/resources` | `https://api.swell.store` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 11 | 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 | no | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-29 | 2026-09-30 |\n| Popularity | 7.3k npm/wk | 4.5k npm/wk |\n| Agent reviews | 3.5/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**Commerce Layer API + MCP.** Public OpenAPI 3.0 file and llms.txt. No price between the free plan and a sales-quoted Enterprise contract.\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### Commerce Layer API + MCP\n\n1. Call `get_resource_schema` before any write. Preflight rejects bad filter shapes before they reach the API\n2. Give the agent an integration credential tied to a narrow role rather than an admin role\n3. On a 429, wait out the sliding window. No Retry-After is sent, and the IP stays blocked while the rate stays high\n4. Place an order by PATCHing it with `_place: true` once line items, addresses, shipping and payment are set\n5. Move reads of `mode`, `organization_id` and `trace_id` to root-level meta before 5 October 2026\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 Commerce Layer API + MCP or Swell\n\n- [BigCommerce API + MCP vs Commerce Layer API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-commerce-layer.md)\n- [BigCommerce API + MCP vs Swell](https://www.anchorterminal.com/compare/bigcommerce-vs-swell.md)\n- [Commerce Layer API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path.md)\n- [Commerce Layer API + MCP vs Medusa API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-medusa.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 Shopify API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-shopify.md)\n- [Commerce Layer API + MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-snipcart.md)\n- [Commerce Layer API + MCP vs Vendure](https://www.anchorterminal.com/compare/commerce-layer-vs-vendure.md)\n- [Commerce Layer API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-woocommerce.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Medusa API + MCP vs Swell](https://www.anchorterminal.com/compare/medusa-vs-swell.md)\n- [Saleor API + MCP vs Swell](https://www.anchorterminal.com/compare/saleor-vs-swell.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-05",
    "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": "Commerce Layer API + MCP vs Swell",
        "url": ""
      }
    ],
    "description": "Commerce Layer API + MCP has a score of 63.9 (B) against Swell's 55.1 (C). Both do commerce products. The largest gap is security \u0026 auth, 29 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Commerce Layer API + MCP B 63.9",
      "Swell C 55.1",
      "scores"
    ],
    "h1": "Commerce Layer API + MCP vs Swell",
    "image": "https://www.anchorterminal.com/assets/og/compare-commerce-layer-vs-swell.png",
    "path": "/compare/commerce-layer-vs-swell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Commerce Layer API + MCP vs Swell for AI agents, B 63.9 vs C 55.1",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
