{
  "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:12:02.913876422Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 444,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 478,
          "p95ms24h": 504,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.acuityscheduling.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:05:50.494732133Z"
        },
        "updatedAt": "2026-10-08T21:12:02.913876422Z"
      }
    },
    "answer": "Acuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "apiroc",
      "name": "Apiroc Unified Calendar API",
      "vendor": "Apiroc",
      "vendorUrl": "https://www.apiroc.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Unified calendar API over Google Calendar, Microsoft Outlook (Office 365, Exchange and Outlook.com) and iCloud.",
      "url": "https://www.anchorterminal.com/tools/apiroc",
      "markdownUrl": "https://www.anchorterminal.com/tools/apiroc.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/apiroc.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apiroc.json",
      "repo": "https://github.com/OneCal/unified-calendar-api-node-sdk",
      "license": "MIT (Node SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.apiroc.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@apiroc/unified-calendar-api-node-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Your application calls the API with an `x-api-key` header, server side only. End users connect Google and Microsoft accounts through OAuth 2.0 and iCloud with an app-specific password.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 a month for up to 10 end-user accounts at 20 requests a second, no card. Pro $25 a month with 50 end-user accounts, then $0.50 per account a month, at 300 requests a second and licensed for production use. Enterprise is custom with volume discounts and custom rate limits. Every plan has unlimited API requests and webhooks (https://www.apiroc.com/pricing).",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 26,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.apiroc.com",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "webhooks",
        "typescript"
      ],
      "lastRelease": "2026-08-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.1,
        "grade": "E",
        "agentReady": false,
        "rank": 683,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.",
        "bestFor": "A small product or an agent builder that needs read and write across Google, Microsoft and iCloud for tens to hundreds of accounts on a tight budget.",
        "strengths": [
          "$0.50 per connected account a month after 50 on Pro, with unlimited requests",
          "Free plan for 10 accounts with no card",
          "Google, Outlook (Office 365, Exchange, Outlook.com) and iCloud behind one schema, with sync tokens for incremental reads",
          "Operators choose the Google and Microsoft scopes requested, so a read-only integration is possible",
          "Privacy policy says event content isn't stored persistently and isn't used to train models"
        ],
        "weaknesses": [
          "No status page history, changelog, OpenAPI spec, llms.txt or security.txt",
          "One application key reaches every connected account, with no key scopes documented",
          "No SLA on any plan, and no 429 or retry guidance in the docs",
          "Svix handles webhook delivery but isn't on the sub-processor list",
          "Node.js is the only SDK"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header from a server, never a browser",
          "Call api.apiroc.com, since the SDK's old default host was api.onecalunified.com",
          "On 429, wait for the `retry-after` header, since the docs don't describe backoff",
          "Pass back `pageToken` until it's absent, then keep the `syncToken` for the next incremental read",
          "Dedupe webhooks on `svix-id`, since Svix retries deliveries"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.1
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 51
        },
        "provenanceScore": 48
      },
      "connect": {
        "http": "curl -G https://api.apiroc.com/api/v1/endUserAccounts -H \"x-api-key: $APIROC_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/apiroc"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 25,
          "note": "50 end-user accounts included"
        },
        {
          "item": "Extra end-user account on Pro",
          "unit": "account-month",
          "usd": 0.5
        }
      ],
      "provenance": {
        "legalEntity": "UTC Labs",
        "domain": "apiroc.com",
        "domainRegistered": "2026-04-09",
        "domainNote": "apiroc.com was registered on 2026-04-09. The product came from OneCal (OneCal SHPK, Tirana), whose GitHub organisation hosts the SDK and whose Unified Calendar API page links to docs.apiroc.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.apiroc.com/tos",
        "privacy": "https://www.apiroc.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms (updated 24 August 2026) name UTC Labs at Durana Tech Park, Shijak, Albania, under Albanian law, with contact@utclabs.com as the contact. No company form or registration number is given.",
          "onecal.io's privacy policy names OneCal SHPK in Tirana. Neither site names the other's entity.",
          "status.apiroc.com doesn't resolve. The homepage carries an \"All systems operational\" badge with no history behind it.",
          "www.apiroc.com/.well-known/security.txt returned 404 on the 30 September check, and docs.apiroc.com/llms.txt returned 404."
        ],
        "score": 48
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/apiroc.json",
      "live": {
        "slug": "apiroc",
        "probe": {
          "target": "https://api.apiroc.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T21:12:04.022577286Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 266,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 250,
          "p95ms24h": 332,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "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": 239,
              "ok": 239
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@apiroc/unified-calendar-api-node-sdk",
            "version": "2.1.0",
            "seenAt": "2026-10-08T15:59:09.382592503Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 10,
        "securityTxt": {
          "url": "https://apiroc.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:55.19547108Z"
        },
        "domain": {
          "domain": "apiroc.com",
          "registered": "2026-04-09",
          "source": "https://rdap.verisign.com/com/v1/domain/apiroc.com",
          "checkedAt": "2026-10-04T13:10:05.921989529Z"
        },
        "pages": [
          {
            "url": "https://www.apiroc.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:12.375413176Z",
            "changedAt": "2026-10-08T18:26:12.375413176Z",
            "fingerprint": "559e540280f7"
          },
          {
            "url": "https://www.apiroc.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:14.685364242Z",
            "changedAt": "2026-10-08T18:26:14.685364242Z",
            "fingerprint": "c6a9b3271bea"
          },
          {
            "url": "https://www.apiroc.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:16.746229765Z",
            "changedAt": "2026-10-08T18:26:16.746229765Z",
            "fingerprint": "8fc649f03b2d"
          }
        ],
        "updatedAt": "2026-10-08T21:12:04.022577286Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Squarespace",
        "b": "Apiroc",
        "name": "Vendor"
      },
      {
        "a": "https://acuityscheduling.com/api/v1",
        "b": "https://api.apiroc.com/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "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": "MIT (Node SDK)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-08-05",
        "name": "Last release"
      },
      {
        "a": "2025-12-16",
        "b": "2026-08-24",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-08-24",
        "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": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9.2k npm/wk",
        "b": "26 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Acuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Acuity Scheduling API or Apiroc Unified Calendar API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Acuity Scheduling API and Apiroc Unified Calendar API need an API key?"
      },
      {
        "answer": "Yes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Apiroc Unified Calendar API at https://api.apiroc.com/api/v1.",
        "question": "Can an agent call Acuity Scheduling API and Apiroc Unified Calendar API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 58 against 35",
          "Schema \u0026 documentation, 56 against 44",
          "Security \u0026 auth, 27 against 21"
        ],
        "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": [
          "Agent ergonomics, 52 against 44",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 62 against 15"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "A small product or an agent builder that needs read and write across Google, Microsoft and iCloud for tens to hundreds of accounts on a tight budget.",
        "slug": "apiroc",
        "watchFor": "No status page history, changelog, OpenAPI spec, llms.txt or security.txt"
      }
    ],
    "job": {
      "capability": "calendar.read",
      "name": "Calendar read"
    },
    "others": [
      {
        "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-aurinko-calendar.json",
        "title": "Apiroc Unified Calendar API vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-aurinko-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/apiroc-vs-calendly.json",
        "title": "Apiroc Unified Calendar API vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-cronofy.json",
        "title": "Apiroc Unified Calendar API vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-google-calendar-api.json",
        "title": "Apiroc Unified Calendar API vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.json",
        "title": "Apiroc Unified Calendar API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-nylas-calendar.json",
        "title": "Apiroc Unified Calendar API vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-nylas-calendar"
      }
    ],
    "scores": [
      {
        "acuity-scheduling": 58,
        "apiroc": 35,
        "by": 23,
        "edge": "acuity-scheduling",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 56,
        "apiroc": 44,
        "by": 12,
        "edge": "acuity-scheduling",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "acuity-scheduling": 44,
        "apiroc": 52,
        "by": 8,
        "edge": "apiroc",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "acuity-scheduling": 27,
        "apiroc": 21,
        "by": 6,
        "edge": "acuity-scheduling",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "acuity-scheduling": 30,
        "apiroc": 40,
        "by": 10,
        "edge": "apiroc",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "acuity-scheduling": 15,
        "apiroc": 62,
        "by": 47,
        "edge": "apiroc",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "acuity-scheduling": 54,
        "apiroc": 50,
        "by": 4,
        "edge": "acuity-scheduling",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Acuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. 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.",
      "apiroc": "$0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc",
    "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.md",
    "slim": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.min.md"
  },
  "markdown": "Acuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. 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- Apiroc Unified Calendar API: grade E, 41.1/100, rank #683 of 722. Markdown https://www.anchorterminal.com/tools/apiroc.md · JSON https://www.anchorterminal.com/api/v1/tools/apiroc.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\nAhead on:\n- Reliability, 58 against 35\n- Schema \u0026 documentation, 56 against 44\n- Security \u0026 auth, 27 against 21\n\nWatch for: The pricing page lists custom API access on Premium only, $61 a month or $49 billed yearly\n\n### Apiroc Unified Calendar API (E)\n\nGood for: A small product or an agent builder that needs read and write across Google, Microsoft and iCloud for tens to hundreds of accounts on a tight budget.\n\nAhead on:\n- Agent ergonomics, 52 against 44\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 62 against 15\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No status page history, changelog, OpenAPI spec, llms.txt or security.txt\n\n\n## Score by category\n\n| Category | Weight | Acuity Scheduling API | Apiroc Unified Calendar API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 35 | Acuity Scheduling API +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 56 | 44 | Acuity Scheduling API +12 |\n| Agent ergonomics | 13% (16.2 this run) | 44 | 52 | Apiroc Unified Calendar API +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 27 | 21 | Acuity Scheduling API +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Apiroc Unified Calendar API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 62 | Apiroc Unified Calendar API +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 50 | Acuity Scheduling API +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.4 · E** | **41.1 · E** | |\n\n## Facts side by side\n\n| Fact | Acuity Scheduling API | Apiroc Unified Calendar API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Squarespace | Apiroc |\n| Hosted endpoint | `https://acuityscheduling.com/api/v1` | `https://api.apiroc.com/api/v1` |\n| Transports | HTTP | HTTP |\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 | MIT (Node SDK) |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | none | 2026-08-05 |\n| Terms last updated | 2025-12-16 | 2026-08-24 |\n| Privacy policy last updated | no date given | 2026-08-24 |\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 | not found in the text |\n| Popularity | 9.2k npm/wk | 26 npm/wk |\n| Agent reviews | none | 2/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**Apiroc Unified Calendar API.** $0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.\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### Apiroc Unified Calendar API\n\n1. Send the key in the `x-api-key` header from a server, never a browser\n2. Call api.apiroc.com, since the SDK's old default host was api.onecalunified.com\n3. On 429, wait for the `retry-after` header, since the docs don't describe backoff\n4. Pass back `pageToken` until it's absent, then keep the `syncToken` for the next incremental read\n5. Dedupe webhooks on `svix-id`, since Svix retries deliveries\n\n## Questions\n\n### Which is better for AI agents, Acuity Scheduling API or Apiroc Unified Calendar API?\n\nAcuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Acuity Scheduling API and Apiroc Unified Calendar API 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 Apiroc Unified Calendar API without installing anything?\n\nYes. Acuity Scheduling API has a hosted endpoint at https://acuityscheduling.com/api/v1 and Apiroc Unified Calendar API at https://api.apiroc.com/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.json, and with the fewest tokens: https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"acuity-scheduling\", \"b\": \"apiroc\"}`. From a terminal: `anchor compare acuity-scheduling apiroc`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/acuity-scheduling.json and https://www.anchorterminal.com/api/v1/tools/apiroc.json\n\n## Other comparisons with Acuity Scheduling API or Apiroc Unified Calendar API\n\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 Aurinko Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-aurinko-calendar.md)\n- [Apiroc Unified Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/apiroc-vs-cal-com.md)\n- [Apiroc Unified Calendar API vs Calendly API + MCP](https://www.anchorterminal.com/compare/apiroc-vs-calendly.md)\n- [Apiroc Unified Calendar API vs Cronofy API](https://www.anchorterminal.com/compare/apiroc-vs-cronofy.md)\n- [Apiroc Unified Calendar API vs Google Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-google-calendar-api.md)\n- [Apiroc Unified Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.md)\n- [Apiroc Unified Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/apiroc-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 Apiroc Unified Calendar API",
        "url": ""
      }
    ],
    "description": "Acuity Scheduling API scores 42.4 (E) on agent readiness against Apiroc Unified Calendar API's 41.1 (E), and leads in 4 of 7 scored categories. Apiroc Unified Calendar API leads on agent ergonomics, payments \u0026 pricing and maintenance \u0026 community. Both do calendar read. Category…",
    "facts": [
      "Acuity Scheduling API E 42.4",
      "Apiroc Unified Calendar API E 41.1",
      "scores"
    ],
    "h1": "Acuity Scheduling API vs Apiroc Unified Calendar API",
    "image": "https://www.anchorterminal.com/assets/og/compare-acuity-scheduling-vs-apiroc.png",
    "path": "/compare/acuity-scheduling-vs-apiroc",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Acuity Scheduling API vs Apiroc Unified Calendar API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
