{
  "data": {
    "a": {
      "slug": "acuity-scheduling",
      "name": "Acuity Scheduling API",
      "vendor": "Squarespace",
      "vendorUrl": "https://acuityscheduling.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Acuity Scheduling is Squarespace's appointment booking product. Its REST API reads availability, creates, reschedules and cancels appointments, manages clients and blocked time, and sends webhooks, with Basic authentication or OAuth2.",
      "url": "https://www.anchorterminal.com/tools/acuity-scheduling",
      "markdownUrl": "https://www.anchorterminal.com/tools/acuity-scheduling.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/acuity-scheduling.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json",
      "repo": "https://github.com/AcuityScheduling/acuity-js",
      "license": "Proprietary service under Squarespace's Developer Terms. The Node.js and PHP SDKs are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://acuityscheduling.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "acuityscheduling"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. One account uses HTTP Basic authentication with the numeric User ID as username and the account API key as password, found under Integrations in the Acuity settings. Apps that connect other people's accounts register an OAuth2 client at https://acuityscheduling.com/oauth2/register and use the authorisation code grant, which has one scope, `api-v1`, and returns a Bearer token. `POST /oauth2/disconnect` disables a token. No app review step, token expiry or refresh token is described in the OAuth guide. Requests must come from a server, as cross-origin requests are refused.",
      "pricing": "paid",
      "pricingNotes": "The pricing page lists \"Custom API and CSS\" on the Premium plan only, at $61 a month or $49 a month billed yearly. Starter is $20 ($16 yearly) and Standard $34 ($27 yearly), in USD before tax. Each plan has a 7-day trial with no card needed. We did not establish whether the trial includes API access. No free tier or sandbox was found, and API calls carry no separate charge. An Enterprise plan with additional APIs is sold through sales (https://acuityscheduling.com/pricing).",
      "priceSummary": "$61 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 9182,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.acuityscheduling.com",
      "llmsTxt": "https://developers.acuityscheduling.com/llms.txt",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "paid",
        "trial",
        "rest",
        "oauth",
        "basic-auth",
        "webhooks",
        "llms-txt",
        "closed-source",
        "status-page",
        "hipaa",
        "nodejs",
        "php"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.4,
        "grade": "E",
        "agentReady": false,
        "rank": 678,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 15,
          "payments": 30,
          "reliability": 58,
          "schema": 56,
          "security": 27,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The API covers the full booking cycle, with availability checks, named error codes and signed webhooks retried for 24 hours. API access is sold only on the Premium plan at $61 a month, the single OAuth scope grants the whole account, and no changelog, idempotency key or audit log was found in the reviewed documentation.",
        "bestFor": "A business that already takes bookings in Acuity and wants an agent to check slots, book, move and cancel appointments for clients, including classes, packages and intake forms.",
        "strengths": [
          "Availability by date and time, booking, rescheduling and cancelling are separate documented endpoints under `/api/v1`",
          "Errors return a status code, a named `error` code and a message, and a 404 suggests the nearest valid path",
          "Webhooks are signed with HMAC-SHA256 in `x-acuity-signature` and retried nine times over 24 hours",
          "Every docs page has a Markdown copy with an OpenAPI 3.1 fragment, and `llms.txt` is published",
          "Rate limit stated as 10 requests a second and 20 concurrent connections per IP"
        ],
        "weaknesses": [
          "The pricing page lists custom API access on Premium only, $61 a month or $49 billed yearly",
          "OAuth2 has one scope, `api-v1`, and Basic authentication uses one account API key, so no read-only credential exists",
          "No changelog or deprecation policy was found, and the Developer Terms allow changes without notice",
          "The Node.js and PHP SDKs were last released in July 2019",
          "The status page records two critical service disruptions in the last 90 days, on 19 July and 12 August 2026"
        ],
        "agentNotes": [
          "Call `/availability/dates` then `/availability/times` with `appointmentTypeID` before `POST /appointments`, which validates the slot as a client would",
          "Avoid `admin=true` unless the owner asks for it, because it skips availability and form validation",
          "Pass `noEmail=true` when a booking or cancellation must not send the client an email or SMS",
          "Check `GET /appointments` filtered by `email` and date before retrying a booking, since no idempotency key is documented",
          "Stay under 10 requests a second and 20 concurrent connections per IP, and back off on 429, which carries no documented `Retry-After`"
        ],
        "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": 42.4
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 15,
          "payments": 30,
          "reliability": 58,
          "schema": 56,
          "security": 27,
          "transparency": 34
        },
        "provenanceScore": 74
      },
      "connect": {
        "install": "npm install --save acuityscheduling",
        "http": "curl -u ACUITY_USER_ID:ACUITY_API_KEY \"https://acuityscheduling.com/api/v1/appointments\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/acuity-scheduling"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Premium (the plan with API access)",
          "unit": "month",
          "usd": 61,
          "note": "Monthly billing. $49 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Squarespace, Inc.",
        "domain": "acuityscheduling.com",
        "domainRegistered": "2007-01-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.squarespace.com/developer-terms",
        "privacy": "https://www.squarespace.com/privacy",
        "statusPage": "https://status.acuityscheduling.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The developer docs' legal page links two documents, Squarespace's Developer Terms (last updated 16 December 2025) and Squarespace's privacy policy (effective 15 July 2026). Both name acuityscheduling.com.",
          "The contracting entity is Squarespace, Inc., 225 Varick Street, New York, for US users and Squarespace Ireland Limited, Dublin, for others.",
          "acuityscheduling.com/.well-known/security.txt returns 404. www.squarespace.com publishes one that expires on 1 January 2028 and points to its vulnerability reporting page.",
          "The API answers at https://acuityscheduling.com/api/v1 and OAuth at https://acuityscheduling.com/oauth2.",
          "RDAP gives a registration date of 2007-01-15 and MarkMonitor Inc. as registrar.",
          "No changelog was found. developers.acuityscheduling.com/changelog.md returns the docs' not-found page."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/acuity-scheduling.json",
      "live": {
        "slug": "acuity-scheduling",
        "probe": {
          "target": "https://acuityscheduling.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T21:53:14.476348682Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 464,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 475,
          "p95ms24h": 504,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.acuityscheduling.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:57:41.552819171Z"
        },
        "updatedAt": "2026-10-08T21:57:41.552819171Z"
      }
    },
    "answer": "Cal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "cal-com",
      "name": "Cal.com API v2 + MCP",
      "vendor": "Cal.com",
      "vendorUrl": "https://cal.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Scheduling API behind Cal.com's booking pages.",
      "url": "https://www.anchorterminal.com/tools/cal-com",
      "markdownUrl": "https://www.anchorterminal.com/tools/cal-com.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cal-com.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cal-com.json",
      "repo": "https://github.com/calcom/cal-mcp",
      "license": "Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.cal.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@calcom/cal-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key from Settings, prefixed `cal_` in test mode and `cal_live_` in live mode, or OAuth for integrations used by other Cal.com users. Most endpoints also want a `cal-api-version` header with a date (2024-09-04 for slots). The hosted MCP at mcp.cal.com signs in with OAuth 2.1. The local server reads `CAL_API_KEY`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan for one user with unlimited event types and calendars. Teams $12 a user a month and Organizations $28 a user a month, both billed yearly (25 per cent off monthly), each with a 14-day trial. Enterprise is custom and annual. Teams adds round-robin, collective event types and routing forms. The Organizations plan adds sub-teams, SAML SSO, SCIM, domain-wide delegation and more APIs (https://cal.com/pricing). The separate Platform product has been closed to new sign-ups since 15 December 2025 (https://cal.com/docs/api-reference/v2/introduction).",
      "priceSummary": "$12 / seat-mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": 30,
        "npmWeekly": 786,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://cal.com/docs/api-reference/v2/introduction",
      "llmsTxt": "https://cal.com/docs/llms.txt",
      "openapi": "https://cal.com/docs/api-reference/v2/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.2,
        "grade": "C",
        "agentReady": false,
        "rank": 480,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 76,
          "security": 56,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE. API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings.",
        "bestFor": "An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.",
        "strengths": [
          "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE",
          "Hosted MCP with 63 tools and a `toolsets` parameter to load only the groups needed",
          "OpenAPI 3.0 spec, llms.txt and Markdown reference pages",
          "Cursor pagination and filters on bookings by status, attendee, event type and time",
          "ISO 27001, SOC 2 Type II and a Bugcrowd disclosure programme"
        ],
        "weaknesses": [
          "API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings",
          "120 requests a minute by default and no documented 429 or retry behaviour",
          "Closed source since April 2026, and the npm MCP package hasn't changed since May 2025",
          "No idempotency key on booking creation",
          "Plain API keys can't be scoped"
        ],
        "agentNotes": [
          "Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version",
          "Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools",
          "Page bookings with `pagination.nextCursor`, not offsets",
          "Check for an existing booking before retrying a create, since there's no idempotency key",
          "Use `cal_` test keys while building so bookings don't reach real calendars"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.2
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 76,
          "security": 56,
          "transparency": 61
        },
        "provenanceScore": 94
      },
      "connect": {
        "http": "curl \"https://api.cal.com/v2/slots?eventTypeId=123\u0026start=2026-10-01\u0026end=2026-10-02\u0026timeZone=Europe/London\" \\\n  -H \"Authorization: Bearer $CAL_API_KEY\" \\\n  -H \"cal-api-version: 2024-09-04\"",
        "claudeCode": "claude mcp add --transport http calcom https://mcp.cal.com/mcp",
        "config": {
          "mcpServers": {
            "calcom": {
              "args": [
                "@calcom/cal-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "CAL_API_KEY": "${CAL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/cal-com"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 12,
          "note": "Billed yearly"
        },
        {
          "item": "Organizations plan",
          "unit": "seat-month",
          "usd": 28,
          "note": "Billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Cal.com, Inc.",
        "domain": "cal.com",
        "domainRegistered": "1997-05-16",
        "domainNote": "cal.com was registered in 1997, long before Cal.com launched, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://cal.com/terms",
        "privacy": "https://cal.com/privacy",
        "statusPage": "https://status.cal.com",
        "changelog": "https://cal.com/blog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The privacy policy (effective 20 August 2026) gives a San Francisco address. The terms carry an effective date of 2021-04-14 and name the laws of the United Kingdom.",
          "security.txt expires 2030-06-01 and lists GitHub security advisories on calcom/cal.com as the contact, a repository that now hosts the Cal.diy fork.",
          "Release notes are blog posts titled Changelog, the latest v6.9 on 2026-09-15. cal.com/changelog is a user's booking page, not a changelog."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cal-com.json",
      "live": {
        "slug": "cal-com",
        "probe": {
          "target": "https://api.cal.com/v2",
          "method": "get",
          "lastAt": "2026-10-08T21:53:18.709657048Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 149,
          "authRequired": false,
          "uptime24h": 99.63,
          "uptime30d": 99.8,
          "p50ms24h": 186,
          "p95ms24h": 475,
          "samples24h": 270,
          "samples30d": 1962,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 108
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 246,
              "ok": 245
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:18.50778301Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@calcom/cal-mcp",
            "version": "0.0.6",
            "seenAt": "2026-10-08T16:04:23.575181431Z"
          }
        ],
        "githubStars": 30,
        "npmWeekly": 783,
        "securityTxt": {
          "url": "https://cal.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-06-01T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:48.658782269Z"
        },
        "llmsTxt": {
          "url": "https://cal.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:10.243945437Z"
        },
        "domain": {
          "domain": "cal.com",
          "registered": "1997-05-16",
          "source": "https://rdap.verisign.com/com/v1/domain/cal.com",
          "checkedAt": "2026-10-04T13:04:17.498740317Z"
        },
        "pages": [
          {
            "url": "https://cal.com/blog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:58.070995232Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0cae70614a2b"
          },
          {
            "url": "https://cal.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:00.425033929Z",
            "changedAt": "2026-10-07T18:03:05.641616424Z",
            "fingerprint": "905401b7975e"
          },
          {
            "url": "https://cal.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:02.306576942Z",
            "changedAt": "2026-10-06T16:06:14.780228534Z",
            "fingerprint": "8f1405577b74"
          },
          {
            "url": "https://cal.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:04.260700778Z",
            "changedAt": "2026-10-07T18:03:09.589820975Z",
            "fingerprint": "8afa238c51ce"
          }
        ],
        "updatedAt": "2026-10-08T21:53:18.709657048Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Squarespace",
        "b": "Cal.com",
        "name": "Vendor"
      },
      {
        "a": "https://acuityscheduling.com/api/v1",
        "b": "https://api.cal.com/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Squarespace's Developer Terms. The Node.js and PHP SDKs are MIT",
        "b": "Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "63",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-09-15",
        "name": "Last release"
      },
      {
        "a": "2025-12-16",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.2k npm/wk",
        "b": "30 stars, 786 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Cal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Acuity Scheduling API or Cal.com API v2 + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Acuity Scheduling API and Cal.com API v2 + MCP need an API key?"
      },
      {
        "answer": "Yes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Cal.com API v2 + MCP at https://api.cal.com/v2.",
        "question": "Can an agent call Acuity Scheduling API and Cal.com API v2 + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A business that already takes bookings in Acuity and wants an agent to check slots, book, move and cancel appointments for clients, including classes, packages and intake forms.",
        "slug": "acuity-scheduling",
        "watchFor": "The pricing page lists custom API access on Premium only, $61 a month or $49 billed yearly"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 76 against 56",
          "Agent ergonomics, 50 against 44",
          "Security \u0026 auth, 56 against 27",
          "Maintenance \u0026 community, 50 against 15",
          "Transparency \u0026 trust, 78 against 54"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.",
        "slug": "cal-com",
        "watchFor": "API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings"
      }
    ],
    "job": {
      "capability": "calendar.read",
      "name": "Calendar read"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.json",
        "title": "Acuity Scheduling API vs Apiroc Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar.json",
        "title": "Acuity Scheduling API vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-calendly.json",
        "title": "Acuity Scheduling API vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cronofy.json",
        "title": "Acuity Scheduling API vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-google-calendar-api.json",
        "title": "Acuity Scheduling API vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar.json",
        "title": "Acuity Scheduling API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-nylas-calendar.json",
        "title": "Acuity Scheduling API vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-cal-com.json",
        "title": "Apiroc Unified Calendar API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.json",
        "title": "Aurinko Calendar API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-calendly.json",
        "title": "Cal.com API v2 + MCP vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-cronofy.json",
        "title": "Cal.com API v2 + MCP vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.json",
        "title": "Cal.com API v2 + MCP vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.json",
        "title": "Cal.com API v2 + MCP vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.json",
        "title": "Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar"
      }
    ],
    "scores": [
      {
        "acuity-scheduling": 58,
        "by": 2,
        "cal-com": 60,
        "edge": "cal-com",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 56,
        "by": 20,
        "cal-com": 76,
        "edge": "cal-com",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "acuity-scheduling": 44,
        "by": 6,
        "cal-com": 50,
        "edge": "cal-com",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "acuity-scheduling": 27,
        "by": 29,
        "cal-com": 56,
        "edge": "cal-com",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "acuity-scheduling": 30,
        "by": 0,
        "cal-com": 30,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 15,
        "by": 35,
        "cal-com": 50,
        "edge": "cal-com",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "acuity-scheduling": 54,
        "by": 24,
        "cal-com": 78,
        "edge": "cal-com",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Cal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories. Both do calendar read.",
    "verdicts": {
      "acuity-scheduling": "The API covers the full booking cycle, with availability checks, named error codes and signed webhooks retried for 24 hours. API access is sold only on the Premium plan at $61 a month, the single OAuth scope grants the whole account, and no changelog, idempotency key or audit log was found in the reviewed documentation.",
      "cal-com": "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE. API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com",
    "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.md",
    "slim": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.min.md"
  },
  "markdown": "Cal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories. Both do calendar read.\n\n- Acuity Scheduling API: grade E, 42.4/100, rank #678 of 722. Markdown https://www.anchorterminal.com/tools/acuity-scheduling.md · JSON https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json\n- Cal.com API v2 + MCP: grade C, 57.2/100, rank #480 of 722. Markdown https://www.anchorterminal.com/tools/cal-com.md · JSON https://www.anchorterminal.com/api/v1/tools/cal-com.json\n\n## Which one, for what\n\n### Acuity Scheduling API (E)\n\nGood for: A business that already takes bookings in Acuity and wants an agent to check slots, book, move and cancel appointments for clients, including classes, packages and intake forms.\n\nWatch for: The pricing page lists custom API access on Premium only, $61 a month or $49 billed yearly\n\n### Cal.com API v2 + MCP (C)\n\nGood for: An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.\n\nAhead on:\n- Schema \u0026 documentation, 76 against 56\n- Agent ergonomics, 50 against 44\n- Security \u0026 auth, 56 against 27\n- Maintenance \u0026 community, 50 against 15\n- Transparency \u0026 trust, 78 against 54\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings\n\n\n## Score by category\n\n| Category | Weight | Acuity Scheduling API | Cal.com API v2 + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 60 | Cal.com API v2 + MCP +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 56 | 76 | Cal.com API v2 + MCP +20 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 50 | Cal.com API v2 + MCP +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 27 | 56 | Cal.com API v2 + MCP +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 50 | Cal.com API v2 + MCP +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 78 | Cal.com API v2 + MCP +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.4 · E** | **57.2 · C** | |\n\n## Facts side by side\n\n| Fact | Acuity Scheduling API | Cal.com API v2 + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Squarespace | Cal.com |\n| Hosted endpoint | `https://acuityscheduling.com/api/v1` | `https://api.cal.com/v2` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Squarespace's Developer Terms. The Node.js and PHP SDKs are MIT | Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence |\n| Tools exposed | none | 63 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-09-15 |\n| Terms last updated | 2025-12-16 | no date given |\n| Privacy policy last updated | no date given | 2026-10-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 9.2k npm/wk | 30 stars, 786 npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Acuity Scheduling API.** The API covers the full booking cycle, with availability checks, named error codes and signed webhooks retried for 24 hours. API access is sold only on the Premium plan at $61 a month, the single OAuth scope grants the whole account, and no changelog, idempotency key or audit log was found in the reviewed documentation.\n\n**Cal.com API v2 + MCP.** OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE. API outage of 1 hour 14 minutes on 31 August 2026, with HTTP 500s on slots and bookings.\n\n## Before you call either\n\n### Acuity Scheduling API\n\n1. Call `/availability/dates` then `/availability/times` with `appointmentTypeID` before `POST /appointments`, which validates the slot as a client would\n2. Avoid `admin=true` unless the owner asks for it, because it skips availability and form validation\n3. Pass `noEmail=true` when a booking or cancellation must not send the client an email or SMS\n4. Check `GET /appointments` filtered by `email` and date before retrying a booking, since no idempotency key is documented\n5. Stay under 10 requests a second and 20 concurrent connections per IP, and back off on 429, which carries no documented `Retry-After`\n\n### Cal.com API v2 + MCP\n\n1. Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version\n2. Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools\n3. Page bookings with `pagination.nextCursor`, not offsets\n4. Check for an existing booking before retrying a create, since there's no idempotency key\n5. Use `cal_` test keys while building so bookings don't reach real calendars\n\n## Questions\n\n### Which is better for AI agents, Acuity Scheduling API or Cal.com API v2 + MCP?\n\nCal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories.\n\n### Do Acuity Scheduling API and Cal.com API v2 + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Acuity Scheduling API and Cal.com API v2 + MCP without installing anything?\n\nYes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Cal.com API v2 + MCP at https://api.cal.com/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.json, and with the fewest tokens: https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"acuity-scheduling\", \"b\": \"cal-com\"}`. From a terminal: `anchor compare acuity-scheduling cal-com`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json and https://www.anchorterminal.com/api/v1/tools/cal-com.json\n\n## Other comparisons with Acuity Scheduling API or Cal.com API v2 + MCP\n\n- [Acuity Scheduling API vs Apiroc Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.md)\n- [Acuity Scheduling API vs Aurinko Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar.md)\n- [Acuity Scheduling API vs Calendly API + MCP](https://www.anchorterminal.com/compare/acuity-scheduling-vs-calendly.md)\n- [Acuity Scheduling API vs Cronofy API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-cronofy.md)\n- [Acuity Scheduling API vs Google Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-google-calendar-api.md)\n- [Acuity Scheduling API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar.md)\n- [Acuity Scheduling API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-nylas-calendar.md)\n- [Apiroc Unified Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/apiroc-vs-cal-com.md)\n- [Aurinko Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.md)\n- [Cal.com API v2 + MCP vs Calendly API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-calendly.md)\n- [Cal.com API v2 + MCP vs Cronofy API](https://www.anchorterminal.com/compare/cal-com-vs-cronofy.md)\n- [Cal.com API v2 + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.md)\n- [Cal.com API v2 + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.md)\n- [Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.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": "Acuity Scheduling API vs Cal.com API v2 + MCP",
        "url": ""
      }
    ],
    "description": "Cal.com API v2 + MCP scores 57.2 (C) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 6 of 7 scored categories. Both do calendar read. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Acuity Scheduling API E 42.4",
      "Cal.com API v2 + MCP C 57.2",
      "scores"
    ],
    "h1": "Acuity Scheduling API vs Cal.com API v2 + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-acuity-scheduling-vs-cal-com.png",
    "path": "/compare/acuity-scheduling-vs-cal-com",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Acuity Scheduling API vs Cal.com API v2 + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 680
  },
  "version": 1
}
