{
  "data": {
    "a": {
      "slug": "fabric",
      "name": "Fabric",
      "vendor": "Commerce Fabric, Inc.",
      "vendorUrl": "https://fabric.inc",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Commerce software from Commerce Fabric, Inc. for brands and retailers, now sold as Merchandising Studio (product data for AI shopping) and Dropship. Its REST APIs, documented as v3, cover orders, inventory, catalogue, pricing, carts and dropship.",
      "url": "https://www.anchorterminal.com/tools/fabric",
      "markdownUrl": "https://www.anchorterminal.com/tools/fabric.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fabric.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fabric.json",
      "license": "Proprietary SaaS under Fabric's Terms and Conditions (last updated 1 January 2026) and an order form",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.fabric.inc/v3",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Server-to-server calls use a System App with the OpenID Connect client credentials flow. A merchant admin creates the app in the Copilot console, picks one role (Admin, Developer Admin, Developer Viewer, Editor, Viewer or a module editor) and receives a client ID and secret. System tokens last 10 minutes and have no refresh token. User Apps use the authorisation code flow with PKCE for shoppers, with 30-minute user tokens and rotating refresh tokens. Every call also carries an x-fabric-tenant-id header. The Product Agent API uses its own client credentials token, valid for 60 minutes.",
      "pricing": "paid",
      "pricingNotes": "No public prices. fabric.inc/pricing returns 404, the developer docs say to reach out for a trial account, and the sites link to a demo request. Services run under an order form. The terms say beta services are free of charge (checked 14 October 2026).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the 69 OpenAPI files listed there, the terms or the site pages read on 14 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://developer.fabric.inc/v3/home",
      "llmsTxt": "https://developer.fabric.inc/llms.txt",
      "openapi": "https://developer.fabric.inc/openapi/orders/v3/orders.openapi.yaml",
      "capabilities": [
        "commerce.orders",
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "closed-source",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "sales-led",
        "sla",
        "soc2"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.7,
        "grade": "E",
        "agentReady": false,
        "rank": 949,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 18,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 15,
          "payments": 0,
          "reliability": 23,
          "schema": 79,
          "security": 62,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Public OpenAPI files for about 980 operations, llms.txt, client credentials with role-limited system apps, and a published 99.9 per cent SLA. Access needs a sales contract, with no public price or self-serve trial. The commerce docs are labelled legacy, the newest release notes date from July 2025, and no status page was found.",
        "bestFor": "A merchant-side API for retailers already on Fabric's order management, catalogue or dropship products.",
        "strengths": [
          "69 public OpenAPI files covering orders, inventory, catalogue, carts, pricing and dropship, listed in llms.txt",
          "System apps take one of ten roles, including Viewer and module-only editors, and tokens expire after 10 minutes",
          "Standardised JSON error codes with service and endpoint context for the Orders and Inventory APIs",
          "Published SLA of 99.9 per cent monthly availability with service credits up to 40 per cent"
        ],
        "weaknesses": [
          "No public price, free tier or self-serve signup. A trial account is arranged with Fabric",
          "The v3 and v2 commerce docs are labelled legacy, and the newest dated release notes are from July 2025",
          "No status page, rate-limit figures, Retry-After guidance or idempotency keys were found",
          "No official SDKs and no MCP server for the commerce APIs. The docs MCP server only searches documentation"
        ],
        "agentNotes": [
          "Get the tenant ID and a System App client ID and secret from the merchant's Copilot admin, with the narrowest role the task needs",
          "Request a new system token from {authURL}/v1/token every 10 minutes, since system apps receive no refresh token",
          "Send x-fabric-tenant-id on every call, and x-fabric-channel-id where the merchant sells in more than one channel",
          "Page order searches with offset and limit, because the default response returns 10 orders",
          "Read errorCode and context.endpoint in Orders and Inventory errors, and check for duplicates before retrying a write"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.7
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 15,
          "payments": 0,
          "reliability": 23,
          "schema": 79,
          "security": 62,
          "transparency": 35
        },
        "provenanceScore": 74
      },
      "connect": {
        "http": "curl -X POST '{authURL}/v1/token' \\\n  -H 'content-type: application/x-www-form-urlencoded' \\\n  --data-urlencode 'grant_type=client_credentials' \\\n  --data-urlencode 'scope=s2s' \\\n  --data-urlencode 'client_id={clientId}' \\\n  --data-urlencode 'client_secret={clientSecret}'\ncurl https://api.fabric.inc/v3/product-attributes \\\n  -H 'Authorization: Bearer {token}' \\\n  -H 'x-fabric-tenant-id: {tenantId}'"
      },
      "letme": {
        "capability": "https://letme.dev/commerce.orders",
        "tool": "https://letme.dev/fabric"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Commerce Fabric, Inc.",
        "domain": "fabric.inc",
        "domainRegistered": "2019-08-08",
        "endpointOnVendorDomain": true,
        "terms": "https://fabric.inc/legal/terms-and-conditions",
        "privacy": "https://fabric.inc/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://developer.fabric.inc/v3/release-notes/july2025/release-summary",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The Terms and Conditions (last updated 1 January 2026) and the website terms of use name Commerce Fabric, Inc., 455 Market St. PMB 66768 Suite 1940, San Francisco, California 94105-2448. The site footer reads Fabric, Inc., San Francisco and Toronto.",
          "The privacy policy is dated 14 January 2021. The Data Processing Addendum it and the terms link at https://fabric.inc/data-processing-addendum returned 404, as did https://fabric.inc/api-license, named as the API licence in the OpenAPI files.",
          "No status page was found. status.fabric.inc does not resolve.",
          "fabric.inc/.well-known/security.txt and api.fabric.inc/.well-known/security.txt return 404.",
          "RDAP for fabric.inc gives a registration date of 8 August 2019 and GoDaddy.com, LLC as registrar."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fabric.json",
      "live": {
        "slug": "fabric",
        "probe": {
          "target": "https://api.fabric.inc/v3",
          "method": "get",
          "lastAt": "2026-10-14T09:41:50.740446708Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 255,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 259,
          "p95ms24h": 360,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-14T09:41:50.740446708Z"
      }
    },
    "answer": "Swell scores 55 (C) on agent readiness against Fabric's 43.7 (E), and leads in 4 of 7 scored categories. Fabric leads on schema \u0026 documentation, security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "swell",
      "name": "Swell",
      "vendor": "Swell",
      "vendorUrl": "https://www.swell.is",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Hosted headless commerce platform with a REST Backend API (products, carts, orders, subscriptions, coupons, promotions, custom models) and a Frontend API for storefronts.",
      "url": "https://www.anchorterminal.com/tools/swell",
      "markdownUrl": "https://www.anchorterminal.com/tools/swell.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/swell.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/swell.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.swell.store",
      "packages": [
        {
          "registry": "npm",
          "name": "swell-node"
        },
        {
          "registry": "npm",
          "name": "swell-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Backend API uses HTTP Basic auth with the store ID as username and a secret key as password. sk_test_ keys hit the test environment, sk_live_ keys hit live data. The Frontend API (swell-js) uses a public key. Official libraries use a custom wire protocol on port 8443.",
      "pricing": "paid",
      "pricingNotes": "Billed yearly, Starter $29 a month (2 admins, $50K yearly sales), Basic $79 ($250K), Standard $299 ($1M), Unlimited $2,250 ($5M), Custom above $10M. Above the sales ceiling Swell takes 2, 1.5, 1 or 0.4 per cent. Monthly API requests 100K, 500K and 2M on the first three plans, then $5 per extra 100K; function calls and storage are metered the same way. Monthly billing costs more (the page shows 25 per cent off for yearly). Free trial on every plan (https://www.swell.is/pricing).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the docs, pricing or AI page (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 4510,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.swell.is",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "hosted",
        "typescript",
        "webhooks",
        "closed-source"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55,
        "grade": "C",
        "agentReady": false,
        "rank": 712,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key.",
        "bestFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "strengths": [
          "Live /:models schema with field types and descriptions for every store",
          "Carts, coupons, promotions, subscriptions and orders in one REST API",
          "Official Claude Code skills with about 320 KB of agent reference and their own evals",
          "Public plan prices with per-unit overage for API requests and storage",
          "Events audit log in the developer console since 30 September 2026"
        ],
        "weaknesses": [
          "One full-access secret key per environment, with no scoped or read-only key",
          "Invalid writes return HTTP 200 with an errors object",
          "Rate-limit numbers aren't published",
          "No llms.txt, OpenAPI, security.txt or disclosure policy",
          "No DPA, subprocessor list or deprecation policy found"
        ],
        "agentNotes": [
          "Call GET /:models once and cache it. It's the ground truth for custom fields",
          "Check `result.errors` after every write. A failed validation still returns 200",
          "Use `$set` to replace an array. A plain PUT merges arrays by element id and never shrinks them",
          "Use an sk_test_ key while testing. A bare sk_ prefix is live",
          "Keep `expand` and `include` small. Each level past the first three points adds rate-limit weight"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 31
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl \"https://api.swell.store/products?limit=5\" -u \"$SWELL_STORE_ID:$SWELL_SECRET_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/swell"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 29,
          "note": "billed yearly, up to $50K sales a year, 100K API requests a month"
        },
        {
          "item": "Basic",
          "unit": "month",
          "usd": 79,
          "note": "billed yearly, up to $250K sales, 500K API requests"
        },
        {
          "item": "Standard",
          "unit": "month",
          "usd": 299,
          "note": "billed yearly, up to $1M sales, 2M API requests"
        },
        {
          "item": "Unlimited",
          "unit": "month",
          "usd": 2250,
          "note": "billed yearly, up to $5M sales"
        },
        {
          "item": "Fee above Starter ceiling",
          "unit": "pct",
          "usd": 2,
          "note": "on sales over $50K in a trailing 12 months"
        },
        {
          "item": "Fee above Basic ceiling",
          "unit": "pct",
          "usd": 1.5,
          "note": "on sales over $250K"
        },
        {
          "item": "Fee above Standard ceiling",
          "unit": "pct",
          "usd": 1,
          "note": "on sales over $1M"
        },
        {
          "item": "Fee above Unlimited ceiling",
          "unit": "pct",
          "usd": 0.4,
          "note": "on sales over $5M"
        },
        {
          "item": "Extra API requests",
          "unit": "1k-requests",
          "usd": 0.05,
          "note": "$5 per 100K over the plan quota"
        }
      ],
      "provenance": {
        "legalEntity": "Swell Commerce Corp.",
        "domain": "swell.is",
        "domainRegistered": "2019-09-06",
        "endpointOnVendorDomain": false,
        "terms": "https://www.swell.is/legal/terms-of-service",
        "privacy": "https://www.swell.is/legal/privacy-policy",
        "statusPage": "https://status.swell.store/",
        "changelog": "https://www.swell.is/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The API runs on api.swell.store, Swell's older domain, not swell.is.",
          "/.well-known/security.txt redirects to itself, so no file could be read."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/swell.json",
      "live": {
        "slug": "swell",
        "probe": {
          "target": "https://api.swell.store",
          "method": "get",
          "lastAt": "2026-10-14T09:42:09.33884742Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 449,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.86,
          "p50ms24h": 426,
          "p95ms24h": 461,
          "samples24h": 248,
          "samples30d": 3525,
          "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 242
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 100,
              "ok": 100
            }
          ],
          "outages": [
            {
              "start": "2026-10-12T10:02:29.409688852Z",
              "end": "2026-10-12T10:26:37.293317913Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.swell.store",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:43.373202344Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "swell-js",
            "version": "5.9.2",
            "seenAt": "2026-10-13T23:27:31.15371936Z"
          },
          {
            "registry": "npm",
            "name": "swell-node",
            "version": "6.0.5",
            "seenAt": "2026-10-13T23:27:30.363802543Z"
          }
        ],
        "npmWeekly": 888,
        "securityTxt": {
          "url": "https://swell.is/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-13T15:46:08.125907516Z"
        },
        "domain": {
          "domain": "swell.is",
          "registered": "2019-09-06",
          "source": "https://rdap.isnic.is/rdap/domain/swell.is",
          "checkedAt": "2026-10-11T13:10:52.954861237Z"
        },
        "pages": [
          {
            "url": "https://www.swell.is/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-13T20:32:40.277035419Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1629c2fb7a64"
          },
          {
            "url": "https://www.swell.is/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-13T20:32:46.819332894Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32193c4b3a20"
          },
          {
            "url": "https://www.swell.is/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:32:42.575058355Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbd01fa046b6"
          },
          {
            "url": "https://www.swell.is/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:32:44.700090898Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4090f2726940"
          }
        ],
        "updatedAt": "2026-10-14T09:42:09.33884742Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Commerce Fabric, Inc.",
        "b": "Swell",
        "name": "Vendor"
      },
      {
        "a": "https://api.fabric.inc/v3",
        "b": "https://api.swell.store",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary SaaS under Fabric's Terms and Conditions (last updated 1 January 2026) and an order form",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2026-01-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2021-01-14",
        "b": "2026-08-19",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "4.5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Swell scores 55 (C) on agent readiness against Fabric's 43.7 (E), and leads in 4 of 7 scored categories. Fabric leads on schema \u0026 documentation, security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Fabric or Swell?"
      },
      {
        "answer": "Fabric uses an OAuth sign-in. Swell needs an API key.",
        "question": "Do Fabric and Swell need an API key?"
      },
      {
        "answer": "Yes. Fabric has a hosted endpoint at https://api.fabric.inc/v3 and Swell at https://api.swell.store.",
        "question": "Can an agent call Fabric and Swell without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 68",
          "Security \u0026 auth, 62 against 35",
          "Transparency \u0026 trust, 55 against 50"
        ],
        "also": null,
        "goodFor": "A merchant-side API for retailers already on Fabric's order management, catalogue or dropship products.",
        "slug": "fabric",
        "watchFor": "No public price, free tier or self-serve signup. A trial account is arranged with Fabric"
      },
      {
        "aheadOn": [
          "Reliability, 63 against 23",
          "Agent ergonomics, 65 against 57",
          "Payments \u0026 pricing, 25 against 0",
          "Maintenance \u0026 community, 82 against 15"
        ],
        "also": null,
        "goodFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "slug": "swell",
        "watchFor": "One full-access secret key per environment, with no scoped or read-only key"
      }
    ],
    "job": {
      "capability": "commerce.orders",
      "name": "Commerce orders"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-fabric.json",
        "title": "Adobe Commerce (Magento) vs Fabric",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-commerce-vs-swell.json",
        "title": "Adobe Commerce (Magento) vs Swell",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentzon-vs-fabric.json",
        "title": "Agentzon vs Fabric",
        "url": "https://www.anchorterminal.com/compare/agentzon-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentzon-vs-swell.json",
        "title": "Agentzon vs Swell",
        "url": "https://www.anchorterminal.com/compare/agentzon-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-fabric.json",
        "title": "BigCommerce API + MCP vs Fabric",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-swell.json",
        "title": "BigCommerce API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-fabric.json",
        "title": "Commerce Layer API + MCP vs Fabric",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.json",
        "title": "Commerce Layer API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-fabric.json",
        "title": "commercetools vs Fabric",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-swell.json",
        "title": "commercetools vs Swell",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-fabric.json",
        "title": "Ecwid by Lightspeed vs Fabric",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ecwid-vs-swell.json",
        "title": "Ecwid by Lightspeed vs Swell",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-fabric.json",
        "title": "Elastic Path API + MCP vs Fabric",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-fabric"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-swell.json",
        "title": "Elastic Path API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medusa-vs-swell.json",
        "title": "Medusa API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/medusa-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-swell.json",
        "title": "Saleor API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopify-vs-swell.json",
        "title": "Shopify API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/shopify-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopware-vs-swell.json",
        "title": "Shopware vs Swell",
        "url": "https://www.anchorterminal.com/compare/shopware-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/snipcart-vs-swell.json",
        "title": "Snipcart API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/snipcart-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/spree-commerce-vs-swell.json",
        "title": "Spree Commerce vs Swell",
        "url": "https://www.anchorterminal.com/compare/spree-commerce-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/square-vs-swell.json",
        "title": "Square vs Swell",
        "url": "https://www.anchorterminal.com/compare/square-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-vendure.json",
        "title": "Swell vs Vendure",
        "url": "https://www.anchorterminal.com/compare/swell-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-wix.json",
        "title": "Swell vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/swell-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/swell-vs-woocommerce.json",
        "title": "Swell vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/swell-vs-woocommerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-medusa.json",
        "title": "Fabric vs Medusa API + MCP",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-medusa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-saleor.json",
        "title": "Fabric vs Saleor API + MCP",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-saleor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-shopify.json",
        "title": "Fabric vs Shopify API + MCP",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-shopify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-shopware.json",
        "title": "Fabric vs Shopware",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-shopware"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-snipcart.json",
        "title": "Fabric vs Snipcart API + MCP",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-snipcart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.json",
        "title": "Fabric vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-square.json",
        "title": "Fabric vs Square",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-vendure.json",
        "title": "Fabric vs Vendure",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-wix.json",
        "title": "Fabric vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-woocommerce.json",
        "title": "Fabric vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-woocommerce"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "swell",
        "fabric": 23,
        "key": "reliability",
        "name": "Reliability",
        "swell": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "fabric",
        "fabric": 79,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "swell": 68,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "swell",
        "fabric": 57,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "swell": 65,
        "weight": 13
      },
      {
        "by": 27,
        "edge": "fabric",
        "fabric": 62,
        "key": "security",
        "name": "Security \u0026 auth",
        "swell": 35,
        "weight": 14
      },
      {
        "by": 25,
        "edge": "swell",
        "fabric": 0,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "swell": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 67,
        "edge": "swell",
        "fabric": 15,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "swell": 82,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "fabric",
        "fabric": 55,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "swell": 50,
        "weight": 7
      }
    ],
    "summary": "Swell scores 55 (C) on agent readiness against Fabric's 43.7 (E), and leads in 4 of 7 scored categories. Fabric leads on schema \u0026 documentation, security \u0026 auth and transparency \u0026 trust. Both do commerce orders.",
    "verdicts": {
      "fabric": "Public OpenAPI files for about 980 operations, llms.txt, client credentials with role-limited system apps, and a published 99.9 per cent SLA. Access needs a sales contract, with no public price or self-serve trial. The commerce docs are labelled legacy, the newest release notes date from July 2025, and no status page was found.",
      "swell": "Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fabric-vs-swell",
    "json": "https://www.anchorterminal.com/compare/fabric-vs-swell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fabric-vs-swell.md",
    "slim": "https://www.anchorterminal.com/compare/fabric-vs-swell.min.md"
  },
  "markdown": "Swell scores 55 (C) on agent readiness against Fabric's 43.7 (E), and leads in 4 of 7 scored categories. Fabric leads on schema \u0026 documentation, security \u0026 auth and transparency \u0026 trust. Both do commerce orders.\n\n- Fabric: grade E, 43.7/100, rank #949 of 1076. Markdown https://www.anchorterminal.com/tools/fabric.md · JSON https://www.anchorterminal.com/api/v1/tools/fabric.json\n- Swell: grade C, 55/100, rank #712 of 1076. Markdown https://www.anchorterminal.com/tools/swell.md · JSON https://www.anchorterminal.com/api/v1/tools/swell.json\n- Best commerce platforms and checkout APIs for AI agents: https://www.anchorterminal.com/best/commerce/index.md\n- All 171 commerce comparisons: https://www.anchorterminal.com/compare/commerce/index.md\n\n## Which one, for what\n\n### Fabric (E)\n\nGood for: A merchant-side API for retailers already on Fabric's order management, catalogue or dropship products.\n\nAhead on:\n- Schema \u0026 documentation, 79 against 68\n- Security \u0026 auth, 62 against 35\n- Transparency \u0026 trust, 55 against 50\n\nWatch for: No public price, free tier or self-serve signup. A trial account is arranged with Fabric\n\n### Swell (C)\n\nGood for: Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.\n\nAhead on:\n- Reliability, 63 against 23\n- Agent ergonomics, 65 against 57\n- Payments \u0026 pricing, 25 against 0\n- Maintenance \u0026 community, 82 against 15\n\nWatch for: One full-access secret key per environment, with no scoped or read-only key\n\n\n## Score by category\n\n| Category | Weight | Fabric | Swell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 23 | 63 | Swell +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 68 | Fabric +11 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 65 | Swell +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 35 | Fabric +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 25 | Swell +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 82 | Swell +67 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 50 | Fabric +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43.7 · E** | **55 · C** | |\n\n## Facts side by side\n\n| Fact | Fabric | Swell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Commerce Fabric, Inc. | Swell |\n| Hosted endpoint | `https://api.fabric.inc/v3` | `https://api.swell.store` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary SaaS under Fabric's Terms and Conditions (last updated 1 January 2026) and an order form | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | none | 2026-09-30 |\n| Terms last updated | 2026-01-01 | no date given |\n| Privacy policy last updated | 2021-01-14 | 2026-08-19 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 4.5k npm/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**Fabric.** Public OpenAPI files for about 980 operations, llms.txt, client credentials with role-limited system apps, and a published 99.9 per cent SLA. Access needs a sales contract, with no public price or self-serve trial. The commerce docs are labelled legacy, the newest release notes date from July 2025, and no status page was found.\n\n**Swell.** Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key.\n\n## Before you call either\n\n### Fabric\n\n1. Get the tenant ID and a System App client ID and secret from the merchant's Copilot admin, with the narrowest role the task needs\n2. Request a new system token from {authURL}/v1/token every 10 minutes, since system apps receive no refresh token\n3. Send x-fabric-tenant-id on every call, and x-fabric-channel-id where the merchant sells in more than one channel\n4. Page order searches with offset and limit, because the default response returns 10 orders\n5. Read errorCode and context.endpoint in Orders and Inventory errors, and check for duplicates before retrying a write\n\n### Swell\n\n1. Call GET /:models once and cache it. It's the ground truth for custom fields\n2. Check `result.errors` after every write. A failed validation still returns 200\n3. Use `$set` to replace an array. A plain PUT merges arrays by element id and never shrinks them\n4. Use an sk_test_ key while testing. A bare sk_ prefix is live\n5. Keep `expand` and `include` small. Each level past the first three points adds rate-limit weight\n\n## Questions\n\n### Which is better for AI agents, Fabric or Swell?\n\nSwell scores 55 (C) on agent readiness against Fabric's 43.7 (E), and leads in 4 of 7 scored categories. Fabric leads on schema \u0026 documentation, security \u0026 auth and transparency \u0026 trust.\n\n### Do Fabric and Swell need an API key?\n\nFabric uses an OAuth sign-in. Swell needs an API key.\n\n### Can an agent call Fabric and Swell without installing anything?\n\nYes. Fabric has a hosted endpoint at https://api.fabric.inc/v3 and Swell at https://api.swell.store.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/fabric-vs-swell.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fabric-vs-swell.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"fabric\", \"b\": \"swell\"}`. From a terminal: `anchor compare fabric swell`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fabric.json and https://www.anchorterminal.com/api/v1/tools/swell.json\n\n## Other comparisons with Fabric or Swell\n\n- [Adobe Commerce (Magento) vs Fabric](https://www.anchorterminal.com/compare/adobe-commerce-vs-fabric.md)\n- [Adobe Commerce (Magento) vs Swell](https://www.anchorterminal.com/compare/adobe-commerce-vs-swell.md)\n- [Agentzon vs Fabric](https://www.anchorterminal.com/compare/agentzon-vs-fabric.md)\n- [Agentzon vs Swell](https://www.anchorterminal.com/compare/agentzon-vs-swell.md)\n- [BigCommerce API + MCP vs Fabric](https://www.anchorterminal.com/compare/bigcommerce-vs-fabric.md)\n- [BigCommerce API + MCP vs Swell](https://www.anchorterminal.com/compare/bigcommerce-vs-swell.md)\n- [Commerce Layer API + MCP vs Fabric](https://www.anchorterminal.com/compare/commerce-layer-vs-fabric.md)\n- [Commerce Layer API + MCP vs Swell](https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md)\n- [commercetools vs Fabric](https://www.anchorterminal.com/compare/commercetools-vs-fabric.md)\n- [commercetools vs Swell](https://www.anchorterminal.com/compare/commercetools-vs-swell.md)\n- [Ecwid by Lightspeed vs Fabric](https://www.anchorterminal.com/compare/ecwid-vs-fabric.md)\n- [Ecwid by Lightspeed vs Swell](https://www.anchorterminal.com/compare/ecwid-vs-swell.md)\n- [Elastic Path API + MCP vs Fabric](https://www.anchorterminal.com/compare/elastic-path-vs-fabric.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Medusa API + MCP vs Swell](https://www.anchorterminal.com/compare/medusa-vs-swell.md)\n- [Saleor API + MCP vs Swell](https://www.anchorterminal.com/compare/saleor-vs-swell.md)\n- [Shopify API + MCP vs Swell](https://www.anchorterminal.com/compare/shopify-vs-swell.md)\n- [Shopware vs Swell](https://www.anchorterminal.com/compare/shopware-vs-swell.md)\n- [Snipcart API + MCP vs Swell](https://www.anchorterminal.com/compare/snipcart-vs-swell.md)\n- [Spree Commerce vs Swell](https://www.anchorterminal.com/compare/spree-commerce-vs-swell.md)\n- [Square vs Swell](https://www.anchorterminal.com/compare/square-vs-swell.md)\n- [Swell vs Vendure](https://www.anchorterminal.com/compare/swell-vs-vendure.md)\n- [Swell vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/swell-vs-wix.md)\n- [Swell vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/swell-vs-woocommerce.md)\n- [Fabric vs Medusa API + MCP](https://www.anchorterminal.com/compare/fabric-vs-medusa.md)\n- [Fabric vs Saleor API + MCP](https://www.anchorterminal.com/compare/fabric-vs-saleor.md)\n- [Fabric vs Shopify API + MCP](https://www.anchorterminal.com/compare/fabric-vs-shopify.md)\n- [Fabric vs Shopware](https://www.anchorterminal.com/compare/fabric-vs-shopware.md)\n- [Fabric vs Snipcart API + MCP](https://www.anchorterminal.com/compare/fabric-vs-snipcart.md)\n- [Fabric vs Spree Commerce](https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.md)\n- [Fabric vs Square](https://www.anchorterminal.com/compare/fabric-vs-square.md)\n- [Fabric vs Vendure](https://www.anchorterminal.com/compare/fabric-vs-vendure.md)\n- [Fabric vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/fabric-vs-wix.md)\n- [Fabric vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/fabric-vs-woocommerce.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "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": "Fabric vs Swell",
        "url": ""
      }
    ],
    "description": "Swell scores 55 (C) to Fabric's 43.7 (E) for commerce orders. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Fabric E 43.7",
      "Swell C 55",
      "scores"
    ],
    "h1": "Fabric vs Swell",
    "image": "https://www.anchorterminal.com/assets/og/compare-fabric-vs-swell.png",
    "path": "/compare/fabric-vs-swell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Fabric vs Swell for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/fabric-vs-swell"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 580
  },
  "version": 1
}
