{
  "data": {
    "a": {
      "slug": "commercetools",
      "name": "commercetools",
      "vendor": "commercetools GmbH",
      "vendorUrl": "https://commercetools.com",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Headless commerce platform from commercetools GmbH in Munich, with HTTP and GraphQL APIs for catalogue, carts, checkout, orders and customers. Agents reach it through the API, four SDKs or a managed MCP server per project.",
      "url": "https://www.anchorterminal.com/tools/commercetools",
      "markdownUrl": "https://www.anchorterminal.com/tools/commercetools.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/commercetools.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/commercetools.json",
      "repo": "https://github.com/commercetools/commercetools-api-reference",
      "license": "Proprietary service under the commercetools Master Service Agreement. The API specifications are public, the SDKs are MIT (TypeScript, PHP) or Apache 2.0 (Java, .NET) and Commerce MCP is MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.{region}.commercetools.com/{projectKey}",
      "packages": [
        {
          "registry": "npm",
          "name": "@commercetools/platform-sdk"
        },
        {
          "registry": "npm",
          "name": "@commercetools/commerce-mcp"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0. A person creates an API Client in the Merchant Centre (or through the API Clients API) with chosen scopes, and the secret is shown once. The client credentials flow at https://auth.{region}.commercetools.com/oauth/token returns a Bearer token valid for 48 hours by default. Scopes are view or manage per resource and per store, and `manage_project` grants everything. Password, anonymous-session and refresh flows exist for shoppers. A managed MCP server takes a token scoped to `mcp:{projectKey}:{mcpServerKey}` (30 days at most), OAuth client credentials discovery, or a browser sign-in with an Identity account. Access is self-serve through the trial sign-up form.",
      "pricing": "paid",
      "pricingNotes": "No public prices. The pricing page describes order-based pricing and sends buyers to sales, and the product is also sold through the AWS and Google Cloud marketplaces. A 60-day trial has every core commerce API and the Merchant Centre, needs no card and does not convert automatically, so an agent can start without a contract. InStore, Frontend and the agent products are not in the trial (https://commercetools.com/free-trial, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 221261,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.commercetools.com/api/",
      "llmsTxt": "https://docs.commercetools.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/commercetools/commercetools-api-reference/main/oas/api/openapi.yaml",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "graphql",
        "llms-txt",
        "typescript",
        "java",
        "php",
        "dotnet",
        "webhooks",
        "sales-led",
        "status-page",
        "sla",
        "soc2"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 116,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 85,
          "payments": 20,
          "reliability": 73,
          "schema": 86,
          "security": 70,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI file with 822 operations, per-resource OAuth scopes and a managed MCP server whose tools an administrator selects per agent. Prices are quoted by sales only, and the HTTP API publishes no platform-wide rate limit. A 60-day trial needs no card.",
        "bestFor": "Enterprises that already run or plan a composable commerce stack and want agents working across catalogue, pricing, carts and orders under scoped credentials.",
        "strengths": [
          "Public OpenAPI 3.0 file with 822 operations, plus RAML, a GraphQL schema, llms.txt and Markdown copies of every docs page",
          "OAuth 2.0 API Clients with view and manage scopes per resource, a token revocation endpoint, and no tokens accepted in URL parameters",
          "Managed MCP server per agent with a chosen tool list, field filtering and redaction, and readOnlyHint and destructiveHint on every tool since 1 October 2026",
          "99.9 per cent monthly availability SLA with service credits, published in the docs",
          "60-day trial with every core commerce API and no card"
        ],
        "weaknesses": [
          "No public price. The pricing page describes order-based pricing and sends buyers to sales",
          "The docs state that the HTTP API has no single documented platform-wide rate limit",
          "Managed MCP Servers, AI Hub and Platform Insights are excluded from the standard SLA",
          "API-wide change tracking needs the paid Audit Log Premium add-on. Audit Log Basic records Merchant Centre changes only",
          "No security.txt and no bug bounty found, and audit reports are released under NDA"
        ],
        "agentNotes": [
          "Use the auth and API hosts for the project's region, such as auth.europe-west1.gcp.commercetools.com and api.europe-west1.gcp.commercetools.com. There are five regions",
          "Send the resource's current `version` with every update or delete. On 409 ConcurrentModification, re-read the resource and retry only if the change is still needed",
          "Retry 502 and 503 with exponential backoff from 200 ms, honour Retry-After, and check Content-Type before parsing an error body",
          "For MCP, ask for an API Client scoped to `mcp:{projectKey}:{mcpServerKey}` and a server limited to the tools the task needs, not `all`",
          "Keep page size at or under 500 and offset at or under 10,000. Product Search returns at most 100 per request"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.3
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 85,
          "payments": 20,
          "reliability": 73,
          "schema": 86,
          "security": 70,
          "transparency": 75
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm install @commercetools/platform-sdk",
        "http": "curl https://{auth_host}/oauth/token -X POST \\\n  --basic --user \"{clientId}:{clientSecret}\" \\\n  -d \"grant_type=client_credentials\u0026scope=manage_project:{projectKey}\"\ncurl https://api.{region}.commercetools.com/{projectKey}/ \\\n  -X GET \\\n  -H \"Authorization: Bearer ${BEARER_TOKEN}\"",
        "config": {
          "mcpServers": {
            "managed-mcp-servers": {
              "headers": {
                "Authorization": "Bearer \u003cyour-ctp-token\u003e"
              },
              "type": "http",
              "url": "\u003cyour-mcp-server-url\u003e"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/commercetools"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "commercetools GmbH",
        "domain": "commercetools.com",
        "domainRegistered": "2002-05-13",
        "endpointOnVendorDomain": true,
        "terms": "https://commercetools.com/msa",
        "privacy": "https://commercetools.com/privacy",
        "statusPage": "https://status.commercetools.com",
        "changelog": "https://docs.commercetools.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The imprint names commercetools GmbH, Adams-Lehmann-Str. 44, 80797 Munich, Amtsgericht München HRB 161496.",
          "The Master Service Agreement at commercetools.com/msa governs paid use once an Order Form is signed. Trial use falls under the 60 Days Trial Agreement at commercetools.com/trial-agreement, last updated 24 July 2024.",
          "The privacy notice covers the websites in section III and customers' use of the service in section IV. Data that customers store in the platform falls under the DPA at commercetools.com/dpa, last updated 1 October 2024.",
          "commercetools.com/.well-known/security.txt and docs.commercetools.com/.well-known/security.txt both return 404.",
          "API, auth and MCP hosts are subdomains of commercetools.com for each region. RDAP gives a registration date of 2002-05-13 for commercetools.com."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/commercetools.json",
      "live": {
        "slug": "commercetools",
        "probe": {
          "target": "https://api.{region}.commercetools.com/{projectKey}",
          "method": "get",
          "lastAt": "2026-10-08T19:52:48.549926987Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "invalid character \"{\" in host name",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 27,
          "samples30d": 27,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 27,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-08T17:31:33.341731081Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "invalid character \"{\" in host name"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.commercetools.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:23.515268968Z"
        },
        "pages": [
          {
            "url": "https://docs.commercetools.com/docs/release-notes",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-08T18:18:30.793646678Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://commercetools.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:37.91248595Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "58be3463d4f5"
          },
          {
            "url": "https://commercetools.com/msa",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:35.711051914Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c72525a36335"
          }
        ],
        "updatedAt": "2026-10-08T19:52:48.549926987Z"
      }
    },
    "answer": "commercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing.",
    "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,
        "grade": "C",
        "agentReady": false,
        "rank": 520,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 14,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 50
        },
        "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.",
        "bestFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 31
        },
        "provenanceScore": 68
      },
      "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": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/swell.json",
      "live": {
        "slug": "swell",
        "probe": {
          "target": "https://api.swell.store",
          "method": "get",
          "lastAt": "2026-10-08T19:53:03.480082959Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 422,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 427,
          "p95ms24h": 486,
          "samples24h": 272,
          "samples30d": 2143,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 225,
              "ok": 225
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.swell.store",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:51:04.550968759Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "swell-js",
            "version": "5.9.2",
            "seenAt": "2026-10-08T16:31:22.669153928Z"
          },
          {
            "registry": "npm",
            "name": "swell-node",
            "version": "6.0.5",
            "seenAt": "2026-10-08T16:31:21.794185914Z"
          }
        ],
        "npmWeekly": 1244,
        "securityTxt": {
          "url": "https://swell.is/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:33.316609141Z"
        },
        "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-08T18:30:50.698368954Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1629c2fb7a64"
          },
          {
            "url": "https://www.swell.is/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:57.055443417Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32193c4b3a20"
          },
          {
            "url": "https://www.swell.is/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:52.917556195Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbd01fa046b6"
          },
          {
            "url": "https://www.swell.is/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:55.09069328Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4090f2726940"
          }
        ],
        "updatedAt": "2026-10-08T19:53:03.480082959Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "commercetools GmbH",
        "b": "Swell",
        "name": "Vendor"
      },
      {
        "a": "https://api.{region}.commercetools.com/{projectKey}",
        "b": "https://api.swell.store",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the commercetools Master Service Agreement. The API specifications are public, the SDKs are MIT (TypeScript, PHP) or Apache 2.0 (Java, .NET) and Commerce MCP is MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-08-19",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "221k npm/wk",
        "b": "4.5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "commercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, commercetools or Swell?"
      },
      {
        "answer": "commercetools uses an OAuth sign-in. Swell needs an API key.",
        "question": "Do commercetools and Swell need an API key?"
      },
      {
        "answer": "Yes. commercetools has a hosted endpoint at https://api.{region}.commercetools.com/{projectKey} and Swell at https://api.swell.store.",
        "question": "Can an agent call commercetools and Swell without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 73 against 63",
          "Schema \u0026 documentation, 86 against 68",
          "Agent ergonomics, 83 against 65",
          "Security \u0026 auth, 70 against 35",
          "Transparency \u0026 trust, 81 against 50"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Enterprises that already run or plan a composable commerce stack and want agents working across catalogue, pricing, carts and orders under scoped credentials.",
        "slug": "commercetools",
        "watchFor": "No public price. The pricing page describes order-based pricing and sends buyers to sales"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 25 against 20"
        ],
        "also": null,
        "goodFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "slug": "swell",
        "watchFor": "One full-access secret key per environment, with no scoped or read-only key"
      }
    ],
    "job": {
      "capability": "commerce.products",
      "name": "Commerce products"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-commercetools.json",
        "title": "Adobe Commerce (Magento) vs commercetools",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-commercetools"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-swell.json",
        "title": "Adobe Commerce (Magento) vs Swell",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-commercetools.json",
        "title": "BigCommerce API + MCP vs commercetools",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-commercetools"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-swell.json",
        "title": "BigCommerce API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-commercetools.json",
        "title": "Commerce Layer API + MCP vs commercetools",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-commercetools"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.json",
        "title": "Commerce Layer API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-ecwid.json",
        "title": "commercetools vs Ecwid by Lightspeed",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-ecwid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-elastic-path.json",
        "title": "commercetools vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-medusa.json",
        "title": "commercetools vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-medusa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-saleor.json",
        "title": "commercetools vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-shopify.json",
        "title": "commercetools vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-shopware.json",
        "title": "commercetools vs Shopware",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-snipcart.json",
        "title": "commercetools vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-square.json",
        "title": "commercetools vs Square",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-vendure.json",
        "title": "commercetools vs Vendure",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-wix.json",
        "title": "commercetools vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-woocommerce.json",
        "title": "commercetools vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-woocommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-swell.json",
        "title": "Ecwid by Lightspeed vs Swell",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-swell.json",
        "title": "Elastic Path API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medusa-vs-swell.json",
        "title": "Medusa API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/medusa-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-swell.json",
        "title": "Saleor API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopify-vs-swell.json",
        "title": "Shopify API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/shopify-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopware-vs-swell.json",
        "title": "Shopware vs Swell",
        "url": "https://www.anchorterminal.com/compare/shopware-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/snipcart-vs-swell.json",
        "title": "Snipcart API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/snipcart-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/square-vs-swell.json",
        "title": "Square vs Swell",
        "url": "https://www.anchorterminal.com/compare/square-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-vendure.json",
        "title": "Swell vs Vendure",
        "url": "https://www.anchorterminal.com/compare/swell-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-wix.json",
        "title": "Swell vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/swell-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-woocommerce.json",
        "title": "Swell vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/swell-vs-woocommerce"
      }
    ],
    "scores": [
      {
        "by": 10,
        "commercetools": 73,
        "edge": "commercetools",
        "key": "reliability",
        "name": "Reliability",
        "swell": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "commercetools": 86,
        "edge": "commercetools",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "swell": 68,
        "weight": 13
      },
      {
        "by": 18,
        "commercetools": 83,
        "edge": "commercetools",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "swell": 65,
        "weight": 13
      },
      {
        "by": 35,
        "commercetools": 70,
        "edge": "commercetools",
        "key": "security",
        "name": "Security \u0026 auth",
        "swell": 35,
        "weight": 14
      },
      {
        "by": 5,
        "commercetools": 20,
        "edge": "swell",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "swell": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "commercetools": 85,
        "edge": "commercetools",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "swell": 82,
        "weight": 7
      },
      {
        "by": 31,
        "commercetools": 81,
        "edge": "commercetools",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "swell": 50,
        "weight": 7
      }
    ],
    "summary": "commercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing. Both do commerce products.",
    "verdicts": {
      "commercetools": "A public OpenAPI file with 822 operations, per-resource OAuth scopes and a managed MCP server whose tools an administrator selects per agent. Prices are quoted by sales only, and the HTTP API publishes no platform-wide rate limit. A 60-day trial needs no card.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/commercetools-vs-swell",
    "json": "https://www.anchorterminal.com/compare/commercetools-vs-swell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/commercetools-vs-swell.md",
    "slim": "https://www.anchorterminal.com/compare/commercetools-vs-swell.min.md"
  },
  "markdown": "commercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing. Both do commerce products.\n\n- commercetools: grade BB, 71.3/100, rank #116 of 722. Markdown https://www.anchorterminal.com/tools/commercetools.md · JSON https://www.anchorterminal.com/api/v1/tools/commercetools.json\n- Swell: grade C, 55/100, rank #520 of 722. 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\n### commercetools (BB)\n\nGood for: Enterprises that already run or plan a composable commerce stack and want agents working across catalogue, pricing, carts and orders under scoped credentials.\n\nAhead on:\n- Reliability, 73 against 63\n- Schema \u0026 documentation, 86 against 68\n- Agent ergonomics, 83 against 65\n- Security \u0026 auth, 70 against 35\n- Transparency \u0026 trust, 81 against 50\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: No public price. The pricing page describes order-based pricing and sends buyers to sales\n\n### Swell (C)\n\nGood for: Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.\n\nAhead on:\n- Payments \u0026 pricing, 25 against 20\n\nWatch for: One full-access secret key per environment, with no scoped or read-only key\n\n\n## Score by category\n\n| Category | Weight | commercetools | Swell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 73 | 63 | commercetools +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 68 | commercetools +18 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 65 | commercetools +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 35 | commercetools +35 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | Swell +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 82 | commercetools +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 50 | commercetools +31 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **71.3 · BB** | **55 · C** | |\n\n## Facts side by side\n\n| Fact | commercetools | Swell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | commercetools GmbH | Swell |\n| Hosted endpoint | `https://api.{region}.commercetools.com/{projectKey}` | `https://api.swell.store` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the commercetools Master Service Agreement. The API specifications are public, the SDKs are MIT (TypeScript, PHP) or Apache 2.0 (Java, .NET) and Commerce MCP is MIT | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-07 | 2026-09-30 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | 2026-08-19 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 221k npm/wk | 4.5k npm/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**commercetools.** A public OpenAPI file with 822 operations, per-resource OAuth scopes and a managed MCP server whose tools an administrator selects per agent. Prices are quoted by sales only, and the HTTP API publishes no platform-wide rate limit. A 60-day trial needs no card.\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### commercetools\n\n1. Use the auth and API hosts for the project's region, such as auth.europe-west1.gcp.commercetools.com and api.europe-west1.gcp.commercetools.com. There are five regions\n2. Send the resource's current `version` with every update or delete. On 409 ConcurrentModification, re-read the resource and retry only if the change is still needed\n3. Retry 502 and 503 with exponential backoff from 200 ms, honour Retry-After, and check Content-Type before parsing an error body\n4. For MCP, ask for an API Client scoped to `mcp:{projectKey}:{mcpServerKey}` and a server limited to the tools the task needs, not `all`\n5. Keep page size at or under 500 and offset at or under 10,000. Product Search returns at most 100 per request\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## Questions\n\n### Which is better for AI agents, commercetools or Swell?\n\ncommercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing.\n\n### Do commercetools and Swell need an API key?\n\ncommercetools uses an OAuth sign-in. Swell needs an API key.\n\n### Can an agent call commercetools and Swell without installing anything?\n\nYes. commercetools has a hosted endpoint at https://api.{region}.commercetools.com/{projectKey} and Swell at https://api.swell.store.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/commercetools-vs-swell.json, and with the fewest tokens: https://www.anchorterminal.com/compare/commercetools-vs-swell.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"commercetools\", \"b\": \"swell\"}`. From a terminal: `anchor compare commercetools swell`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/commercetools.json and https://www.anchorterminal.com/api/v1/tools/swell.json\n\n## Other comparisons with commercetools or Swell\n\n- [Adobe Commerce (Magento) vs commercetools](https://www.anchorterminal.com/compare/adobe-commerce-vs-commercetools.md)\n- [Adobe Commerce (Magento) vs Swell](https://www.anchorterminal.com/compare/adobe-commerce-vs-swell.md)\n- [BigCommerce API + MCP vs commercetools](https://www.anchorterminal.com/compare/bigcommerce-vs-commercetools.md)\n- [BigCommerce API + MCP vs Swell](https://www.anchorterminal.com/compare/bigcommerce-vs-swell.md)\n- [Commerce Layer API + MCP vs commercetools](https://www.anchorterminal.com/compare/commerce-layer-vs-commercetools.md)\n- [Commerce Layer API + MCP vs Swell](https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md)\n- [commercetools vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/commercetools-vs-ecwid.md)\n- [commercetools vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-elastic-path.md)\n- [commercetools vs Medusa API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-medusa.md)\n- [commercetools vs Saleor API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-saleor.md)\n- [commercetools vs Shopify API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-shopify.md)\n- [commercetools vs Shopware](https://www.anchorterminal.com/compare/commercetools-vs-shopware.md)\n- [commercetools vs Snipcart API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-snipcart.md)\n- [commercetools vs Square](https://www.anchorterminal.com/compare/commercetools-vs-square.md)\n- [commercetools vs Vendure](https://www.anchorterminal.com/compare/commercetools-vs-vendure.md)\n- [commercetools vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/commercetools-vs-wix.md)\n- [commercetools vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-woocommerce.md)\n- [Ecwid by Lightspeed vs Swell](https://www.anchorterminal.com/compare/ecwid-vs-swell.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- [Shopware vs Swell](https://www.anchorterminal.com/compare/shopware-vs-swell.md)\n- [Snipcart API + MCP vs Swell](https://www.anchorterminal.com/compare/snipcart-vs-swell.md)\n- [Square vs Swell](https://www.anchorterminal.com/compare/square-vs-swell.md)\n- [Swell vs Vendure](https://www.anchorterminal.com/compare/swell-vs-vendure.md)\n- [Swell vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/swell-vs-wix.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-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "commercetools vs Swell",
        "url": ""
      }
    ],
    "description": "commercetools scores 71.3 (BB) on agent readiness against Swell's 55 (C), and leads in 6 of 7 scored categories. Swell leads on payments \u0026 pricing. Both do commerce products. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "commercetools BB 71.3",
      "Swell C 55",
      "scores"
    ],
    "h1": "commercetools vs Swell",
    "image": "https://www.anchorterminal.com/assets/og/compare-commercetools-vs-swell.png",
    "path": "/compare/commercetools-vs-swell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "commercetools vs Swell for AI agents, BB 71.3 vs C 55",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/commercetools-vs-swell"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 630
  },
  "version": 1
}
