{
  "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": 894,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 9,
        "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-10T02:54:44.636143787Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 469,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 473,
          "p95ms24h": 539,
          "samples24h": 249,
          "samples30d": 330,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.acuityscheduling.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:49:54.877281878Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "acuityscheduling",
            "version": "0.1.9",
            "seenAt": "2026-10-09T16:36:18.684992205Z"
          }
        ],
        "githubStars": 36,
        "npmWeekly": 5736,
        "securityTxt": {
          "url": "https://acuityscheduling.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:19.856656458Z"
        },
        "llmsTxt": {
          "url": "https://developers.acuityscheduling.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:05.026706419Z"
        },
        "pages": [
          {
            "url": "https://acuityscheduling.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:32:11.794348872Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4232972683ac"
          },
          {
            "url": "https://www.squarespace.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:54:33.477903681Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1191d33427f4"
          },
          {
            "url": "https://www.squarespace.com/developer-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:54:31.208240698Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d24e153bb1e1"
          }
        ],
        "updatedAt": "2026-10-10T02:54:44.636143787Z"
      }
    },
    "answer": "Zoom Scheduler API scores 50.6 (D) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 5 of 7 scored categories. Acuity Scheduling API leads on payments \u0026 pricing.",
    "b": {
      "slug": "zoom-scheduler",
      "name": "Zoom Scheduler API",
      "vendor": "Zoom Communications, Inc.",
      "vendorUrl": "https://www.zoom.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Zoom's REST API for Zoom Scheduler, its appointment booking product. It reads schedules, availability and scheduled events, lists open slots, creates and cancels bookings and sends booking webhooks, with OAuth access on api.zoom.us.",
      "url": "https://www.anchorterminal.com/tools/zoom-scheduler",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json",
      "license": "Proprietary service under the Zoom API Licence and Terms of Use",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.zoom.us/v2",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only. A person creates an app in the Zoom App Marketplace and picks Scheduler scopes. User apps use the authorisation code grant (PKCE supported) and get one-hour access tokens with 90-day refresh tokens. Server-to-Server OAuth apps exchange an account ID, client ID and client secret for a one-hour token with no user step, and an account administrator authorises the scopes. Granular scopes exist per operation, each with an `:admin` variant. The docs show refresh tokens and device codes sent as URL query parameters as one option.",
      "pricing": "paid",
      "pricingNotes": "Scheduler costs $5.99 a user a month, or $4.99 billed yearly, and is included in Workplace Business ($21.99 monthly). The pricing page lists \"Connect to Scheduler APIs\" under the paid Scheduler plan. Scheduler Basic is free with no card, with one booking page and one calendar, and whether it can call the API was not established. A 14-day trial is advertised. No per-call charge was found (checked 2026-10-09).",
      "priceSummary": "$5.99 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Scheduler reference, the rate limit and OAuth docs or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.zoom.us/docs/api/scheduler/",
      "llmsTxt": "https://developers.zoom.us/llms.txt",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-plan",
        "rest",
        "oauth",
        "webhooks",
        "llms-txt",
        "closed-source",
        "status-page",
        "soc2",
        "bug-bounty"
      ],
      "lastRelease": "2026-08-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.6,
        "grade": "D",
        "agentReady": false,
        "rank": 767,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 43,
          "maintenance": 28,
          "payments": 25,
          "reliability": 63,
          "schema": 61,
          "security": 54,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service.",
        "bestFor": "An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and two webhooks.",
        "strengths": [
          "Granular OAuth scopes per operation, with separate read, write, update and delete scopes and user and admin variants",
          "A slot lookup (`GET /scheduler/schedules/{scheduleId}/available_times`) and a booking call (`POST /scheduler/attendee`), added in July and June 2026",
          "llms.txt and a Markdown copy of the full reference, with request examples and 400, 401, 404, 409, 429 and 500 responses listed",
          "Rate limits published by plan. Every Scheduler operation is labelled Light, 30 requests a second on Pro",
          "SOC 2 Type 2 report (October 2024 to October 2025) names Zoom Scheduler and Zoom APIs in scope, and security.txt is valid to 2029"
        ],
        "weaknesses": [
          "Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run",
          "No operation moves a booking. `PATCH /scheduler/events/{eventId}` changes status, notes and no-show marks only",
          "No idempotency key or safe-retry guidance for booking writes was found in the reviewed documentation",
          "No official SDK covers Scheduler. Zoom Rivet 0.3.0 has no Scheduler module",
          "No downloadable OpenAPI file is linked, and the Markdown reference omits query and path parameters",
          "The API terms allow Zoom to change or deprecate APIs without prior notice and disclaim any uptime guarantee"
        ],
        "agentNotes": [
          "Call `GET /scheduler/schedules/{scheduleId}/available_times` and book only a spot whose status is `available`",
          "Send `start_date_time` in ISO 8601 with the booker's IANA `time_zone` to `POST /scheduler/attendee`. Expect 409 on a conflict",
          "To move a booking, cancel it with `PATCH /scheduler/events/{eventId}` and `status` set to `cancelled`, then book the new slot",
          "List scheduled events before retrying a booking, because no idempotency key is documented",
          "Request a new Server-to-Server OAuth token every hour. That grant issues no refresh token"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.6
          }
        ],
        "editorialScores": {
          "ergonomics": 43,
          "maintenance": 28,
          "payments": 25,
          "reliability": 63,
          "schema": 61,
          "security": 54,
          "transparency": 59
        },
        "provenanceScore": 79
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer $ZOOM_ACCESS_TOKEN\" \"https://api.zoom.us/v2/scheduler/schedules\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/zoom-scheduler"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Zoom Scheduler (the plan that lists Scheduler API access)",
          "unit": "seat-month",
          "usd": 5.99,
          "note": "Monthly billing. $4.99 a user a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Zoom Communications, Inc.",
        "domain": "zoom.us",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoom.com/en/trust/legal/zoom-api-license-and-tou/",
        "privacy": "https://www.zoom.com/en/trust/privacy/privacy-statement/",
        "statusPage": "https://status.zoom.us",
        "changelog": "https://developers.zoom.us/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The Zoom API Licence and Terms of Use (last updated 16 July 2025) and the Privacy Statement (last updated 17 September 2026) both name Zoom Communications, Inc., 55 Almaden Blvd, Suite 600, San Jose, CA 95113.",
          "The API answers at https://api.zoom.us/v2 and tokens are issued at https://zoom.us/oauth/token. Legal pages sit on www.zoom.com.",
          "zoom.us/.well-known/security.txt gives a report form, security-reports@zoom.us, a PGP key and an expiry of 31 December 2029.",
          "status.zoom.us redirects to www.zoomstatus.com, an Atlassian Statuspage site.",
          "The registration date of zoom.us was not established. rdap.org answered 404 for the domain.",
          "The account holder's use of Scheduler itself falls under the Zoom Terms of Service (effective 11 August 2023), which the API terms cite for the definition of Customer Content."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoom-scheduler.json",
      "live": {
        "slug": "zoom-scheduler",
        "probe": {
          "target": "https://api.zoom.us/v2",
          "method": "get",
          "lastAt": "2026-10-10T02:55:17.437288099Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 154,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 176,
          "p95ms24h": 404,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.zoom.us",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-10T02:50:53.67169235Z"
        },
        "pages": [
          {
            "url": "https://developers.zoom.us/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:20.102873356Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.zoom.com/en/trust/privacy/privacy-statement/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:56:06.989690084Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "91c109d39062"
          },
          {
            "url": "https://www.zoom.com/en/trust/legal/zoom-api-license-and-tou/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:56:04.552901735Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c294e7e03b58"
          }
        ],
        "updatedAt": "2026-10-10T02:55:17.437288099Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Squarespace",
        "b": "Zoom Communications, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://acuityscheduling.com/api/v1",
        "b": "https://api.zoom.us/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "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 service under the Zoom API Licence and Terms of Use",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-08-17",
        "name": "Last release"
      },
      {
        "a": "2025-12-16",
        "b": "2025-07-16",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-09-17",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.2k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Zoom Scheduler API scores 50.6 (D) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 5 of 7 scored categories. Acuity Scheduling API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Acuity Scheduling API or Zoom Scheduler API?"
      },
      {
        "answer": "Acuity Scheduling API takes an API key or an OAuth sign-in. Zoom Scheduler API uses an OAuth sign-in.",
        "question": "Do Acuity Scheduling API and Zoom Scheduler API need an API key?"
      },
      {
        "answer": "Yes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Zoom Scheduler API at https://api.zoom.us/v2.",
        "question": "Can an agent call Acuity Scheduling API and Zoom Scheduler API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 25"
        ],
        "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": [
          "Reliability, 63 against 58",
          "Schema \u0026 documentation, 61 against 56",
          "Security \u0026 auth, 54 against 27",
          "Maintenance \u0026 community, 28 against 15",
          "Transparency \u0026 trust, 69 against 54"
        ],
        "also": null,
        "goodFor": "An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and two webhooks.",
        "slug": "zoom-scheduler",
        "watchFor": "Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run"
      }
    ],
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "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-cal-com.json",
        "title": "Acuity Scheduling API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com"
      },
      {
        "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-zoom-scheduler.json",
        "title": "Apiroc Unified Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler.json",
        "title": "Aurinko Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.json",
        "title": "Cal.com API v2 + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler.json",
        "title": "Calendly API + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler.json",
        "title": "Cronofy API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler.json",
        "title": "Google Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.json",
        "title": "Microsoft Graph Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler.json",
        "title": "Nylas Calendar and Scheduler API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler"
      }
    ],
    "scores": [
      {
        "acuity-scheduling": 58,
        "by": 5,
        "edge": "zoom-scheduler",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zoom-scheduler": 63
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 56,
        "by": 5,
        "edge": "zoom-scheduler",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zoom-scheduler": 61
      },
      {
        "acuity-scheduling": 44,
        "by": 1,
        "edge": "acuity-scheduling",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zoom-scheduler": 43
      },
      {
        "acuity-scheduling": 27,
        "by": 27,
        "edge": "zoom-scheduler",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zoom-scheduler": 54
      },
      {
        "acuity-scheduling": 30,
        "by": 5,
        "edge": "acuity-scheduling",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zoom-scheduler": 25
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 15,
        "by": 13,
        "edge": "zoom-scheduler",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zoom-scheduler": 28
      },
      {
        "acuity-scheduling": 54,
        "by": 15,
        "edge": "zoom-scheduler",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zoom-scheduler": 69
      }
    ],
    "summary": "Zoom Scheduler API scores 50.6 (D) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 5 of 7 scored categories. Acuity Scheduling API leads on payments \u0026 pricing. Both do calendar access.",
    "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.",
      "zoom-scheduler": "Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler",
    "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.md",
    "slim": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.min.md"
  },
  "markdown": "Zoom Scheduler API scores 50.6 (D) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 5 of 7 scored categories. Acuity Scheduling API leads on payments \u0026 pricing. Both do calendar access.\n\n- Acuity Scheduling API: grade E, 42.4/100, rank #894 of 950. Markdown https://www.anchorterminal.com/tools/acuity-scheduling.md · JSON https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json\n- Zoom Scheduler API: grade D, 50.6/100, rank #767 of 950. Markdown https://www.anchorterminal.com/tools/zoom-scheduler.md · JSON https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 45 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\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\nAhead on:\n- Payments \u0026 pricing, 30 against 25\n\nWatch for: The pricing page lists custom API access on Premium only, $61 a month or $49 billed yearly\n\n### Zoom Scheduler API (D)\n\nGood for: An agent booking into a Zoom Scheduler user's or team's booking pages, with slot lookup, booking, cancellation and two webhooks.\n\nAhead on:\n- Reliability, 63 against 58\n- Schema \u0026 documentation, 61 against 56\n- Security \u0026 auth, 54 against 27\n- Maintenance \u0026 community, 28 against 15\n- Transparency \u0026 trust, 69 against 54\n\nWatch for: Zoom's API terms (section 3.7.9) forbid using the APIs to monitor availability or performance, or for benchmarking. This matters before any probe is run\n\n\n## Score by category\n\n| Category | Weight | Acuity Scheduling API | Zoom Scheduler API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 63 | Zoom Scheduler API +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 56 | 61 | Zoom Scheduler API +5 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 43 | Acuity Scheduling API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 27 | 54 | Zoom Scheduler API +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 25 | Acuity Scheduling API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 28 | Zoom Scheduler API +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 69 | Zoom Scheduler API +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.4 · E** | **50.6 · D** | |\n\n## Facts side by side\n\n| Fact | Acuity Scheduling API | Zoom Scheduler API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Squarespace | Zoom Communications, Inc. |\n| Hosted endpoint | `https://acuityscheduling.com/api/v1` | `https://api.zoom.us/v2` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Squarespace's Developer Terms. The Node.js and PHP SDKs are MIT | Proprietary service under the Zoom API Licence and Terms of Use |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-08-17 |\n| Terms last updated | 2025-12-16 | 2025-07-16 |\n| Privacy policy last updated | no date given | 2026-09-17 |\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 | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 9.2k npm/wk | none |\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**Zoom Scheduler API.** Each of the 24 operations has its own granular OAuth scope, and Zoom Scheduler and the REST API are separate components on the status page. No operation moves a booking, no official SDK covers Scheduler, and Zoom's API terms forbid benchmarking or monitoring the service.\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### Zoom Scheduler API\n\n1. Call `GET /scheduler/schedules/{scheduleId}/available_times` and book only a spot whose status is `available`\n2. Send `start_date_time` in ISO 8601 with the booker's IANA `time_zone` to `POST /scheduler/attendee`. Expect 409 on a conflict\n3. To move a booking, cancel it with `PATCH /scheduler/events/{eventId}` and `status` set to `cancelled`, then book the new slot\n4. List scheduled events before retrying a booking, because no idempotency key is documented\n5. Request a new Server-to-Server OAuth token every hour. That grant issues no refresh token\n\n## Questions\n\n### Which is better for AI agents, Acuity Scheduling API or Zoom Scheduler API?\n\nZoom Scheduler API scores 50.6 (D) on agent readiness against Acuity Scheduling API's 42.4 (E), and leads in 5 of 7 scored categories. Acuity Scheduling API leads on payments \u0026 pricing.\n\n### Do Acuity Scheduling API and Zoom Scheduler API need an API key?\n\nAcuity Scheduling API takes an API key or an OAuth sign-in. Zoom Scheduler API uses an OAuth sign-in.\n\n### Can an agent call Acuity Scheduling API and Zoom Scheduler API without installing anything?\n\nYes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Zoom Scheduler API at https://api.zoom.us/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.json, and with the fewest tokens: https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"acuity-scheduling\", \"b\": \"zoom-scheduler\"}`. From a terminal: `anchor compare acuity-scheduling zoom-scheduler`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json and https://www.anchorterminal.com/api/v1/tools/zoom-scheduler.json\n\n## Other comparisons with Acuity Scheduling API or Zoom Scheduler API\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 Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.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 Zoom Scheduler API](https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler.md)\n- [Aurinko Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler.md)\n- [Cal.com API v2 + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.md)\n- [Calendly API + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-zoom-scheduler.md)\n- [Cronofy API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cronofy-vs-zoom-scheduler.md)\n- [Google Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler.md)\n- [Microsoft Graph Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.md)\n- [Nylas Calendar and Scheduler API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/nylas-calendar-vs-zoom-scheduler.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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 Zoom Scheduler API",
        "url": ""
      }
    ],
    "description": "Zoom Scheduler scores 50.6 (D) to Acuity Scheduling's 42.4 (E) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Acuity Scheduling API E 42.4",
      "Zoom Scheduler API D 50.6",
      "scores"
    ],
    "h1": "Acuity Scheduling API vs Zoom Scheduler API",
    "image": "https://www.anchorterminal.com/assets/og/compare-acuity-scheduling-vs-zoom-scheduler.png",
    "path": "/compare/acuity-scheduling-vs-zoom-scheduler",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Acuity Scheduling vs Zoom Scheduler for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-zoom-scheduler"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 630
  },
  "version": 1
}
