{
  "data": {
    "a": {
      "slug": "square",
      "name": "Square",
      "vendor": "Block, Inc.",
      "vendorUrl": "https://squareup.com",
      "kind": "http-api",
      "category": "commerce",
      "summary": "Square is Block's commerce and payments platform for sellers. Its REST API covers catalogue, orders, payment links, payments, inventory and customers, with seven SDKs and a beta MCP server hosted at mcp.squareup.com.",
      "url": "https://www.anchorterminal.com/tools/square",
      "markdownUrl": "https://www.anchorterminal.com/tools/square.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/square.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/square.json",
      "repo": "https://github.com/square/square-mcp-server",
      "license": "Proprietary service under the Square Developer Terms of Service. The MCP server and the OpenAPI specification on GitHub are Apache 2.0, and the Node.js SDK is MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.squareup.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "square"
        },
        {
          "registry": "npm",
          "name": "square-mcp-server"
        },
        {
          "registry": "pypi",
          "name": "squareup"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access needs a Square account and an application created in the Developer Console, both self-serve. Two token types go in the `Authorization: Bearer` header. A personal access token gives unrestricted access to the owner's own account, with a separate sandbox token. OAuth access tokens are limited to the scopes a seller grants, expire after 30 days and can be refreshed and revoked. The remote MCP server signs in through OAuth, and Square keeps an allowlist of MCP clients that may register.",
      "pricing": "usage",
      "pricingNotes": "The API and sandbox carry no charge. Sellers pay processing fees, 2.9% + 30 cents for card payments through the payments APIs in the US. Square Free is $0 a month, Plus $49 and Premium $149 per location. The sandbox lets an agent start without a contract (https://squareup.com/us/en/payments/our-fees, checked 2026-10-08).",
      "priceSummary": "2.9% fee",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index at developer.squareup.com/llms.txt or the OpenAPI spec (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 453743,
        "pypiWeekly": 72138,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.squareup.com/docs",
      "llmsTxt": "https://developer.squareup.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/square/connect-api-specification/master/api.json",
      "capabilities": [
        "commerce.products",
        "commerce.orders",
        "commerce.checkout",
        "commerce.cart",
        "commerce.headless",
        "payments.card",
        "payments.checkout"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "graphql",
        "typescript",
        "python",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-09-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.2,
        "grade": "B",
        "agentReady": false,
        "rank": 156,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 81,
          "payments": 40,
          "reliability": 58,
          "schema": 87,
          "security": 67,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3.0 spec, OAuth scopes split by read and write for each resource, idempotency keys on writes and a free sandbox. The MCP server is in beta and its remote instance reaches production only. No numeric REST rate limits or SLA were found, and the status page recorded widespread errors on 27 September 2026.",
        "bestFor": "Agents working for a seller already on Square, on catalogue, inventory, orders, payment links and customers, online and in person.",
        "strengths": [
          "Public OpenAPI 3.0 spec with 332 operations and 1,476 schemas, regenerated for API version 2026-09-16",
          "OAuth scopes are split by read and write for each resource, and access tokens expire after 30 days",
          "78 request schemas carry an `idempotency_key`, and the docs describe backoff with jitter for 429 responses",
          "Free sandbox at connect.squareupsandbox.com with test cards, and API Logs kept for 28 days",
          "Deprecated APIs are typically retired at least 12 months after deprecation, with dated release notes each month"
        ],
        "weaknesses": [
          "The MCP server is marked beta, and the remote server reaches production data only",
          "No numeric rate limits were found for the REST API. Only GraphQL states a figure, 10 queries a second",
          "No SLA was found in the developer terms or documentation",
          "The status page recorded widespread latency and errors on 27 September 2026, including payment authorisation",
          "A personal access token grants unrestricted access to the whole Square account",
          "97 of the 332 operations in the spec are marked beta"
        ],
        "agentNotes": [
          "Test against the sandbox first with the local MCP server and `SANDBOX=true`. The remote server at mcp.squareup.com reaches production only",
          "Set `DISALLOW_WRITES=true` on the local MCP server when the task only reads",
          "Call `get_service_info`, then `get_type_info`, before each `make_api_request`. The request body is otherwise untyped",
          "Send a fresh `idempotency_key` on every write, and reuse it when retrying the same write",
          "Pin `Square-Version` in each request. Use a page cursor within 5 minutes of receiving it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.2
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 81,
          "payments": 40,
          "reliability": 58,
          "schema": 87,
          "security": 67,
          "transparency": 56
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "npx square-mcp-server start",
        "http": "curl https://connect.squareupsandbox.com/v2/locations \\\n  -H 'Square-Version: 2026-09-16' \\\n  -H 'Authorization: Bearer {SANDBOX_ACCESS_TOKEN}' \\\n  -H 'Content-Type: application/json'",
        "config": {
          "mcpServers": {
            "mcp_square_api": {
              "args": [
                "mcp-remote",
                "https://mcp.squareup.com/mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/square"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Card payment through the payments APIs (US)",
          "unit": "pct",
          "usd": 2.9,
          "note": "plus 30 cents per transaction"
        },
        {
          "item": "ACH bank transfer through the API (US)",
          "unit": "pct",
          "usd": 1,
          "note": "$1 minimum, $5 fee cap"
        },
        {
          "item": "Square Free",
          "unit": "month",
          "usd": 0,
          "note": "per location"
        },
        {
          "item": "Square Plus",
          "unit": "month",
          "usd": 49,
          "note": "per location"
        },
        {
          "item": "Square Premium",
          "unit": "month",
          "usd": 149,
          "note": "per location"
        }
      ],
      "provenance": {
        "legalEntity": "Block, Inc.",
        "domain": "squareup.com",
        "domainRegistered": "2007-05-26",
        "endpointOnVendorDomain": true,
        "terms": "https://squareup.com/us/en/legal/general/developers",
        "privacy": "https://squareup.com/us/en/legal/general/privacy",
        "statusPage": "https://www.issquareup.com",
        "changelog": "https://developer.squareup.com/docs/changelog/connect",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Square Developer Terms of Service (last updated 10 September 2026) are an agreement with Block, Inc. and govern the APIs, SDKs and developer tools. Payment processing through an API is also subject to Square's General Terms.",
          "The Privacy Notice for Square Sellers and Website Visitors (last updated 15 September 2026) names Block, Inc., 1955 Broadway, Suite 600, Oakland, CA 94612 as the entity for US sellers, with other Square entities for Canada, Japan, Australia and the EU.",
          "The API answers at connect.squareup.com and the remote MCP server at mcp.squareup.com. The sandbox uses the separate domain squareupsandbox.com.",
          "squareup.com/.well-known/security.txt and developer.squareup.com/.well-known/security.txt return 404. The security page links a Bugcrowd programme.",
          "RDAP for squareup.com gives a registration date of 2007-05-26."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/square.json",
      "live": {
        "slug": "square",
        "probe": {
          "target": "https://mcp.squareup.com/mcp",
          "method": "get",
          "lastAt": "2026-10-08T19:08:59.27689094Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 59,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 80,
          "p95ms24h": 137,
          "samples24h": 19,
          "samples30d": 19,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 19,
              "ok": 19
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.issquareup.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:06:59.998723569Z"
        },
        "pages": [
          {
            "url": "https://developer.squareup.com/docs/changelog/connect",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:18.308620553Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "62494a1dd472"
          },
          {
            "url": "https://squareup.com/us/en/legal/general/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:44.136652202Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "18b57fb2f3f3"
          },
          {
            "url": "https://squareup.com/us/en/legal/general/developers",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:40.889937356Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "10ccc5457da5"
          }
        ],
        "updatedAt": "2026-10-08T19:08:59.27689094Z"
      }
    },
    "answer": "Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability.",
    "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": 460,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Live /:models schema with field types and descriptions for every store. One full-access secret key per environment, with no scoped or read-only key.",
        "bestFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "strengths": [
          "Live /:models schema with field types and descriptions for every store",
          "Carts, coupons, promotions, subscriptions and orders in one REST API",
          "Official Claude Code skills with about 320 KB of agent reference and their own evals",
          "Public plan prices with per-unit overage for API requests and storage",
          "Events audit log in the developer console since 30 September 2026"
        ],
        "weaknesses": [
          "One full-access secret key per environment, with no scoped or read-only key",
          "Invalid writes return HTTP 200 with an errors object",
          "Rate-limit numbers aren't published",
          "No llms.txt, OpenAPI, security.txt or disclosure policy",
          "No DPA, subprocessor list or deprecation policy found"
        ],
        "agentNotes": [
          "Call GET /:models once and cache it. It's the ground truth for custom fields",
          "Check `result.errors` after every write. A failed validation still returns 200",
          "Use `$set` to replace an array. A plain PUT merges arrays by element id and never shrinks them",
          "Use an sk_test_ key while testing. A bare sk_ prefix is live",
          "Keep `expand` and `include` small. Each level past the first three points adds rate-limit weight"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 82,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 35,
          "transparency": 31
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl \"https://api.swell.store/products?limit=5\" -u \"$SWELL_STORE_ID:$SWELL_SECRET_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/commerce.products",
        "tool": "https://letme.dev/swell"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 29,
          "note": "billed yearly, up to $50K sales a year, 100K API requests a month"
        },
        {
          "item": "Basic",
          "unit": "month",
          "usd": 79,
          "note": "billed yearly, up to $250K sales, 500K API requests"
        },
        {
          "item": "Standard",
          "unit": "month",
          "usd": 299,
          "note": "billed yearly, up to $1M sales, 2M API requests"
        },
        {
          "item": "Unlimited",
          "unit": "month",
          "usd": 2250,
          "note": "billed yearly, up to $5M sales"
        },
        {
          "item": "Fee above Starter ceiling",
          "unit": "pct",
          "usd": 2,
          "note": "on sales over $50K in a trailing 12 months"
        },
        {
          "item": "Fee above Basic ceiling",
          "unit": "pct",
          "usd": 1.5,
          "note": "on sales over $250K"
        },
        {
          "item": "Fee above Standard ceiling",
          "unit": "pct",
          "usd": 1,
          "note": "on sales over $1M"
        },
        {
          "item": "Fee above Unlimited ceiling",
          "unit": "pct",
          "usd": 0.4,
          "note": "on sales over $5M"
        },
        {
          "item": "Extra API requests",
          "unit": "1k-requests",
          "usd": 0.05,
          "note": "$5 per 100K over the plan quota"
        }
      ],
      "provenance": {
        "legalEntity": "Swell Commerce Corp.",
        "domain": "swell.is",
        "domainRegistered": "2019-09-06",
        "endpointOnVendorDomain": false,
        "terms": "https://www.swell.is/legal/terms-of-service",
        "privacy": "https://www.swell.is/legal/privacy-policy",
        "statusPage": "https://status.swell.store/",
        "changelog": "https://www.swell.is/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The API runs on api.swell.store, Swell's older domain, not swell.is.",
          "/.well-known/security.txt redirects to itself, so no file could be read."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/swell.json",
      "live": {
        "slug": "swell",
        "probe": {
          "target": "https://api.swell.store",
          "method": "get",
          "lastAt": "2026-10-08T19:08:59.832243761Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 482,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 427,
          "p95ms24h": 498,
          "samples24h": 272,
          "samples30d": 2135,
          "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": 217,
              "ok": 217
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.swell.store",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:07:01.089610345Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "swell-js",
            "version": "5.9.2",
            "seenAt": "2026-10-08T16:31:22.669153928Z"
          },
          {
            "registry": "npm",
            "name": "swell-node",
            "version": "6.0.5",
            "seenAt": "2026-10-08T16:31:21.794185914Z"
          }
        ],
        "npmWeekly": 1244,
        "securityTxt": {
          "url": "https://swell.is/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:33.316609141Z"
        },
        "domain": {
          "domain": "swell.is",
          "registered": "2019-09-06",
          "source": "https://rdap.isnic.is/rdap/domain/swell.is",
          "checkedAt": "2026-10-04T13:09:13.981723691Z"
        },
        "pages": [
          {
            "url": "https://www.swell.is/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:50.698368954Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1629c2fb7a64"
          },
          {
            "url": "https://www.swell.is/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:57.055443417Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32193c4b3a20"
          },
          {
            "url": "https://www.swell.is/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:52.917556195Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbd01fa046b6"
          },
          {
            "url": "https://www.swell.is/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:55.09069328Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4090f2726940"
          }
        ],
        "updatedAt": "2026-10-08T19:08:59.832243761Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Block, Inc.",
        "b": "Swell",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.squareup.com/mcp",
        "b": "https://api.swell.store",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Square Developer Terms of Service. The MCP server and the OpenAPI specification on GitHub are Apache 2.0, and the Node.js SDK is MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "3",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-16",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2026-09-10",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-15",
        "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": "yes",
        "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": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "454k npm/wk, 72k PyPI/wk",
        "b": "4.5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability.",
        "question": "Which is better for AI agents, Square or Swell?"
      },
      {
        "answer": "Square takes an API key or an OAuth sign-in. Swell needs an API key.",
        "question": "Do Square and Swell need an API key?"
      },
      {
        "answer": "Yes. Square has a hosted endpoint at https://mcp.squareup.com/mcp and Swell at https://api.swell.store.",
        "question": "Can an agent call Square and Swell without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 68",
          "Agent ergonomics, 83 against 65",
          "Security \u0026 auth, 67 against 35",
          "Payments \u0026 pricing, 40 against 25",
          "Transparency \u0026 trust, 70 against 50"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Agents working for a seller already on Square, on catalogue, inventory, orders, payment links and customers, online and in person.",
        "slug": "square",
        "watchFor": "The MCP server is marked beta, and the remote server reaches production data only"
      },
      {
        "aheadOn": [
          "Reliability, 63 against 58"
        ],
        "also": null,
        "goodFor": "Developers who want a hosted headless store with a flexible data model and an agent that writes server-side.",
        "slug": "swell",
        "watchFor": "One full-access secret key per environment, with no scoped or read-only key"
      }
    ],
    "job": {
      "capability": "commerce.products",
      "name": "Commerce products"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bigcommerce-vs-square.json",
        "title": "BigCommerce API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/bigcommerce-vs-square"
      },
      {
        "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-square.json",
        "title": "Commerce Layer API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell.json",
        "title": "Commerce Layer API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/commerce-layer-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-square.json",
        "title": "commercetools vs Square",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/commercetools-vs-swell.json",
        "title": "commercetools vs Swell",
        "url": "https://www.anchorterminal.com/compare/commercetools-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elastic-path-vs-square.json",
        "title": "Elastic Path API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/elastic-path-vs-square"
      },
      {
        "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-square.json",
        "title": "Medusa API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/medusa-vs-square"
      },
      {
        "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-square.json",
        "title": "Saleor API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/saleor-vs-swell.json",
        "title": "Saleor API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/saleor-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shopify-vs-square.json",
        "title": "Shopify API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/shopify-vs-square"
      },
      {
        "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-square.json",
        "title": "Shopware vs Square",
        "url": "https://www.anchorterminal.com/compare/shopware-vs-square"
      },
      {
        "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-square.json",
        "title": "Snipcart API + MCP vs Square",
        "url": "https://www.anchorterminal.com/compare/snipcart-vs-square"
      },
      {
        "json": "https://www.anchorterminal.com/compare/snipcart-vs-swell.json",
        "title": "Snipcart API + MCP vs Swell",
        "url": "https://www.anchorterminal.com/compare/snipcart-vs-swell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/square-vs-vendure.json",
        "title": "Square vs Vendure",
        "url": "https://www.anchorterminal.com/compare/square-vs-vendure"
      },
      {
        "json": "https://www.anchorterminal.com/compare/square-vs-woocommerce.json",
        "title": "Square vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/square-vs-woocommerce"
      },
      {
        "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-woocommerce.json",
        "title": "Swell vs WooCommerce API + MCP",
        "url": "https://www.anchorterminal.com/compare/swell-vs-woocommerce"
      }
    ],
    "scores": [
      {
        "by": 5,
        "edge": "swell",
        "key": "reliability",
        "name": "Reliability",
        "square": 58,
        "swell": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "square",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "square": 87,
        "swell": 68,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "square",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "square": 83,
        "swell": 65,
        "weight": 13
      },
      {
        "by": 32,
        "edge": "square",
        "key": "security",
        "name": "Security \u0026 auth",
        "square": 67,
        "swell": 35,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "square",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "square": 40,
        "swell": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "swell",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "square": 81,
        "swell": 82,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "square",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "square": 70,
        "swell": 50,
        "weight": 7
      }
    ],
    "summary": "Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability. Both do commerce products.",
    "verdicts": {
      "square": "The REST API has a public OpenAPI 3.0 spec, OAuth scopes split by read and write for each resource, idempotency keys on writes and a free sandbox. The MCP server is in beta and its remote instance reaches production only. No numeric REST rate limits or SLA were found, and the status page recorded widespread errors on 27 September 2026.",
      "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/square-vs-swell",
    "json": "https://www.anchorterminal.com/compare/square-vs-swell.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/square-vs-swell.md",
    "slim": "https://www.anchorterminal.com/compare/square-vs-swell.min.md"
  },
  "markdown": "Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability. Both do commerce products.\n\n- Square: grade B, 69.2/100, rank #156 of 629. Markdown https://www.anchorterminal.com/tools/square.md · JSON https://www.anchorterminal.com/api/v1/tools/square.json\n- Swell: grade C, 55/100, rank #460 of 629. Markdown https://www.anchorterminal.com/tools/swell.md · JSON https://www.anchorterminal.com/api/v1/tools/swell.json\n\n## Which one, for what\n\n### Square (B)\n\nGood for: Agents working for a seller already on Square, on catalogue, inventory, orders, payment links and customers, online and in person.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 68\n- Agent ergonomics, 83 against 65\n- Security \u0026 auth, 67 against 35\n- Payments \u0026 pricing, 40 against 25\n- Transparency \u0026 trust, 70 against 50\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: The MCP server is marked beta, and the remote server reaches production data only\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 58\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 | Square | Swell | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 63 | Swell +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 68 | Square +19 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 65 | Square +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 35 | Square +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 25 | Square +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 82 | Swell +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 50 | Square +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.2 · B** | **55 · C** | |\n\n## Facts side by side\n\n| Fact | Square | Swell |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Block, Inc. | Swell |\n| Hosted endpoint | `https://mcp.squareup.com/mcp` | `https://api.swell.store` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Square Developer Terms of Service. The MCP server and the OpenAPI specification on GitHub are Apache 2.0, and the Node.js SDK is MIT | none |\n| Tools exposed | 3 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-16 | 2026-09-30 |\n| Terms last updated | 2026-09-10 | no date given |\n| Privacy policy last updated | 2026-09-15 | 2026-08-19 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | 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 | yes | not found in the text |\n| Popularity | 454k npm/wk, 72k PyPI/wk | 4.5k npm/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**Square.** The REST API has a public OpenAPI 3.0 spec, OAuth scopes split by read and write for each resource, idempotency keys on writes and a free sandbox. The MCP server is in beta and its remote instance reaches production only. No numeric REST rate limits or SLA were found, and the status page recorded widespread errors on 27 September 2026.\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### Square\n\n1. Test against the sandbox first with the local MCP server and `SANDBOX=true`. The remote server at mcp.squareup.com reaches production only\n2. Set `DISALLOW_WRITES=true` on the local MCP server when the task only reads\n3. Call `get_service_info`, then `get_type_info`, before each `make_api_request`. The request body is otherwise untyped\n4. Send a fresh `idempotency_key` on every write, and reuse it when retrying the same write\n5. Pin `Square-Version` in each request. Use a page cursor within 5 minutes of receiving it\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, Square or Swell?\n\nSquare scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability.\n\n### Do Square and Swell need an API key?\n\nSquare takes an API key or an OAuth sign-in. Swell needs an API key.\n\n### Can an agent call Square and Swell without installing anything?\n\nYes. Square has a hosted endpoint at https://mcp.squareup.com/mcp and Swell at https://api.swell.store.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/square-vs-swell.json, and with the fewest tokens: https://www.anchorterminal.com/compare/square-vs-swell.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"square\", \"b\": \"swell\"}`. From a terminal: `anchor compare square swell`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/square.json and https://www.anchorterminal.com/api/v1/tools/swell.json\n\n## Other comparisons with Square or Swell\n\n- [BigCommerce API + MCP vs Square](https://www.anchorterminal.com/compare/bigcommerce-vs-square.md)\n- [BigCommerce API + MCP vs Swell](https://www.anchorterminal.com/compare/bigcommerce-vs-swell.md)\n- [Commerce Layer API + MCP vs Square](https://www.anchorterminal.com/compare/commerce-layer-vs-square.md)\n- [Commerce Layer API + MCP vs Swell](https://www.anchorterminal.com/compare/commerce-layer-vs-swell.md)\n- [commercetools vs Square](https://www.anchorterminal.com/compare/commercetools-vs-square.md)\n- [commercetools vs Swell](https://www.anchorterminal.com/compare/commercetools-vs-swell.md)\n- [Elastic Path API + MCP vs Square](https://www.anchorterminal.com/compare/elastic-path-vs-square.md)\n- [Elastic Path API + MCP vs Swell](https://www.anchorterminal.com/compare/elastic-path-vs-swell.md)\n- [Medusa API + MCP vs Square](https://www.anchorterminal.com/compare/medusa-vs-square.md)\n- [Medusa API + MCP vs Swell](https://www.anchorterminal.com/compare/medusa-vs-swell.md)\n- [Saleor API + MCP vs Square](https://www.anchorterminal.com/compare/saleor-vs-square.md)\n- [Saleor API + MCP vs Swell](https://www.anchorterminal.com/compare/saleor-vs-swell.md)\n- [Shopify API + MCP vs Square](https://www.anchorterminal.com/compare/shopify-vs-square.md)\n- [Shopify API + MCP vs Swell](https://www.anchorterminal.com/compare/shopify-vs-swell.md)\n- [Shopware vs Square](https://www.anchorterminal.com/compare/shopware-vs-square.md)\n- [Shopware vs Swell](https://www.anchorterminal.com/compare/shopware-vs-swell.md)\n- [Snipcart API + MCP vs Square](https://www.anchorterminal.com/compare/snipcart-vs-square.md)\n- [Snipcart API + MCP vs Swell](https://www.anchorterminal.com/compare/snipcart-vs-swell.md)\n- [Square vs Vendure](https://www.anchorterminal.com/compare/square-vs-vendure.md)\n- [Square vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/square-vs-woocommerce.md)\n- [Swell vs Vendure](https://www.anchorterminal.com/compare/swell-vs-vendure.md)\n- [Swell vs WooCommerce API + MCP](https://www.anchorterminal.com/compare/swell-vs-woocommerce.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Square vs Swell",
        "url": ""
      }
    ],
    "description": "Square scores 69.2 (B) on agent readiness against Swell's 55 (C), and leads in 5 of 7 scored categories. Swell leads on reliability. Both do commerce products. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Square B 69.2",
      "Swell C 55",
      "scores"
    ],
    "h1": "Square vs Swell",
    "image": "https://www.anchorterminal.com/assets/og/compare-square-vs-swell.png",
    "path": "/compare/square-vs-swell",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Square vs Swell for AI agents, B 69.2 vs C 55 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/square-vs-swell"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
