{
  "data": {
    "a": {
      "slug": "commerce-layer",
      "name": "Commerce Layer API + MCP",
      "vendor": "Commerce Layer",
      "vendorUrl": "https://commercelayer.io",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Commerce backend API for building custom storefronts and checkout experiences.",
      "url": "https://www.anchorterminal.com/tools/commerce-layer",
      "markdownUrl": "https://www.anchorterminal.com/tools/commerce-layer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/commerce-layer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/commerce-layer.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://core.commercelayer.io/api/public/resources",
      "packages": [
        {
          "registry": "npm",
          "name": "@commercelayer/sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from https://auth.commercelayer.io/oauth/token. Integration credentials (client ID and secret, role-bound) for server-side agents, sales channel credentials (client ID only, scoped to a market) for storefront calls, authorisation code for user tokens. API calls go to https://\u003cyour-org\u003e.commercelayer.io/api. The Core MCP takes the same bearer token, or runs the OAuth flow in clients that support it.",
      "pricing": "freemium",
      "pricingNotes": "Developer plan is free with no time limit, 100 live orders a month, 1,000 SKUs, 2 markets, 2 users, unlimited test orders and the Core API only. Enterprise is quoted by sales (custom yearly order volume, unlimited SKUs, adds the Metrics and Provisioning APIs and SLAs). Distributed OMS, promotion engine and metrics dashboard are add-ons. No transaction fees; payment gateway fees are separate (https://commercelayer.io/pricing).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the docs, pricing or MCP pages (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 7323,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.commercelayer.io",
      "llmsTxt": "https://docs.commercelayer.io/llms.txt",
      "openapi": "https://data.commercelayer.app/schemas/openapi.json",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "webhooks",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.7,
        "grade": "B",
        "agentReady": false,
        "rank": 295,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 82,
          "payments": 25,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI 3.0 file and llms.txt. No price between the free plan and a sales-quoted Enterprise contract.",
        "bestFor": "Teams that want a hosted headless backend and an agent that can work across every commerce object with scoped OAuth roles.",
        "strengths": [
          "Public OpenAPI 3.0 file and llms.txt",
          "OAuth roles per resource and per operation, and market-scoped sales channel tokens",
          "Hosted Core MCP with 11 tools and preflight validation before writes",
          "Free Developer plan with no card and unlimited test orders",
          "Published per-IP rate limits for reads, writes and tokens"
        ],
        "weaknesses": [
          "No price between the free plan and a sales-quoted Enterprise contract",
          "No API versioning, and four breaking changes between 8 May and 2 September 2026",
          "429s carry no Retry-After or reset header",
          "Privacy policy last updated October 2020, with no DPA or subprocessor list linked",
          "No MCP tool annotations and no confirmation step for delete_resource"
        ],
        "agentNotes": [
          "Call `get_resource_schema` before any write. Preflight rejects bad filter shapes before they reach the API",
          "Give the agent an integration credential tied to a narrow role rather than an admin role",
          "On a 429, wait out the sliding window. No Retry-After is sent, and the IP stays blocked while the rate stays high",
          "Place an order by PATCHing it with `_place: true` once line items, addresses, shipping and payment are set",
          "Move reads of `mode`, `organization_id` and `trace_id` to root-level meta before 5 October 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.7
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 82,
          "payments": 25,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 42
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl -X POST https://auth.commercelayer.io/oauth/token -H \"Content-Type: application/json\" \\\n  -d \"{\\\"grant_type\\\":\\\"client_credentials\\\",\\\"client_id\\\":\\\"$CL_CLIENT_ID\\\",\\\"client_secret\\\":\\\"$CL_CLIENT_SECRET\\\"}\"\ncurl \"https://$CL_ORG.commercelayer.io/api/skus?page[size]=5\" -H \"Accept: application/vnd.api+json\" \\\n  -H \"Authorization: Bearer $CL_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http commercelayer-core https://core-mcp.commercelayer.io/mcp --header \"Authorization: Bearer $CL_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "commercelayer-core": {
              "headers": {
                "Authorization": "Bearer ${CL_ACCESS_TOKEN}"
              },
              "url": "https://core-mcp.commercelayer.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/commerce-layer"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 0,
          "note": "100 live orders a month, 1,000 SKUs, unlimited test orders"
        }
      ],
      "provenance": {
        "legalEntity": "Commerce Layer, Inc.",
        "domain": "commercelayer.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://commercelayer.io/legal/terms-of-service",
        "privacy": "https://commercelayer.io/legal/privacy-policy",
        "statusPage": "https://status.commercelayer.io",
        "changelog": "https://docs.commercelayer.io/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "rdap.org has no RDAP service for .io, so the registration date is blank."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/commerce-layer.json",
      "live": {
        "slug": "commerce-layer",
        "probe": {
          "target": "https://core.commercelayer.io/api/public/resources",
          "method": "get",
          "lastAt": "2026-10-09T01:12:43.70087712Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 22,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 29,
          "p95ms24h": 348,
          "samples24h": 267,
          "samples30d": 2199,
          "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": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.commercelayer.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T01:07:23.944358542Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@commercelayer/sdk",
            "version": "8.0.2",
            "seenAt": "2026-10-08T16:06:37.844723724Z"
          }
        ],
        "npmWeekly": 9990,
        "securityTxt": {
          "url": "https://commercelayer.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:43.982735573Z"
        },
        "llmsTxt": {
          "url": "https://docs.commercelayer.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:16.192401378Z"
        },
        "domain": {
          "domain": "commercelayer.io",
          "checkedAt": "2026-10-04T13:08:11.061815908Z"
        },
        "pages": [
          {
            "url": "https://docs.commercelayer.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:29.576536548Z",
            "changedAt": "2026-10-08T18:18:29.576536548Z",
            "fingerprint": "e5cb8805bfc1"
          },
          {
            "url": "https://commercelayer.io/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:39.095309353Z",
            "changedAt": "2026-10-07T18:03:38.904280664Z",
            "fingerprint": "e3367b1bb377"
          },
          {
            "url": "https://commercelayer.io/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:35.082859329Z",
            "changedAt": "2026-10-07T18:03:34.402907975Z",
            "fingerprint": "3803de1040c2"
          },
          {
            "url": "https://commercelayer.io/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:37.09797446Z",
            "changedAt": "2026-10-07T18:03:36.639863076Z",
            "fingerprint": "5a7da38cba38"
          }
        ],
        "updatedAt": "2026-10-09T01:12:43.70087712Z"
      }
    },
    "answer": "Commerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust.",
    "b": {
      "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-09T01:12:45.126703463Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 96,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 127,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.ecwid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T01:07:28.032812099Z"
        },
        "updatedAt": "2026-10-09T01:12:45.126703463Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Commerce Layer",
        "b": "Ecwid, Inc. (Lightspeed Commerce)",
        "name": "Vendor"
      },
      {
        "a": "https://core.commercelayer.io/api/public/resources",
        "b": "https://app.ecwid.com/api/v3",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "11",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2026-05-01",
        "b": "2026-02-26",
        "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": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "7.3k npm/wk",
        "b": "22 stars, 307 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Commerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Commerce Layer API + MCP or Ecwid by Lightspeed?"
      },
      {
        "answer": "Commerce Layer API + MCP uses an OAuth sign-in. Ecwid by Lightspeed takes an API key or an OAuth sign-in.",
        "question": "Do Commerce Layer API + MCP and Ecwid by Lightspeed need an API key?"
      },
      {
        "answer": "Yes. Commerce Layer API + MCP has a hosted endpoint at https://core.commercelayer.io/api/public/resources and Ecwid by Lightspeed at https://app.ecwid.com/api/v3.",
        "question": "Can an agent call Commerce Layer API + MCP and Ecwid by Lightspeed without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 66",
          "Payments \u0026 pricing, 25 against 15"
        ],
        "also": null,
        "goodFor": "Teams that want a hosted headless backend and an agent that can work across every commerce object with scoped OAuth roles.",
        "slug": "commerce-layer",
        "watchFor": "No price between the free plan and a sales-quoted Enterprise contract"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 70",
          "Transparency \u0026 trust, 72 against 57"
        ],
        "also": null,
        "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"
      }
    ],
    "job": {
      "capability": "commerce.products",
      "name": "Commerce products"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-commerce-layer.json",
        "title": "Adobe Commerce (Magento) vs Commerce Layer API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-commerce-layer"
      },
      {
        "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/bigcommerce-vs-commerce-layer.json",
        "title": "BigCommerce API + MCP vs Commerce Layer API + MCP",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-commerce-layer"
      },
      {
        "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/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-elastic-path.json",
        "title": "Commerce Layer API + MCP vs Elastic Path API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-medusa.json",
        "title": "Commerce Layer API + MCP vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-medusa"
      },
      {
        "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/commerce-layer-vs-shopify.json",
        "title": "Commerce Layer API + MCP vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-shopware.json",
        "title": "Commerce Layer API + MCP vs Shopware",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-snipcart.json",
        "title": "Commerce Layer API + MCP vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-square.json",
        "title": "Commerce Layer API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-square"
      },
      {
        "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/commerce-layer-vs-vendure.json",
        "title": "Commerce Layer API + MCP vs Vendure",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-wix.json",
        "title": "Commerce Layer API + MCP vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-woocommerce.json",
        "title": "Commerce Layer API + MCP vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-woocommerce"
      },
      {
        "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/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-saleor.json",
        "title": "Ecwid by Lightspeed vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-saleor"
      },
      {
        "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"
      }
    ],
    "scores": [
      {
        "by": 10,
        "commerce-layer": 70,
        "ecwid": 80,
        "edge": "ecwid",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "commerce-layer": 79,
        "ecwid": 66,
        "edge": "commerce-layer",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "commerce-layer": 64,
        "ecwid": 66,
        "edge": "ecwid",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 3,
        "commerce-layer": 64,
        "ecwid": 61,
        "edge": "commerce-layer",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "commerce-layer": 25,
        "ecwid": 15,
        "edge": "commerce-layer",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "commerce-layer": 82,
        "ecwid": 79,
        "edge": "commerce-layer",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 15,
        "commerce-layer": 57,
        "ecwid": 72,
        "edge": "ecwid",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Commerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust. Both do commerce products.",
    "verdicts": {
      "commerce-layer": "Public OpenAPI 3.0 file and llms.txt. No price between the free plan and a sales-quoted Enterprise contract.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid",
    "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.md",
    "slim": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.min.md"
  },
  "markdown": "Commerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust. Both do commerce products.\n\n- Commerce Layer API + MCP: grade B, 63.7/100, rank #295 of 722. Markdown https://www.anchorterminal.com/tools/commerce-layer.md · JSON https://www.anchorterminal.com/api/v1/tools/commerce-layer.json\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\n## Which one, for what\n\n### Commerce Layer API + MCP (B)\n\nGood for: Teams that want a hosted headless backend and an agent that can work across every commerce object with scoped OAuth roles.\n\nAhead on:\n- Schema \u0026 documentation, 79 against 66\n- Payments \u0026 pricing, 25 against 15\n\nWatch for: No price between the free plan and a sales-quoted Enterprise contract\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 70\n- Transparency \u0026 trust, 72 against 57\n\nWatch for: Access tokens never expire and change only when the app is uninstalled and installed again\n\n\n## Score by category\n\n| Category | Weight | Commerce Layer API + MCP | Ecwid by Lightspeed | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 80 | Ecwid by Lightspeed +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 66 | Commerce Layer API + MCP +13 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 66 | Ecwid by Lightspeed +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 61 | Commerce Layer API + MCP +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 15 | Commerce Layer API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 79 | Commerce Layer API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 72 | Ecwid by Lightspeed +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **63.2 · B** | |\n\n## Facts side by side\n\n| Fact | Commerce Layer API + MCP | Ecwid by Lightspeed |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Commerce Layer | Ecwid, Inc. (Lightspeed Commerce) |\n| Hosted endpoint | `https://core.commercelayer.io/api/public/resources` | `https://app.ecwid.com/api/v3` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | none | 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 |\n| Tools exposed | 11 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-29 | 2026-09-30 |\n| Terms last updated | 2026-05-01 | 2026-02-26 |\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 | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 7.3k npm/wk | 22 stars, 307 npm/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\n\n**Commerce Layer API + MCP.** Public OpenAPI 3.0 file and llms.txt. No price between the free plan and a sales-quoted Enterprise contract.\n\n**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## Before you call either\n\n### Commerce Layer API + MCP\n\n1. Call `get_resource_schema` before any write. Preflight rejects bad filter shapes before they reach the API\n2. Give the agent an integration credential tied to a narrow role rather than an admin role\n3. On a 429, wait out the sliding window. No Retry-After is sent, and the IP stays blocked while the rate stays high\n4. Place an order by PATCHing it with `_place: true` once line items, addresses, shipping and payment are set\n5. Move reads of `mode`, `organization_id` and `trace_id` to root-level meta before 5 October 2026\n\n### 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## Questions\n\n### Which is better for AI agents, Commerce Layer API + MCP or Ecwid by Lightspeed?\n\nCommerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust.\n\n### Do Commerce Layer API + MCP and Ecwid by Lightspeed need an API key?\n\nCommerce Layer API + MCP uses an OAuth sign-in. Ecwid by Lightspeed takes an API key or an OAuth sign-in.\n\n### Can an agent call Commerce Layer API + MCP and Ecwid by Lightspeed without installing anything?\n\nYes. Commerce Layer API + MCP has a hosted endpoint at https://core.commercelayer.io/api/public/resources and Ecwid by Lightspeed at https://app.ecwid.com/api/v3.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"commerce-layer\", \"b\": \"ecwid\"}`. From a terminal: `anchor compare commerce-layer ecwid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/commerce-layer.json and https://www.anchorterminal.com/api/v1/tools/ecwid.json\n\n## Other comparisons with Commerce Layer API + MCP or Ecwid by Lightspeed\n\n- [Adobe Commerce (Magento) vs Commerce Layer API + MCP](https://www.anchorterminal.com/compare/adobe-commerce-vs-commerce-layer.md)\n- [Adobe Commerce (Magento) vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/adobe-commerce-vs-ecwid.md)\n- [BigCommerce API + MCP vs Commerce Layer API + MCP](https://www.anchorterminal.com/compare/bigcommerce-vs-commerce-layer.md)\n- [BigCommerce API + MCP vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/bigcommerce-vs-ecwid.md)\n- [Commerce Layer API + MCP vs commercetools](https://www.anchorterminal.com/compare/commerce-layer-vs-commercetools.md)\n- [Commerce Layer API + MCP vs Elastic Path API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-elastic-path.md)\n- [Commerce Layer API + MCP vs Medusa API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-medusa.md)\n- [Commerce Layer API + MCP vs Saleor API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-saleor.md)\n- [Commerce Layer API + MCP vs Shopify API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-shopify.md)\n- [Commerce Layer API + MCP vs Shopware](https://www.anchorterminal.com/compare/commerce-layer-vs-shopware.md)\n- [Commerce Layer API + MCP vs Snipcart API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-snipcart.md)\n- [Commerce Layer API + MCP vs Square](https://www.anchorterminal.com/compare/commerce-layer-vs-square.md)\n- [Commerce Layer API + MCP vs Swell](https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md)\n- [Commerce Layer API + MCP vs Vendure](https://www.anchorterminal.com/compare/commerce-layer-vs-vendure.md)\n- [Commerce Layer API + MCP vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/commerce-layer-vs-wix.md)\n- [Commerce Layer API + MCP vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/commerce-layer-vs-woocommerce.md)\n- [commercetools vs Ecwid by Lightspeed](https://www.anchorterminal.com/compare/commercetools-vs-ecwid.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 Saleor API + MCP](https://www.anchorterminal.com/compare/ecwid-vs-saleor.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",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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": "Commerce Layer API + MCP vs Ecwid by Lightspeed",
        "url": ""
      }
    ],
    "description": "Commerce Layer API + MCP and Ecwid by Lightspeed score within a point of each other on agent readiness, 63.7 (B) and 63.2 (B). Ecwid by Lightspeed leads on reliability and transparency \u0026 trust. Both do commerce products. Category scores, facts, verdicts and agent notes side by…",
    "facts": [
      "Commerce Layer API + MCP B 63.7",
      "Ecwid by Lightspeed B 63.2",
      "scores"
    ],
    "h1": "Commerce Layer API + MCP vs Ecwid by Lightspeed",
    "image": "https://www.anchorterminal.com/assets/og/compare-commerce-layer-vs-ecwid.png",
    "path": "/compare/commerce-layer-vs-ecwid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Commerce Layer API + MCP vs Ecwid by Lightspeed for AI agents",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-ecwid"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 680
  },
  "version": 1
}
