{
  "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": "Spree Commerce scores 70.4 (BB) on agent readiness against Fabric's 43.7 (E), and leads in every scored category.",
    "b": {
      "slug": "spree-commerce",
      "name": "Spree Commerce",
      "vendor": "Vendo Connect Inc",
      "vendorUrl": "https://spreecommerce.org",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Spree Commerce is an open-source commerce platform on Ruby on Rails, maintained by Vendo Connect Inc. A self-hosted store runs a Store API for catalogue, cart and checkout, and an Admin API for back-office work.",
      "url": "https://www.anchorterminal.com/tools/spree-commerce",
      "markdownUrl": "https://www.anchorterminal.com/tools/spree-commerce.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/spree-commerce.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/spree-commerce.json",
      "repo": "https://github.com/spree/spree",
      "license": "BSD-3-Clause for the backend, MIT for the npm packages. Enterprise Edition code is under a separate commercial licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@spree/sdk"
        },
        {
          "registry": "npm",
          "name": "@spree/cli"
        },
        {
          "registry": "npm",
          "name": "@spree/admin-sdk"
        },
        {
          "registry": "rubygems",
          "name": "spree"
        }
      ],
      "auth": "mixed",
      "authNotes": "Store API calls need a publishable key (`pk_`) in the `X-Spree-Api-Key` header, plus a customer JWT as a Bearer token or a cart token in `X-Spree-Token` for guests. Admin API calls take a secret key (`sk_`) with `read_*` and `write_*` scopes per resource, or an admin JWT. Keys are created by the store's operator in the dashboard or with `spree api-key create`, with no vendor approval.",
      "pricing": "freemium",
      "pricingNotes": "Free to self-host under BSD 3-Clause, with no platform or transaction fee. The Enterprise Edition is custom pricing through sales. A free hosted Sandbox lets an agent's owner try the Admin API without a contract, for evaluation with test data only (https://spreecommerce.org/enterprise/, checked 2026-10-09).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI files or the repository (checked 2026-10-09). Payments go through provider integrations such as Stripe, Adyen and PayPal.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 15750,
        "npmWeekly": 1576,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://spreecommerce.org/docs",
      "llmsTxt": "https://spreecommerce.org/docs/llms.txt",
      "openapi": "https://spreecommerce.org/docs/api-reference/store.yaml",
      "capabilities": [
        "commerce.products",
        "commerce.cart",
        "commerce.checkout",
        "commerce.orders",
        "commerce.headless"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "openapi",
        "llms-txt",
        "mcp",
        "typescript",
        "ruby",
        "webhooks",
        "freemium"
      ],
      "lastRelease": "2026-07-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 159,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 90,
          "maintenance": 81,
          "payments": 55,
          "reliability": 82,
          "schema": 85,
          "security": 65,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-07-20: six security advisories were published for `spree_api` and related gems between 8 January and 20 July 2026, four rated High, among them guest address and order disclosure without authentication (GHSA-87fh-rc96-6fr6, GHSA-p6pv-q7rc-g4h9, 5 February) and a guest cart takeover on `PATCH /api/v3/store/carts/:id/associate` (GHSA-4825-p4xm-pcf2, 20 July, fixed in 5.4.4 and 5.5.4). All are published with patched versions, so the deduction is reduced (https://github.com/spree/spree/security/advisories)."
        ],
        "verdict": "A self-hosted BSD 3-Clause platform with public OpenAPI files for the Store and Admin APIs, scoped secret keys, documented rate limits and idempotency keys on cart and checkout calls. GitHub lists six security advisories between January and July 2026, four rated High, and the default docs describe the 6.0 release candidate while 5.6.1 is the stable release.",
        "bestFor": "Teams that want to own a Rails commerce backend with marketplace, B2B and multi-region functions and drive it through REST.",
        "strengths": [
          "OpenAPI 3.0.3 files for the Store API (81 paths, 99 operations) and Admin API (259 paths, 417 operations), plus llms.txt and a Markdown copy of every docs page",
          "Secret keys carry `read_*` and `write_*` scopes per resource, are shown once and can be revoked, and a key cannot create a key with wider scopes",
          "`Idempotency-Key` on eight cart, checkout and payment calls, cached for 24 hours, with `Retry-After` on 429 responses",
          "Rate limits are published with numbers, 300 requests a minute per API key by default, and the operator can change them",
          "BSD 3-Clause backend and MIT TypeScript packages, with marketplace and B2B functions in the open-source edition"
        ],
        "weaknesses": [
          "Six GitHub security advisories between 8 January and 20 July 2026, four rated High, most of them access-control flaws on guest carts, orders and addresses",
          "The default docs and the main-branch OpenAPI files describe 6.0, a release candidate dated 8 October 2026. The stable release is 5.6.1 of 28 July 2026",
          "The audit trail is in the paid Enterprise Edition only, and Enterprise prices are not published",
          "Supported-version end dates differ between `SECURITY.md` (5.x until 26 March 2027) and the docs security policy (5.0 until 26 March 2028)",
          "The official MCP server searches and reads the docs only. Store and admin MCP servers are open roadmap issues"
        ],
        "agentNotes": [
          "Send a publishable key in `X-Spree-Api-Key` on every Store API call. Add `X-Spree-Token` with the cart token for guest carts, or a customer JWT as a Bearer token",
          "Send `Idempotency-Key` with the cart token or a customer JWT on cart, payment and completion calls. A request carrying only the publishable key is never cached",
          "Ask for `fields` and `expand` explicitly. Relations are left out by default and `limit` stops at 100",
          "Use a secret key with the narrowest scopes for the Admin API. `read_all` gives a read-only key, and the CLI's auto-minted local key is read-only",
          "Read the docs under `/docs/v5` for a 5.6 store. The default docs describe 6.0, which renames shipments to fulfilments and splits carts from orders"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.4
          }
        ],
        "editorialScores": {
          "ergonomics": 90,
          "maintenance": 81,
          "payments": 55,
          "reliability": 82,
          "schema": 85,
          "security": 65,
          "transparency": 75
        },
        "provenanceScore": 45
      },
      "connect": {
        "install": "npx create-spree-app@latest my-store",
        "http": "curl -X GET 'http://localhost:3000/api/v3/store/products' -H 'X-Spree-Api-Key: pk_xxx'",
        "claudeCode": "claude mcp add --transport http spree-docs https://spreecommerce.org/docs/mcp",
        "config": {
          "mcpServers": {
            "spree-docs": {
              "url": "https://spreecommerce.org/docs/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/spree-commerce"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Community Edition, self-hosted",
          "unit": "month",
          "usd": 0,
          "note": "BSD 3-Clause, the operator pays for its own servers"
        }
      ],
      "provenance": {
        "legalEntity": "Vendo Connect Inc",
        "domain": "spreecommerce.org",
        "domainRegistered": "2009-04-03",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/spree/spree/releases",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Sandbox terms name VENDO CONNECT INC, a Delaware corporation (file number 7005612), 3500 S DuPont Highway, Dover, Delaware 19901, as the company behind the Spree Commerce project. The `LICENSE` file also names Vendo Sp. z o.o. as a copyright holder.",
          "The API runs on the operator's own server, so there is no vendor endpoint and no vendor status page.",
          "No terms or privacy document governs the self-hosted software, and the BSD 3-Clause licence stands in. The published terms (https://spreecommerce.org/terms-of-service/) and privacy notice (https://spreecommerce.org/privacy-policy-sandbox/), both dated 10 July 2026, cover only the hosted Sandbox and Vendo's websites.",
          "https://spreecommerce.org/.well-known/security.txt returns 404. `SECURITY.md` in the repository gives a security mailbox for reports.",
          "RDAP for spreecommerce.org gives a registration date of 2009-04-03 and GoDaddy.com, LLC as registrar."
        ],
        "score": 45
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/spree-commerce.json",
      "live": {
        "slug": "spree-commerce",
        "versions": [
          {
            "registry": "github",
            "name": "spree/spree",
            "version": "v5.6.1",
            "released": "2026-07-28",
            "seenAt": "2026-10-13T23:26:00.711455253Z"
          },
          {
            "registry": "npm",
            "name": "@spree/admin-sdk",
            "version": "0.1.0",
            "seenAt": "2026-10-13T23:25:58.730058579Z"
          },
          {
            "registry": "npm",
            "name": "@spree/cli",
            "version": "3.3.0",
            "seenAt": "2026-10-13T23:25:57.385857654Z"
          },
          {
            "registry": "npm",
            "name": "@spree/sdk",
            "version": "1.2.1",
            "seenAt": "2026-10-13T23:25:54.903360149Z"
          }
        ],
        "githubStars": 15752,
        "npmWeekly": 1665,
        "securityTxt": {
          "url": "https://spreecommerce.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-13T15:45:17.744404365Z"
        },
        "llmsTxt": {
          "url": "https://spreecommerce.org/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:12:37.075178605Z"
        },
        "domain": {
          "domain": "spreecommerce.org",
          "registered": "2009-04-03",
          "source": "https://rdap.publicinterestregistry.org/rdap/domain/spreecommerce.org",
          "checkedAt": "2026-10-11T13:15:46.256752283Z"
        },
        "updatedAt": "2026-10-13T23:26:00.711455253Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Commerce Fabric, Inc.",
        "b": "Vendo Connect Inc",
        "name": "Vendor"
      },
      {
        "a": "https://api.fabric.inc/v3",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "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": "BSD-3-Clause for the backend, MIT for the npm packages. Enterprise Edition code is under a separate commercial licence",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-07-28",
        "name": "Last release"
      },
      {
        "a": "2026-01-01",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2021-01-14",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "16k stars, 1.6k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Spree Commerce scores 70.4 (BB) on agent readiness against Fabric's 43.7 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Fabric or Spree Commerce?"
      },
      {
        "answer": "Fabric uses an OAuth sign-in. Spree Commerce takes an API key or an OAuth sign-in.",
        "question": "Do Fabric and Spree Commerce need an API key?"
      },
      {
        "answer": "Fabric has a hosted endpoint at https://api.fabric.inc/v3. No hosted endpoint is listed for Spree Commerce.",
        "question": "Can an agent call Fabric and Spree Commerce without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Fabric. Spree Commerce is open source (BSD-3-Clause for the backend, MIT for the npm packages. Enterprise Edition code is under a separate commercial licence).",
        "question": "Are Fabric and Spree Commerce open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Spree Commerce loses 5 points for them"
        ],
        "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, 82 against 23",
          "Schema \u0026 documentation, 85 against 79",
          "Agent ergonomics, 90 against 57",
          "Payments \u0026 pricing, 55 against 0",
          "Maintenance \u0026 community, 81 against 15",
          "Transparency \u0026 trust, 60 against 55"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "goodFor": "Teams that want to own a Rails commerce backend with marketplace, B2B and multi-region functions and drive it through REST.",
        "slug": "spree-commerce",
        "watchFor": "Six GitHub security advisories between 8 January and 20 July 2026, four rated High, most of them access-control flaws on guest carts, orders and addresses"
      }
    ],
    "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-spree-commerce.json",
        "title": "Adobe Commerce (Magento) vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/adobe-commerce-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "Agentzon vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/agentzon-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "BigCommerce API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "Commerce Layer API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "commercetools vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "Ecwid by Lightspeed vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/ecwid-vs-spree-commerce"
      },
      {
        "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-spree-commerce.json",
        "title": "Elastic Path API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medusa-vs-spree-commerce.json",
        "title": "Medusa API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/medusa-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-spree-commerce.json",
        "title": "Saleor API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopify-vs-spree-commerce.json",
        "title": "Shopify API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/shopify-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopware-vs-spree-commerce.json",
        "title": "Shopware vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/shopware-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/snipcart-vs-spree-commerce.json",
        "title": "Snipcart API + MCP vs Spree Commerce",
        "url": "https://www.anchorterminal.com/compare/snipcart-vs-spree-commerce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/spree-commerce-vs-square.json",
        "title": "Spree Commerce vs Square",
        "url": "https://www.anchorterminal.com/compare/spree-commerce-vs-square"
      },
      {
        "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/spree-commerce-vs-vendure.json",
        "title": "Spree Commerce vs Vendure",
        "url": "https://www.anchorterminal.com/compare/spree-commerce-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/spree-commerce-vs-wix.json",
        "title": "Spree Commerce vs Wix Stores and eCommerce API",
        "url": "https://www.anchorterminal.com/compare/spree-commerce-vs-wix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/spree-commerce-vs-woocommerce.json",
        "title": "Spree Commerce vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/spree-commerce-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-square.json",
        "title": "Fabric vs Square",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fabric-vs-swell.json",
        "title": "Fabric vs Swell",
        "url": "https://www.anchorterminal.com/compare/fabric-vs-swell"
      },
      {
        "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": 59,
        "edge": "spree-commerce",
        "fabric": 23,
        "key": "reliability",
        "name": "Reliability",
        "spree-commerce": 82,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "spree-commerce",
        "fabric": 79,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "spree-commerce": 85,
        "weight": 13
      },
      {
        "by": 33,
        "edge": "spree-commerce",
        "fabric": 57,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "spree-commerce": 90,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "spree-commerce",
        "fabric": 62,
        "key": "security",
        "name": "Security \u0026 auth",
        "spree-commerce": 65,
        "weight": 14
      },
      {
        "by": 55,
        "edge": "spree-commerce",
        "fabric": 0,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "spree-commerce": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 66,
        "edge": "spree-commerce",
        "fabric": 15,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "spree-commerce": 81,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "spree-commerce",
        "fabric": 55,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "spree-commerce": 60,
        "weight": 7
      }
    ],
    "summary": "Spree Commerce scores 70.4 (BB) on agent readiness against Fabric's 43.7 (E), and leads in every scored category. 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.",
      "spree-commerce": "A self-hosted BSD 3-Clause platform with public OpenAPI files for the Store and Admin APIs, scoped secret keys, documented rate limits and idempotency keys on cart and checkout calls. GitHub lists six security advisories between January and July 2026, four rated High, and the default docs describe the 6.0 release candidate while 5.6.1 is the stable release."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce",
    "json": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.md",
    "slim": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.min.md"
  },
  "markdown": "Spree Commerce scores 70.4 (BB) on agent readiness against Fabric's 43.7 (E), and leads in every scored category. 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- Spree Commerce: grade BB, 70.4/100, rank #159 of 1076. Markdown https://www.anchorterminal.com/tools/spree-commerce.md · JSON https://www.anchorterminal.com/api/v1/tools/spree-commerce.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\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where Spree Commerce loses 5 points for them\n\nWatch for: No public price, free tier or self-serve signup. A trial account is arranged with Fabric\n\n### Spree Commerce (BB)\n\nGood for: Teams that want to own a Rails commerce backend with marketplace, B2B and multi-region functions and drive it through REST.\n\nAhead on:\n- Reliability, 82 against 23\n- Schema \u0026 documentation, 85 against 79\n- Agent ergonomics, 90 against 57\n- Payments \u0026 pricing, 55 against 0\n- Maintenance \u0026 community, 81 against 15\n- Transparency \u0026 trust, 60 against 55\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n\nWatch for: Six GitHub security advisories between 8 January and 20 July 2026, four rated High, most of them access-control flaws on guest carts, orders and addresses\n\n\n## Score by category\n\n| Category | Weight | Fabric | Spree Commerce | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 23 | 82 | Spree Commerce +59 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 85 | Spree Commerce +6 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 90 | Spree Commerce +33 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 65 | Spree Commerce +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 55 | Spree Commerce +55 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 81 | Spree Commerce +66 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 60 | Spree Commerce +5 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **43.7 · E** | **70.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Fabric | Spree Commerce |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Commerce Fabric, Inc. | Vendo Connect Inc |\n| Hosted endpoint | `https://api.fabric.inc/v3` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary SaaS under Fabric's Terms and Conditions (last updated 1 January 2026) and an order form | BSD-3-Clause for the backend, MIT for the npm packages. Enterprise Edition code is under a separate commercial licence |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | none | 2026-07-28 |\n| Terms last updated | 2026-01-01 | no document linked |\n| Privacy policy last updated | 2021-01-14 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | none | 16k stars, 1.6k npm/wk |\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**Spree Commerce.** A self-hosted BSD 3-Clause platform with public OpenAPI files for the Store and Admin APIs, scoped secret keys, documented rate limits and idempotency keys on cart and checkout calls. GitHub lists six security advisories between January and July 2026, four rated High, and the default docs describe the 6.0 release candidate while 5.6.1 is the stable release.\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### Spree Commerce\n\n1. Send a publishable key in `X-Spree-Api-Key` on every Store API call. Add `X-Spree-Token` with the cart token for guest carts, or a customer JWT as a Bearer token\n2. Send `Idempotency-Key` with the cart token or a customer JWT on cart, payment and completion calls. A request carrying only the publishable key is never cached\n3. Ask for `fields` and `expand` explicitly. Relations are left out by default and `limit` stops at 100\n4. Use a secret key with the narrowest scopes for the Admin API. `read_all` gives a read-only key, and the CLI's auto-minted local key is read-only\n5. Read the docs under `/docs/v5` for a 5.6 store. The default docs describe 6.0, which renames shipments to fulfilments and splits carts from orders\n\n## Questions\n\n### Which is better for AI agents, Fabric or Spree Commerce?\n\nSpree Commerce scores 70.4 (BB) on agent readiness against Fabric's 43.7 (E), and leads in every scored category.\n\n### Do Fabric and Spree Commerce need an API key?\n\nFabric uses an OAuth sign-in. Spree Commerce takes an API key or an OAuth sign-in.\n\n### Can an agent call Fabric and Spree Commerce without installing anything?\n\nFabric has a hosted endpoint at https://api.fabric.inc/v3. No hosted endpoint is listed for Spree Commerce.\n\n### Are Fabric and Spree Commerce open source?\n\nNo open-source release is listed for Fabric. Spree Commerce is open source (BSD-3-Clause for the backend, MIT for the npm packages. Enterprise Edition code is under a separate commercial licence).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fabric-vs-spree-commerce.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"fabric\", \"b\": \"spree-commerce\"}`. From a terminal: `anchor compare fabric spree-commerce`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fabric.json and https://www.anchorterminal.com/api/v1/tools/spree-commerce.json\n\n## Other comparisons with Fabric or Spree Commerce\n\n- [Adobe Commerce (Magento) vs Fabric](https://www.anchorterminal.com/compare/adobe-commerce-vs-fabric.md)\n- [Adobe Commerce (Magento) vs Spree Commerce](https://www.anchorterminal.com/compare/adobe-commerce-vs-spree-commerce.md)\n- [Agentzon vs Fabric](https://www.anchorterminal.com/compare/agentzon-vs-fabric.md)\n- [Agentzon vs Spree Commerce](https://www.anchorterminal.com/compare/agentzon-vs-spree-commerce.md)\n- [BigCommerce API + MCP vs Fabric](https://www.anchorterminal.com/compare/bigcommerce-vs-fabric.md)\n- [BigCommerce API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/bigcommerce-vs-spree-commerce.md)\n- [Commerce Layer API + MCP vs Fabric](https://www.anchorterminal.com/compare/commerce-layer-vs-fabric.md)\n- [Commerce Layer API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/commerce-layer-vs-spree-commerce.md)\n- [commercetools vs Fabric](https://www.anchorterminal.com/compare/commercetools-vs-fabric.md)\n- [commercetools vs Spree Commerce](https://www.anchorterminal.com/compare/commercetools-vs-spree-commerce.md)\n- [Ecwid by Lightspeed vs Fabric](https://www.anchorterminal.com/compare/ecwid-vs-fabric.md)\n- [Ecwid by Lightspeed vs Spree Commerce](https://www.anchorterminal.com/compare/ecwid-vs-spree-commerce.md)\n- [Elastic Path API + MCP vs Fabric](https://www.anchorterminal.com/compare/elastic-path-vs-fabric.md)\n- [Elastic Path API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/elastic-path-vs-spree-commerce.md)\n- [Medusa API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/medusa-vs-spree-commerce.md)\n- [Saleor API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/saleor-vs-spree-commerce.md)\n- [Shopify API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/shopify-vs-spree-commerce.md)\n- [Shopware vs Spree Commerce](https://www.anchorterminal.com/compare/shopware-vs-spree-commerce.md)\n- [Snipcart API + MCP vs Spree Commerce](https://www.anchorterminal.com/compare/snipcart-vs-spree-commerce.md)\n- [Spree Commerce vs Square](https://www.anchorterminal.com/compare/spree-commerce-vs-square.md)\n- [Spree Commerce vs Swell](https://www.anchorterminal.com/compare/spree-commerce-vs-swell.md)\n- [Spree Commerce vs Vendure](https://www.anchorterminal.com/compare/spree-commerce-vs-vendure.md)\n- [Spree Commerce vs Wix Stores and eCommerce API](https://www.anchorterminal.com/compare/spree-commerce-vs-wix.md)\n- [Spree Commerce vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/spree-commerce-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 Square](https://www.anchorterminal.com/compare/fabric-vs-square.md)\n- [Fabric vs Swell](https://www.anchorterminal.com/compare/fabric-vs-swell.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 Spree Commerce",
        "url": ""
      }
    ],
    "description": "Spree Commerce scores 70.4 (BB) to Fabric's 43.7 (E) for commerce orders. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Fabric E 43.7",
      "Spree Commerce BB 70.4",
      "scores"
    ],
    "h1": "Fabric vs Spree Commerce",
    "image": "https://www.anchorterminal.com/assets/og/compare-fabric-vs-spree-commerce.png",
    "path": "/compare/fabric-vs-spree-commerce",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Fabric vs Spree Commerce for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/fabric-vs-spree-commerce"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 730
  },
  "version": 1
}
