{
  "data": {
    "a": {
      "slug": "ecwid",
      "name": "Ecwid by Lightspeed",
      "vendor": "Ecwid, Inc. (Lightspeed Commerce)",
      "vendorUrl": "https://www.ecwid.com",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Ecwid by Lightspeed is a hosted online store that embeds in any website. Its REST API reads and writes products, categories, orders, customers and discounts for one store, with webhooks and a browser JavaScript API for the cart.",
      "url": "https://www.anchorterminal.com/tools/ecwid",
      "markdownUrl": "https://www.anchorterminal.com/tools/ecwid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ecwid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ecwid.json",
      "repo": "https://github.com/Ecwid/ecwid-java-api-client",
      "license": "Proprietary service under the Lightspeed Service Agreement. The `@lightspeed/ecom-headless` npm package is MIT and the Java API client on GitHub is Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.ecwid.com/api/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "@lightspeed/ecom-headless"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve for one store. The store admin creates a custom app automatically, with a secret token and a public token sent as `Authorization: Bearer`, and no OAuth flow. Seven of the 40 access scopes are on by default, more are added in the admin, and scopes marked sensitive need a request to API support. Public apps for many stores use OAuth 2.0 and go through app review. Tokens don't expire and are revoked by uninstalling the app.",
      "pricing": "paid",
      "pricingNotes": "Starter $5 a month, Venture $35 ($29 billed yearly), Business $65 ($49) and Unlimited $149 ($119), with no transaction fee from Ecwid. The docs say only paid plans reach the API, and the pricing page does not list API access by plan. No free plan, trial or sandbox was found. Developers can email API support for a free upgrade of a test store (https://www.ecwid.com/pricing, checked 2026-10-08).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 22,
        "npmWeekly": 307,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.ecwid.com",
      "llmsTxt": "https://docs.ecwid.com/llms.txt",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "oauth",
        "llms-txt",
        "webhooks",
        "typescript",
        "java",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 316,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 79,
          "payments": 15,
          "reliability": 80,
          "schema": 66,
          "security": 61,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has 40 access scopes, a published limit of 600 requests a minute per token with `Retry-After` on a 429, field selection through `responseFields`, and Markdown docs with an llms.txt index. Tokens never expire, there is no test mode or idempotency key, API access needs a paid plan, and carts are built only in the browser.",
        "bestFor": "An agent doing back-office work on an existing Ecwid store, such as catalogue edits, order export and discount coupons.",
        "strengths": [
          "40 access scopes split into read, update and create, plus a public token limited to enabled catalogue data and unpaid orders",
          "Published limit of 600 requests a minute per token, and a 429 carries a `Retry-After` header",
          "`responseFields` trims any response to named fields, and searches page with `offset` and `limit` up to 100",
          "Every docs page is served as Markdown, with `llms.txt` and `llms-full.txt` indexes",
          "One incident on status.ecwid.com between 10 July and 8 October 2026, a 48-minute storefront slowdown on 7 August"
        ],
        "weaknesses": [
          "Access tokens never expire and change only when the app is uninstalled and installed again",
          "No test mode. The docs advise a separate test store, and only stores on paid plans can call the API",
          "No idempotency keys on REST writes found in the reviewed documentation",
          "OpenAPI 3.0.3 definitions are published for store profile and orders only, with no complete downloadable spec found",
          "The REST API has no endpoint that builds a live cart or runs checkout. Those sit in the browser JavaScript API",
          "The service agreement disclaims any service level commitment"
        ],
        "agentNotes": [
          "Send the token as `Authorization: Bearer` to `https://app.ecwid.com/api/v3/{storeId}`. Tokens in the query string stopped working in March 2025",
          "Use the secret token server-side only. The public token reads enabled products and places orders that are not marked paid",
          "Add `responseFields`, for example `total,items(id,name,price)`, to keep responses small, and page with `offset` and `limit` (maximum 100)",
          "Stay under 600 requests a minute per token and wait the `Retry-After` seconds on a 429. Repeated calls with a bad token get the token and IP blocked for longer",
          "Work in a separate test store. There is no test mode, and `POST /orders` writes a real order with no idempotency key",
          "After changing an app's scopes, uninstall and reinstall it, then replace the stored tokens. The old ones stop working"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 79,
          "payments": 15,
          "reliability": 80,
          "schema": 66,
          "security": 61,
          "transparency": 56
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "npm install @lightspeed/ecom-headless",
        "http": "curl \"https://app.ecwid.com/api/v3/$ECWID_STORE_ID/profile?responseFields=generalInfo(storeId,storeUrl)\" \\\n  -H \"Authorization: Bearer $ECWID_SECRET_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/ecwid"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 5,
          "note": "up to 10 products. The docs say only paid plans reach the API and the pricing page does not list API access by plan"
        },
        {
          "item": "Venture",
          "unit": "month",
          "usd": 35,
          "note": "$29 a month billed yearly, up to 100 products"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 65,
          "note": "$49 a month billed yearly, up to 2,500 products"
        },
        {
          "item": "Unlimited",
          "unit": "month",
          "usd": 149,
          "note": "$119 a month billed yearly, unlimited products"
        }
      ],
      "provenance": {
        "legalEntity": "Ecwid, Inc.",
        "domain": "ecwid.com",
        "domainRegistered": "2009-01-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.lightspeedhq.com/legal/lightspeed-service-agreement/",
        "privacy": "https://www.lightspeedhq.com/legal/privacy-policy/",
        "statusPage": "https://status.ecwid.com",
        "changelog": "https://docs.ecwid.com/changelog/ecwid-api-changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-08",
        "notes": [
          "www.ecwid.com/terms-of-service redirects to the Lightspeed Service Agreement (last updated 26 February 2026), whose contracting-entity table names Ecwid, Inc., Delaware, for Lightspeed eCom (E-Series) worldwide.",
          "The service agreement says API use is governed by Lightspeed's API licence agreement at https://developers.lightspeedhq.com/terms (effective 20 May 2025), which does not name Ecwid or E-Series.",
          "www.ecwid.com/privacy-policy and /eu-privacy-policy redirect to Lightspeed's privacy policy (effective 8 July 2026), which lists Ecwid, Inc. among the entities certified under the Data Privacy Framework.",
          "www.ecwid.com/.well-known/security.txt answered 403 and www.lightspeedhq.com/.well-known/security.txt answered 404, so no security.txt was read.",
          "RDAP for ecwid.com gives a registration date of 2009-01-08.",
          "The REST API answers at app.ecwid.com. Docs are hosted on GitBook at docs.ecwid.com."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ecwid.json",
      "live": {
        "slug": "ecwid",
        "probe": {
          "target": "https://app.ecwid.com/api/v3",
          "method": "get",
          "lastAt": "2026-10-08T21:53:21.175492509Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 68,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 100,
          "p95ms24h": 154,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ecwid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:57:51.749610897Z"
        },
        "updatedAt": "2026-10-08T21:57:51.749610897Z"
      }
    },
    "answer": "Saleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability.",
    "b": {
      "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.6,
        "grade": "B",
        "agentReady": false,
        "rank": 175,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 45,
          "reliability": 50,
          "schema": 89,
          "security": 71,
          "transparency": 76
        },
        "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.",
        "bestFor": "Teams that want an open-source GraphQL backend with multi-channel pricing and an agent that reads store data safely.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.6
          }
        ],
        "editorialScores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 45,
          "reliability": 50,
          "schema": 89,
          "security": 71,
          "transparency": 83
        },
        "provenanceScore": 68
      },
      "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": 68
      },
      "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-08T21:58:13.446261876Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "saleor/saleor",
            "version": "3.23.40",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:27:59.482588719Z"
          },
          {
            "registry": "npm",
            "name": "@saleor/app-sdk",
            "version": "1.16.0",
            "seenAt": "2026-10-08T16:27:58.942693742Z"
          }
        ],
        "githubStars": 23420,
        "npmWeekly": 8054,
        "securityTxt": {
          "url": "https://saleor.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:54.513008536Z"
        },
        "llmsTxt": {
          "url": "https://docs.saleor.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:51.421728964Z"
        },
        "domain": {
          "domain": "saleor.io",
          "checkedAt": "2026-10-04T13:09:19.936175554Z"
        },
        "pages": [
          {
            "url": "https://saleor.io/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:23:57.767826297Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d71c0304e251"
          },
          {
            "url": "https://saleor.io/legal/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:23:53.553316248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6db975edf88a"
          },
          {
            "url": "https://saleor.io/legal/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:23:55.781519018Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6bd50f5b31d6"
          }
        ],
        "updatedAt": "2026-10-08T21:58:13.446261876Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Ecwid, Inc. (Lightspeed Commerce)",
        "b": "Saleor",
        "name": "Vendor"
      },
      {
        "a": "https://app.ecwid.com/api/v3",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Lightspeed Service Agreement. The `@lightspeed/ecom-headless` npm package is MIT and the Java API client on GitHub is Apache-2.0",
        "b": "BSD-3-Clause",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "8",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2026-02-26",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "22 stars, 307 npm/wk",
        "b": "23k stars, 7.3k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Saleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability.",
        "question": "Which is better for AI agents, Ecwid by Lightspeed or Saleor API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Ecwid by Lightspeed and Saleor API + MCP need an API key?"
      },
      {
        "answer": "Ecwid by Lightspeed has a hosted endpoint at https://app.ecwid.com/api/v3. No hosted endpoint is listed for Saleor API + MCP.",
        "question": "Can an agent call Ecwid by Lightspeed and Saleor API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Ecwid by Lightspeed. Saleor API + MCP is open source (BSD-3-Clause).",
        "question": "Are Ecwid by Lightspeed and Saleor API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 50"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent doing back-office work on an existing Ecwid store, such as catalogue edits, order export and discount coupons.",
        "slug": "ecwid",
        "watchFor": "Access tokens never expire and change only when the app is uninstalled and installed again"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 89 against 66",
          "Agent ergonomics, 86 against 66",
          "Security \u0026 auth, 71 against 61",
          "Payments \u0026 pricing, 45 against 15",
          "Maintenance \u0026 community, 85 against 79"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want an open-source GraphQL backend with multi-channel pricing and an agent that reads store data safely.",
        "slug": "saleor",
        "watchFor": "The MCP server can't create checkouts or orders"
      }
    ],
    "job": {
      "capability": "commerce.products",
      "name": "Commerce products"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-ecwid.json",
        "title": "Adobe Commerce (Magento) vs Ecwid by Lightspeed",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-ecwid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-saleor.json",
        "title": "Adobe Commerce (Magento) vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-ecwid.json",
        "title": "BigCommerce API + MCP vs Ecwid by Lightspeed",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-ecwid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-saleor.json",
        "title": "BigCommerce API + MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.json",
        "title": "Commerce Layer API + MCP vs Ecwid by Lightspeed",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-saleor.json",
        "title": "Commerce Layer API + MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-saleor"
      },
      {
        "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-saleor.json",
        "title": "commercetools vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-elastic-path.json",
        "title": "Ecwid by Lightspeed vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-medusa.json",
        "title": "Ecwid by Lightspeed vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-medusa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-shopify.json",
        "title": "Ecwid by Lightspeed vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-shopware.json",
        "title": "Ecwid by Lightspeed vs Shopware",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-snipcart.json",
        "title": "Ecwid by Lightspeed vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-square.json",
        "title": "Ecwid by Lightspeed vs Square",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-square"
      },
      {
        "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/ecwid-vs-vendure.json",
        "title": "Ecwid by Lightspeed vs Vendure",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-wix.json",
        "title": "Ecwid by Lightspeed vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-woocommerce.json",
        "title": "Ecwid by Lightspeed vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-woocommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-saleor.json",
        "title": "Elastic Path API + MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medusa-vs-saleor.json",
        "title": "Medusa API + MCP vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/medusa-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-shopify.json",
        "title": "Saleor API + MCP vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-shopware.json",
        "title": "Saleor API + MCP vs Shopware",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-snipcart.json",
        "title": "Saleor API + MCP vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-square.json",
        "title": "Saleor API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-square"
      },
      {
        "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/saleor-vs-vendure.json",
        "title": "Saleor API + MCP vs Vendure",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-wix.json",
        "title": "Saleor API + MCP vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-woocommerce.json",
        "title": "Saleor API + MCP vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-woocommerce"
      }
    ],
    "scores": [
      {
        "by": 30,
        "ecwid": 80,
        "edge": "ecwid",
        "key": "reliability",
        "name": "Reliability",
        "saleor": 50,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "ecwid": 66,
        "edge": "saleor",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "saleor": 89,
        "weight": 13
      },
      {
        "by": 20,
        "ecwid": 66,
        "edge": "saleor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "saleor": 86,
        "weight": 13
      },
      {
        "by": 10,
        "ecwid": 61,
        "edge": "saleor",
        "key": "security",
        "name": "Security \u0026 auth",
        "saleor": 71,
        "weight": 14
      },
      {
        "by": 30,
        "ecwid": 15,
        "edge": "saleor",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "saleor": 45,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "ecwid": 79,
        "edge": "saleor",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "saleor": 85,
        "weight": 7
      },
      {
        "by": 4,
        "ecwid": 72,
        "edge": "saleor",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "saleor": 76,
        "weight": 7
      }
    ],
    "summary": "Saleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability. Both do commerce products.",
    "verdicts": {
      "ecwid": "The REST API has 40 access scopes, a published limit of 600 requests a minute per token with `Retry-After` on a 429, field selection through `responseFields`, and Markdown docs with an llms.txt index. Tokens never expire, there is no test mode or idempotency key, API access needs a paid plan, and carts are built only in the browser.",
      "saleor": "One GraphQL schema with 78 typed error-code enums and 464 marked deprecations. The MCP server can't create checkouts or orders."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ecwid-vs-saleor",
    "json": "https://www.anchorterminal.com/compare/ecwid-vs-saleor.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ecwid-vs-saleor.md",
    "slim": "https://www.anchorterminal.com/compare/ecwid-vs-saleor.min.md"
  },
  "markdown": "Saleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability. Both do commerce products.\n\n- Ecwid by Lightspeed: grade B, 63.2/100, rank #316 of 722. Markdown https://www.anchorterminal.com/tools/ecwid.md · JSON https://www.anchorterminal.com/api/v1/tools/ecwid.json\n- Saleor API + MCP: grade B, 68.6/100, rank #175 of 722. Markdown https://www.anchorterminal.com/tools/saleor.md · JSON https://www.anchorterminal.com/api/v1/tools/saleor.json\n\n## Which one, for what\n\n### Ecwid by Lightspeed (B)\n\nGood for: An agent doing back-office work on an existing Ecwid store, such as catalogue edits, order export and discount coupons.\n\nAhead on:\n- Reliability, 80 against 50\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Access tokens never expire and change only when the app is uninstalled and installed again\n\n### Saleor API + MCP (B)\n\nGood for: Teams that want an open-source GraphQL backend with multi-channel pricing and an agent that reads store data safely.\n\nAhead on:\n- Schema \u0026 documentation, 89 against 66\n- Agent ergonomics, 86 against 66\n- Security \u0026 auth, 71 against 61\n- Payments \u0026 pricing, 45 against 15\n- Maintenance \u0026 community, 85 against 79\n\nAlso in its favour:\n- Open source\n\nWatch for: The MCP server can't create checkouts or orders\n\n\n## Score by category\n\n| Category | Weight | Ecwid by Lightspeed | Saleor API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 50 | Ecwid by Lightspeed +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 89 | Saleor API + MCP +23 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 86 | Saleor API + MCP +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 71 | Saleor API + MCP +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 45 | Saleor API + MCP +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 85 | Saleor API + MCP +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 76 | Saleor API + MCP +4 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **63.2 · B** | **68.6 · B** | |\n\n## Facts side by side\n\n| Fact | Ecwid by Lightspeed | Saleor API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Ecwid, Inc. (Lightspeed Commerce) | Saleor |\n| Hosted endpoint | `https://app.ecwid.com/api/v3` | no (local only) |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the Lightspeed Service Agreement. The `@lightspeed/ecom-headless` npm package is MIT and the Java API client on GitHub is Apache-2.0 | BSD-3-Clause |\n| Tools exposed | none | 8 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-09-30 | 2026-09-30 |\n| Terms last updated | 2026-02-26 | no date given |\n| Privacy policy last updated | no date given | no date given |\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 | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 22 stars, 307 npm/wk | 23k stars, 7.3k npm/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**Ecwid by Lightspeed.** The REST API has 40 access scopes, a published limit of 600 requests a minute per token with `Retry-After` on a 429, field selection through `responseFields`, and Markdown docs with an llms.txt index. Tokens never expire, there is no test mode or idempotency key, API access needs a paid plan, and carts are built only in the browser.\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## Before you call either\n\n### Ecwid by Lightspeed\n\n1. Send the token as `Authorization: Bearer` to `https://app.ecwid.com/api/v3/{storeId}`. Tokens in the query string stopped working in March 2025\n2. Use the secret token server-side only. The public token reads enabled products and places orders that are not marked paid\n3. Add `responseFields`, for example `total,items(id,name,price)`, to keep responses small, and page with `offset` and `limit` (maximum 100)\n4. Stay under 600 requests a minute per token and wait the `Retry-After` seconds on a 429. Repeated calls with a bad token get the token and IP blocked for longer\n5. Work in a separate test store. There is no test mode, and `POST /orders` writes a real order with no idempotency key\n6. After changing an app's scopes, uninstall and reinstall it, then replace the stored tokens. The old ones stop working\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## Questions\n\n### Which is better for AI agents, Ecwid by Lightspeed or Saleor API + MCP?\n\nSaleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability.\n\n### Do Ecwid by Lightspeed and Saleor API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Ecwid by Lightspeed and Saleor API + MCP without installing anything?\n\nEcwid by Lightspeed has a hosted endpoint at https://app.ecwid.com/api/v3. No hosted endpoint is listed for Saleor API + MCP.\n\n### Are Ecwid by Lightspeed and Saleor API + MCP open source?\n\nNo open-source release is listed for Ecwid by Lightspeed. Saleor API + MCP is open source (BSD-3-Clause).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ecwid-vs-saleor.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ecwid-vs-saleor.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ecwid\", \"b\": \"saleor\"}`. From a terminal: `anchor compare ecwid saleor`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ecwid.json and https://www.anchorterminal.com/api/v1/tools/saleor.json\n\n## Other comparisons with Ecwid by Lightspeed or Saleor API + MCP\n\n- [Adobe Commerce (Magento) vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/adobe-commerce-vs-ecwid.md)\n- [Adobe Commerce (Magento) vs Saleor API + MCP](https://www.anchorterminal.com/compare/adobe-commerce-vs-saleor.md)\n- [BigCommerce API + MCP vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/bigcommerce-vs-ecwid.md)\n- [BigCommerce API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-saleor.md)\n- [Commerce Layer API + MCP vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.md)\n- [Commerce Layer API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-saleor.md)\n- [commercetools vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/commercetools-vs-ecwid.md)\n- [commercetools vs Saleor API + MCP](https://www.anchorterminal.com/compare/commercetools-vs-saleor.md)\n- [Ecwid by Lightspeed vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-elastic-path.md)\n- [Ecwid by Lightspeed vs Medusa API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-medusa.md)\n- [Ecwid by Lightspeed vs Shopify API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-shopify.md)\n- [Ecwid by Lightspeed vs Shopware](https://www.anchorterminal.com/compare/ecwid-vs-shopware.md)\n- [Ecwid by Lightspeed vs Snipcart API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-snipcart.md)\n- [Ecwid by Lightspeed vs Square](https://www.anchorterminal.com/compare/ecwid-vs-square.md)\n- [Ecwid by Lightspeed vs Swell](https://www.anchorterminal.com/compare/ecwid-vs-swell.md)\n- [Ecwid by Lightspeed vs Vendure](https://www.anchorterminal.com/compare/ecwid-vs-vendure.md)\n- [Ecwid by Lightspeed vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/ecwid-vs-wix.md)\n- [Ecwid by Lightspeed vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-woocommerce.md)\n- [Elastic Path API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/elastic-path-vs-saleor.md)\n- [Medusa API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/medusa-vs-saleor.md)\n- [Saleor API + MCP vs Shopify API + MCP](https://www.anchorterminal.com/compare/saleor-vs-shopify.md)\n- [Saleor API + MCP vs Shopware](https://www.anchorterminal.com/compare/saleor-vs-shopware.md)\n- [Saleor API + MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/saleor-vs-snipcart.md)\n- [Saleor API + MCP vs Square](https://www.anchorterminal.com/compare/saleor-vs-square.md)\n- [Saleor API + MCP vs Swell](https://www.anchorterminal.com/compare/saleor-vs-swell.md)\n- [Saleor API + MCP vs Vendure](https://www.anchorterminal.com/compare/saleor-vs-vendure.md)\n- [Saleor API + MCP vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/saleor-vs-wix.md)\n- [Saleor API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/saleor-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": "Ecwid by Lightspeed vs Saleor API + MCP",
        "url": ""
      }
    ],
    "description": "Saleor API + MCP scores 68.6 (B) on agent readiness against Ecwid by Lightspeed's 63.2 (B), and leads in 6 of 7 scored categories. Ecwid by Lightspeed leads on reliability. Both do commerce products. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Ecwid by Lightspeed B 63.2",
      "Saleor API + MCP B 68.6",
      "scores"
    ],
    "h1": "Ecwid by Lightspeed vs Saleor API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-ecwid-vs-saleor.png",
    "path": "/compare/ecwid-vs-saleor",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Ecwid by Lightspeed vs Saleor API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/ecwid-vs-saleor"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 680
  },
  "version": 1
}
