{
  "data": {
    "a": {
      "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",
      "dns": "apiroc.grade.anchorterminal.com",
      "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.2,
        "grade": "E",
        "agentReady": false,
        "rank": 1191,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 51
        },
        "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.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.2
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 51
        },
        "provenanceScore": 51,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/apiroc.json",
      "live": {
        "slug": "apiroc",
        "probe": {
          "target": "https://api.apiroc.com/api/v1",
          "method": "get",
          "lastAt": "2026-11-04T22:02:24.845089584Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 256,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.98,
          "p50ms24h": 265,
          "p95ms24h": 374,
          "samples24h": 247,
          "samples30d": 8094,
          "days": [
            {
              "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": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 248
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 227,
              "ok": 227
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@apiroc/unified-calendar-api-node-sdk",
            "version": "2.1.0",
            "seenAt": "2026-11-04T19:58:30.965348374Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 27,
        "securityTxt": {
          "url": "https://apiroc.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:30.001832349Z"
        },
        "domain": {
          "domain": "apiroc.com",
          "registered": "2026-04-09",
          "source": "https://rdap.verisign.com/com/v1/domain/apiroc.com",
          "checkedAt": "2026-11-01T14:10:19.989916246Z"
        },
        "pages": [
          {
            "url": "https://www.apiroc.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:37:05.537410196Z",
            "changedAt": "2026-10-08T18:26:12.375413176Z",
            "fingerprint": "559e540280f7"
          },
          {
            "url": "https://www.apiroc.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:37:08.543828187Z",
            "changedAt": "2026-10-08T18:26:14.685364242Z",
            "fingerprint": "c6a9b3271bea"
          },
          {
            "url": "https://www.apiroc.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:37:09.978430121Z",
            "changedAt": "2026-10-08T18:26:16.746229765Z",
            "fingerprint": "8fc649f03b2d"
          }
        ],
        "github": {
          "repo": "onecal/unified-calendar-api-node-sdk",
          "checkedAt": "2026-11-02T09:11:52.122203326Z",
          "stars": 2,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-08T12:40:08Z",
          "openIssues": 0,
          "openPRs": 8,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0
        },
        "updatedAt": "2026-11-04T22:02:24.845089584Z"
      }
    },
    "answer": "Apiroc Unified Calendar API scores 41.2 (E) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 5 of 7 scored categories. YouCanBookMe API leads on transparency \u0026 trust.",
    "b": {
      "slug": "youcanbookme",
      "name": "YouCanBookMe API",
      "vendor": "AI Software (Capacity) UK Ltd, trading as YouCanBookMe",
      "vendorUrl": "https://youcanbook.me",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "YouCanBookMe is a booking-page service from the UK company of the same name, owned by Capacity since 2025. Its REST API manages account details, booking pages (profiles) and bookings over HTTP Basic auth, with webhooks from booking notifications.",
      "url": "https://www.anchorterminal.com/tools/youcanbookme",
      "markdownUrl": "https://www.anchorterminal.com/tools/youcanbookme.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/youcanbookme.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/youcanbookme.json",
      "dns": "youcanbookme.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.youcanbook.me/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "HTTP Basic authentication with the account email address or account ID as the username and an account API key as the password. Only the Account Owner can generate, view, copy or delete the key, under Account Password \u0026 Security \u003e Authentication and API, and the help centre says the API key is available on the Team plan. No scopes, expiry or per-user keys are described. Administrators and Contributors must ask the owner for the key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1 calendar, 1 booking page and 30 bookings a month, with YouCanBookMe branding. Individual $9, Professional $13 and Teams $18 a seat a month, with 10 per cent off yearly and 20 per cent off for two years ($7.20, $10.40 and $14.40), per the help centre's pricing article. 14-day trial of every feature with no card, per the pricing page. API access is listed under the Team plan; webhooks need Professional or Teams.",
      "priceSummary": "$9 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, in the help centre API and webhook articles or in the API's error response (checked 2026-11-03). The API reference itself could not be read.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://ycbm.stoplight.io/",
      "capabilities": [
        "calendar.booking",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "free-trial",
        "no-card",
        "api-key",
        "webhooks",
        "soc2",
        "iso27001",
        "uk",
        "closed-source"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 22.5,
        "grade": "F",
        "agentReady": false,
        "rank": 1286,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 13,
          "maintenance": 28,
          "payments": 30,
          "reliability": 15,
          "schema": 10,
          "security": 24,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified.",
        "bestFor": "A booking-page product for small businesses, closest to calendly and savvycal in scheduling.",
        "strengths": [
          "SOC 2 Type II and ISO/IEC 27001:2022 (certificate issued 20 February 2024) listed on the security page, with AES-256 at rest on AWS",
          "Free plan and a 14-day trial of every feature with no card",
          "Privacy notice (16 March 2026) states retention periods, 24 months for booking data by default, and says booking data is not used to train AI models",
          "Webhook notifications on six booking triggers with a JSON payload the user shapes, on Professional and Teams",
          "The API answers with a JSON error envelope carrying a code, message and status, and declares its version in an `x-api-version` header"
        ],
        "weaknesses": [
          "The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge",
          "One account-wide API key over HTTP Basic auth, created only by the Account Owner, with no scopes or expiry documented",
          "API access is listed only on the Team plan ($18 a seat a month)",
          "No rate limits, 429 handling, idempotency keys, OpenAPI file, llms.txt or official SDK were found",
          "No security.txt, bug bounty or disclosure policy, and the status page at youcanbookmestatus.com did not resolve for us"
        ],
        "agentNotes": [
          "Ask the Account Owner for the account ID and API key, since Administrators and Contributors cannot generate one, and send them as HTTP Basic credentials",
          "Read the API reference at ycbm.stoplight.io in a browser before planning calls; its endpoints and parameters were not readable to us",
          "Treat the key as full account access and keep it out of logs, since no scoped or read-only key is documented",
          "Expect a JSON error body with `code`, `message` and `status` on failures, and check for an existing booking before repeating a create, since no idempotency key is documented",
          "Use booking-page webhooks for booking, reschedule, cancel, reminder, follow-up and no-show events instead of polling"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 22.5
          }
        ],
        "editorialScores": {
          "ergonomics": 13,
          "maintenance": 28,
          "payments": 30,
          "reliability": 15,
          "schema": 10,
          "security": 24,
          "transparency": 52
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -u \"$YCBM_ACCOUNT_ID:$YCBM_API_KEY\" https://api.youcanbook.me/v1/profiles"
      },
      "letme": {
        "capability": "https://letme.dev/calendar.booking",
        "tool": "https://letme.dev/youcanbookme"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Individual",
          "unit": "seat-month",
          "usd": 9,
          "note": "$8.10 a month yearly, $7.20 over two years, per the help centre"
        },
        {
          "item": "Professional",
          "unit": "seat-month",
          "usd": 13,
          "note": "$11.70 a month yearly, $10.40 over two years"
        },
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 18,
          "note": "Per seat. $16.20 yearly, $14.40 over two years. The plan that lists API access"
        }
      ],
      "provenance": {
        "legalEntity": "AI Software (Capacity) UK Ltd",
        "domain": "youcanbook.me",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://youcanbook.me/terms",
        "privacy": "https://youcanbook.me/privacy",
        "statusPage": "https://www.youcanbookmestatus.com",
        "changelog": "https://youcanbook.me/product-updates",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 18 March 2026) name AI Software (Capacity) UK Ltd, trading as YouCanBookMe, under English law. Clause 15.3 bars data mining, robots and similar extraction tools without written consent, and clause 7.2 bars downloading the Site's software. Recorded as a fact; the public pages were read.",
          "The privacy notice (16 March 2026) gives company number 7221202, AWS hosting in the United States, a DPA on request through HelloSign, and retention of 24 months for booking data and up to 7 years for support messages.",
          "youcanbook.me/robots.txt disallows only HubSpot preview and preference paths. support.youcanbook.me/robots.txt disallows account, search and request paths; the API article there answered a Cloudflare challenge (403), which is the host's block, not a robots rule. ycbm.capacity.com and ycbm.stoplight.io allow all.",
          "The status page linked from youcanbook.me/help, www.youcanbookmestatus.com, did not resolve from our reader on 3 November 2026 (DNS), with or without www, so no incident history was read.",
          "youcanbook.me/.well-known/security.txt returns 404. The security page gives compliance@youcanbook.me as its contact.",
          "RDAP for youcanbook.me (rdap.nic.me) could not be reached from our shell, so the registration date is blank.",
          "The product updates page at youcanbook.me/product-updates is dated by month; its newest entry is September 2026 (registered SMS numbers), which lastRelease records as the first of that month."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/youcanbookme.json",
      "live": {
        "slug": "youcanbookme",
        "probe": {
          "target": "https://api.youcanbook.me/v1",
          "method": "get",
          "lastAt": "2026-11-04T22:03:06.892122606Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 409,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 220,
          "p95ms24h": 447,
          "samples24h": 68,
          "samples30d": 68,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 68,
              "ok": 68
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.youcanbookmestatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:27:01.611847667Z"
        },
        "securityTxt": {
          "url": "https://youcanbook.me/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:28.156243558Z"
        },
        "updatedAt": "2026-11-04T22:03:06.892122606Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "ergonomics",
        "leads": "apiroc",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Lists take `limit` and `pageToken`, and event reads return a `syncToken` for incremental sync (15). Pagination and sync tokens, with free/busy as a separate endpoint (15). Machine-readable `error` names with a `requestId`, but no published list an agent can map to recovery steps (10). No idempotency keys. Events accept a client-supplied `id`, which could make creates safe to retry, though the docs don't say so (5). Node is the only SDK. Python, PHP and Java are listed as on the way (7).",
          "b": "Response sizing, field selection and pagination are in the unread reference (3 of 25, 0 of 20). The error envelope names a machine code and a message an agent can branch on (8 of 20). No idempotency key or safe-retry guidance found (0 of 20). No official SDK, and the required parameters are unread (2 of 15). 3 + 0 + 8 + 0 + 2 = 13."
        },
        "scores": {
          "a": 52,
          "b": 13
        }
      },
      {
        "by": 34,
        "category": "schema",
        "leads": "apiroc",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI spec. A Postman collection is the only machine-readable contract (10). No llms.txt, per the 30 September check (0). Reference pages for five resources with parameters and cURL, TypeScript and Python examples, but little on when to use one endpoint over another (10). Typed inputs in the Node SDK and required fields marked in the docs (10). Examples throughout, and an errors page that gives only the shape (`error`, `message`, `requestId`) and the 2xx, 4xx and 5xx ranges, with no list of error names (9). `/v1` in the path but no changelog (5).",
          "b": "The reference lives on Stoplight at ycbm.stoplight.io, which usually renders an OpenAPI file, but our reader got only the workspace shell, and no spec file was found at the usual paths; the help centre article on support.youcanbook.me sat behind a Cloudflare challenge. Scored absent (0 of 25). No llms.txt on youcanbook.me, the help centre or the Stoplight host (0). Descriptions, typed inputs and required fields unread (0 of 20, 0 of 15). The one response we saw is a JSON envelope with `code`, `errors`, `httpCode`, `message` and `status`, and the help centre gives a worked webhook payload (4 of 15). A /v1 path and `x-api-version: 1.18` and `x-api-revision` headers, with a product updates page dated by month and no API changelog (6 of 15). 0 + 0 + 0 + 0 + 4 + 6 = 10."
        },
        "scores": {
          "a": 44,
          "b": 10
        }
      },
      {
        "by": 34,
        "category": "maintenance",
        "leads": "apiroc",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Node SDK v2.0.1 on 5 August 2026, 57 days before this check (20). Four SDK releases since 3 July (v1.2.2, v1.3.0, v2.0.0, v2.0.1) (20). No public changelog. Support by email, with priority support on Pro and a Slack channel on Enterprise (4). One current official SDK, in Node (10). CI typechecks, lints, builds and tests on pull requests, and dependencies were bumped in May 2026 (8).",
          "b": "Read as a closed service. The newest product update is dated September 2026 (registered SMS numbers), within 90 days but not 30, taking the month's first day (20 of 30). The previous entry is November 2025, so fewer than three in 90 days (0 of 20). A help centre, a community forum at forum.youcanbook.me and one-to-one support for paid users, with a product updates page that carries no API items (8 of 15). No official SDKs found (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28."
        },
        "scores": {
          "a": 62,
          "b": 28
        }
      },
      {
        "by": 20,
        "category": "reliability",
        "leads": "apiroc",
        "name": "Reliability",
        "reasons": {
          "a": "No public status page with history. status.apiroc.com doesn't resolve and the homepage shows only an \"All systems operational\" badge with a claim of 34B+ API calls (0). No readable incident history (5). Rate limits published with numbers, 20 requests a second in Sandbox and 300 in Production per application, plus 600 a minute per Google account and 1,000 a minute per Microsoft account (15). The docs don't mention 429 or Retry-After, though the official Node SDK reads a `retry-after` header on 429, and webhook docs say to dedupe on `svix-id` (5). The terms say availability can't be guaranteed, and no SLA was found on any plan (0). GA, with production use licensed on Pro (10).",
          "b": "Read with the hosted lines. The help page links a status page at www.youcanbookmestatus.com, but the host did not resolve from our reader with or without www on 3 November 2026, so it is scored as not established rather than as a finding about the vendor (0). No readable history (5). No rate limit with a number in the help centre articles, the pricing page or the API's own error response; the API reference could not be read (0). No 429 or retry guidance and no idempotency key found (0). No SLA, and the terms say the service is not guaranteed to be available 100 per cent of the time (0). The API reports version 1.18 in its headers and is sold on the Team plan, so generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15."
        },
        "scores": {
          "a": 35,
          "b": 15
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "apiroc",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and $0.50 per extra end-user account a month published without login (20). Free plan for 10 end-user accounts with no card (20). Browser signup and a dashboard key, no autonomous route (0).",
          "b": "No x402, MPP or L402 (0). Seat prices public in the help centre's pricing article (Individual $9, Professional $13, Teams $18 a month, less yearly and over two years); the pricing page's own figures did not render for us, and nothing is priced per call (10). A Free plan and a 14-day trial of every feature with no card (20). A person signs up in a browser and the Account Owner generates the key by hand (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 40,
          "b": 30
        }
      },
      {
        "by": 10,
        "category": "transparency",
        "leads": "youcanbookme",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with terms under Albanian law and an MIT Node SDK (15). Privacy policy (24 August 2026) says event content isn't stored persistently, application logs and analytics are kept 30 days, data isn't used to train models, and Google's Limited Use rules apply. A DPA is published. Webhooks are delivered through Svix, which isn't on the sub-processor list, and webhook message retention has no period (18). 30 days' notice for price rises and sub-processor changes, but no API deprecation policy (3). Five sub-processors listed with locations, and servers stated as US. Svix missing (15).",
          "b": "Closed service with terms (18 March 2026) naming AI Software (Capacity) UK Ltd under English law, which bar data-mining and robot tools without consent and let the company end membership without notice for a breach (15 of 30). The privacy notice (16 March 2026) states retention periods (24 months for booking data by default, 7 years for support messages), AWS hosting in the United States, a DPA on request and no training of external AI models on booking data; the security page says no subprocessor list is published, and the two agree on AWS (22 of 30). No deprecation policy or dated notice, and clause 18.4 allows changes to the service without notice (3 of 20). Providers are named in the privacy notice (AWS, Stripe, Google Analytics, Mixpanel, Hotjar, HubSpot) with US hosting, but there is no list with locations per processor (12 of 20). 15 + 22 + 3 + 12 = 52."
        },
        "scores": {
          "a": 51,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Apiroc",
        "b": "AI Software (Capacity) UK Ltd, trading as YouCanBookMe",
        "name": "Vendor"
      },
      {
        "a": "https://api.apiroc.com/api/v1",
        "b": "https://api.youcanbook.me/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (Node SDK)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-05",
        "b": "2026-09-01",
        "name": "Last release"
      },
      {
        "a": "2026-08-24",
        "b": "2026-03-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-24",
        "b": "2026-03-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "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": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "26 npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Apiroc Unified Calendar API scores 41.2 (E) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 5 of 7 scored categories. YouCanBookMe API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Apiroc Unified Calendar API or YouCanBookMe API?"
      },
      {
        "answer": "Apiroc Unified Calendar API takes an API key or an OAuth sign-in. YouCanBookMe API needs an API key.",
        "question": "Do Apiroc Unified Calendar API and YouCanBookMe API need an API key?"
      },
      {
        "answer": "Yes. Apiroc Unified Calendar API has a hosted endpoint at https://api.apiroc.com/api/v1 and YouCanBookMe API at https://api.youcanbook.me/v1.",
        "question": "Can an agent call Apiroc Unified Calendar API and YouCanBookMe API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 35 against 15",
          "Schema \u0026 documentation, 44 against 10",
          "Agent ergonomics, 52 against 13",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 62 against 28"
        ],
        "also": null,
        "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"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 61 against 51"
        ],
        "also": null,
        "goodFor": "A booking-page product for small businesses, closest to calendly and savvycal in scheduling.",
        "slug": "youcanbookme",
        "watchFor": "The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge"
      }
    ],
    "history": {
      "apiroc": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 41.1,
          "fromGrade": "E",
          "to": 41.2,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 41.3,
          "fromGrade": "E",
          "to": 41.1,
          "toGrade": "E"
        }
      ],
      "youcanbookme": null
    },
    "job": {
      "capability": "calendar.availability",
      "name": "Calendar availability"
    },
    "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/agenda-hero-vs-apiroc.json",
        "title": "Agenda Hero vs Apiroc Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-apiroc"
      },
      {
        "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-cozi.json",
        "title": "Apiroc Unified Calendar API vs Cozi Family Organizer",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-cozi"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal.json",
        "title": "Apiroc Unified Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal"
      },
      {
        "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/acuity-scheduling-vs-youcanbookme.json",
        "title": "Acuity Scheduling API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme.json",
        "title": "Aurinko Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme.json",
        "title": "Cal.com API v2 + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-youcanbookme.json",
        "title": "Calendly API + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme.json",
        "title": "Cronofy API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme.json",
        "title": "Nylas Calendar and Scheduler API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.json",
        "title": "SavvyCal API + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.json",
        "title": "YouCanBookMe API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.json",
        "title": "Google Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-youcanbookme.json",
        "title": "Microsoft Graph Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-youcanbookme"
      }
    ],
    "panel": null,
    "scores": [
      {
        "apiroc": 35,
        "by": 20,
        "edge": "apiroc",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "youcanbookme": 15
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "apiroc": 44,
        "by": 34,
        "edge": "apiroc",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "youcanbookme": 10
      },
      {
        "apiroc": 52,
        "by": 39,
        "edge": "apiroc",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "youcanbookme": 13
      },
      {
        "apiroc": 21,
        "by": 3,
        "edge": "youcanbookme",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "youcanbookme": 24
      },
      {
        "apiroc": 40,
        "by": 10,
        "edge": "apiroc",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "youcanbookme": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "apiroc": 62,
        "by": 34,
        "edge": "apiroc",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "youcanbookme": 28
      },
      {
        "apiroc": 51,
        "by": 10,
        "edge": "youcanbookme",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "youcanbookme": 61
      }
    ],
    "summary": "Apiroc Unified Calendar API scores 41.2 (E) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 5 of 7 scored categories. YouCanBookMe API leads on transparency \u0026 trust. Both do calendar availability.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "youcanbookme": "A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme",
    "json": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.min.md"
  },
  "markdown": "Apiroc Unified Calendar API scores 41.2 (E) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 5 of 7 scored categories. YouCanBookMe API leads on transparency \u0026 trust. Both do calendar availability.\n\n- Apiroc Unified Calendar API: grade E, 41.2/100, rank #1191 of 1349. Markdown https://www.anchorterminal.com/tools/apiroc.md · JSON https://www.anchorterminal.com/api/v1/tools/apiroc.json\n- YouCanBookMe API: grade F, 22.5/100, rank #1286 of 1349. Markdown https://www.anchorterminal.com/tools/youcanbookme.md · JSON https://www.anchorterminal.com/api/v1/tools/youcanbookme.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 89 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\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- Reliability, 35 against 15\n- Schema \u0026 documentation, 44 against 10\n- Agent ergonomics, 52 against 13\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 62 against 28\n\nWatch for: No status page history, changelog, OpenAPI spec, llms.txt or security.txt\n\n### YouCanBookMe API (F)\n\nGood for: A booking-page product for small businesses, closest to calendly and savvycal in scheduling.\n\nAhead on:\n- Transparency \u0026 trust, 61 against 51\n\nWatch for: The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge\n\n\n## Why the edge\n\n### Agent ergonomics: Apiroc Unified Calendar API +39\n\n- Apiroc Unified Calendar API (52): Lists take `limit` and `pageToken`, and event reads return a `syncToken` for incremental sync (15). Pagination and sync tokens, with free/busy as a separate endpoint (15). Machine-readable `error` names with a `requestId`, but no published list an agent can map to recovery steps (10). No idempotency keys. Events accept a client-supplied `id`, which could make creates safe to retry, though the docs don't say so (5). Node is the only SDK. Python, PHP and Java are listed as on the way (7).\n- YouCanBookMe API (13): Response sizing, field selection and pagination are in the unread reference (3 of 25, 0 of 20). The error envelope names a machine code and a message an agent can branch on (8 of 20). No idempotency key or safe-retry guidance found (0 of 20). No official SDK, and the required parameters are unread (2 of 15). 3 + 0 + 8 + 0 + 2 = 13.\n\n### Schema \u0026 documentation: Apiroc Unified Calendar API +34\n\n- Apiroc Unified Calendar API (44): No OpenAPI spec. A Postman collection is the only machine-readable contract (10). No llms.txt, per the 30 September check (0). Reference pages for five resources with parameters and cURL, TypeScript and Python examples, but little on when to use one endpoint over another (10). Typed inputs in the Node SDK and required fields marked in the docs (10). Examples throughout, and an errors page that gives only the shape (`error`, `message`, `requestId`) and the 2xx, 4xx and 5xx ranges, with no list of error names (9). `/v1` in the path but no changelog (5).\n- YouCanBookMe API (10): The reference lives on Stoplight at ycbm.stoplight.io, which usually renders an OpenAPI file, but our reader got only the workspace shell, and no spec file was found at the usual paths; the help centre article on support.youcanbook.me sat behind a Cloudflare challenge. Scored absent (0 of 25). No llms.txt on youcanbook.me, the help centre or the Stoplight host (0). Descriptions, typed inputs and required fields unread (0 of 20, 0 of 15). The one response we saw is a JSON envelope with `code`, `errors`, `httpCode`, `message` and `status`, and the help centre gives a worked webhook payload (4 of 15). A /v1 path and `x-api-version: 1.18` and `x-api-revision` headers, with a product updates page dated by month and no API changelog (6 of 15). 0 + 0 + 0 + 0 + 4 + 6 = 10.\n\n### Maintenance \u0026 community: Apiroc Unified Calendar API +34\n\n- Apiroc Unified Calendar API (62): Node SDK v2.0.1 on 5 August 2026, 57 days before this check (20). Four SDK releases since 3 July (v1.2.2, v1.3.0, v2.0.0, v2.0.1) (20). No public changelog. Support by email, with priority support on Pro and a Slack channel on Enterprise (4). One current official SDK, in Node (10). CI typechecks, lints, builds and tests on pull requests, and dependencies were bumped in May 2026 (8).\n- YouCanBookMe API (28): Read as a closed service. The newest product update is dated September 2026 (registered SMS numbers), within 90 days but not 30, taking the month's first day (20 of 30). The previous entry is November 2025, so fewer than three in 90 days (0 of 20). A help centre, a community forum at forum.youcanbook.me and one-to-one support for paid users, with a product updates page that carries no API items (8 of 15). No official SDKs found (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28.\n\n### Reliability: Apiroc Unified Calendar API +20\n\n- Apiroc Unified Calendar API (35): No public status page with history. status.apiroc.com doesn't resolve and the homepage shows only an \"All systems operational\" badge with a claim of 34B+ API calls (0). No readable incident history (5). Rate limits published with numbers, 20 requests a second in Sandbox and 300 in Production per application, plus 600 a minute per Google account and 1,000 a minute per Microsoft account (15). The docs don't mention 429 or Retry-After, though the official Node SDK reads a `retry-after` header on 429, and webhook docs say to dedupe on `svix-id` (5). The terms say availability can't be guaranteed, and no SLA was found on any plan (0). GA, with production use licensed on Pro (10).\n- YouCanBookMe API (15): Read with the hosted lines. The help page links a status page at www.youcanbookmestatus.com, but the host did not resolve from our reader with or without www on 3 November 2026, so it is scored as not established rather than as a finding about the vendor (0). No readable history (5). No rate limit with a number in the help centre articles, the pricing page or the API's own error response; the API reference could not be read (0). No 429 or retry guidance and no idempotency key found (0). No SLA, and the terms say the service is not guaranteed to be available 100 per cent of the time (0). The API reports version 1.18 in its headers and is sold on the Team plan, so generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n\n### Payments \u0026 pricing: Apiroc Unified Calendar API +10\n\n- Apiroc Unified Calendar API (40): No x402, MPP or L402 (0). Plan prices and $0.50 per extra end-user account a month published without login (20). Free plan for 10 end-user accounts with no card (20). Browser signup and a dashboard key, no autonomous route (0).\n- YouCanBookMe API (30): No x402, MPP or L402 (0). Seat prices public in the help centre's pricing article (Individual $9, Professional $13, Teams $18 a month, less yearly and over two years); the pricing page's own figures did not render for us, and nothing is priced per call (10). A Free plan and a 14-day trial of every feature with no card (20). A person signs up in a browser and the Account Owner generates the key by hand (0). 0 + 10 + 20 + 0 = 30.\n\n### Transparency \u0026 trust: YouCanBookMe API +10\n\n- Apiroc Unified Calendar API (51): Closed service with terms under Albanian law and an MIT Node SDK (15). Privacy policy (24 August 2026) says event content isn't stored persistently, application logs and analytics are kept 30 days, data isn't used to train models, and Google's Limited Use rules apply. A DPA is published. Webhooks are delivered through Svix, which isn't on the sub-processor list, and webhook message retention has no period (18). 30 days' notice for price rises and sub-processor changes, but no API deprecation policy (3). Five sub-processors listed with locations, and servers stated as US. Svix missing (15).\n- YouCanBookMe API (61): Closed service with terms (18 March 2026) naming AI Software (Capacity) UK Ltd under English law, which bar data-mining and robot tools without consent and let the company end membership without notice for a breach (15 of 30). The privacy notice (16 March 2026) states retention periods (24 months for booking data by default, 7 years for support messages), AWS hosting in the United States, a DPA on request and no training of external AI models on booking data; the security page says no subprocessor list is published, and the two agree on AWS (22 of 30). No deprecation policy or dated notice, and clause 18.4 allows changes to the service without notice (3 of 20). Providers are named in the privacy notice (AWS, Stripe, Google Analytics, Mixpanel, Hotjar, HubSpot) with US hosting, but there is no list with locations per processor (12 of 20). 15 + 22 + 3 + 12 = 52.\n\n## Score by category\n\n| Category | Weight | Apiroc Unified Calendar API | YouCanBookMe API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 15 | Apiroc Unified Calendar API +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 44 | 10 | Apiroc Unified Calendar API +34 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 13 | Apiroc Unified Calendar API +39 |\n| Security \u0026 auth | 14% (17.5 this run) | 21 | 24 | YouCanBookMe API +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | 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) | 62 | 28 | Apiroc Unified Calendar API +34 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 51 | 61 | YouCanBookMe API +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **41.2 · E** | **22.5 · F** | |\n\n## Facts side by side\n\n| Fact | Apiroc Unified Calendar API | YouCanBookMe API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Apiroc | AI Software (Capacity) UK Ltd, trading as YouCanBookMe |\n| Hosted endpoint | `https://api.apiroc.com/api/v1` | `https://api.youcanbook.me/v1` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (Node SDK) | none |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | no |\n| Last release | 2026-08-05 | 2026-09-01 |\n| Terms last updated | 2026-08-24 | 2026-03-18 |\n| Privacy policy last updated | 2026-08-24 | 2026-03-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | 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 | not found in the text | not found in the text |\n| Popularity | 26 npm/wk | none |\n| Agent reviews | 2/5 (2) | none |\n\n## How the scores have moved\n\n### Apiroc Unified Calendar API\n\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n### YouCanBookMe API\n\nNo score change since it was listed.\n\n## Verdicts\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**YouCanBookMe API.** A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified.\n\n## Before you call either\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### YouCanBookMe API\n\n1. Ask the Account Owner for the account ID and API key, since Administrators and Contributors cannot generate one, and send them as HTTP Basic credentials\n2. Read the API reference at ycbm.stoplight.io in a browser before planning calls; its endpoints and parameters were not readable to us\n3. Treat the key as full account access and keep it out of logs, since no scoped or read-only key is documented\n4. Expect a JSON error body with `code`, `message` and `status` on failures, and check for an existing booking before repeating a create, since no idempotency key is documented\n5. Use booking-page webhooks for booking, reschedule, cancel, reminder, follow-up and no-show events instead of polling\n\n## Questions\n\n### Which is better for AI agents, Apiroc Unified Calendar API or YouCanBookMe API?\n\nApiroc Unified Calendar API scores 41.2 (E) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 5 of 7 scored categories. YouCanBookMe API leads on transparency \u0026 trust.\n\n### Do Apiroc Unified Calendar API and YouCanBookMe API need an API key?\n\nApiroc Unified Calendar API takes an API key or an OAuth sign-in. YouCanBookMe API needs an API key.\n\n### Can an agent call Apiroc Unified Calendar API and YouCanBookMe API without installing anything?\n\nYes. Apiroc Unified Calendar API has a hosted endpoint at https://api.apiroc.com/api/v1 and YouCanBookMe API at https://api.youcanbook.me/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.json, and with the fewest tokens: https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"apiroc\", \"b\": \"youcanbookme\"}`. From a terminal: `anchor compare apiroc youcanbookme`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/apiroc.json and https://www.anchorterminal.com/api/v1/tools/youcanbookme.json\n\n## Other comparisons with Apiroc Unified Calendar API or YouCanBookMe API\n\n- [Acuity Scheduling API vs Apiroc Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-apiroc.md)\n- [Agenda Hero vs Apiroc Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-apiroc.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 Cozi Family Organizer](https://www.anchorterminal.com/compare/apiroc-vs-cozi.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- [Apiroc Unified Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/apiroc-vs-savvycal.md)\n- [Apiroc Unified Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/apiroc-vs-zoom-scheduler.md)\n- [Acuity Scheduling API vs YouCanBookMe API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-youcanbookme.md)\n- [Aurinko Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme.md)\n- [Cal.com API v2 + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme.md)\n- [Calendly API + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/calendly-vs-youcanbookme.md)\n- [Cronofy API vs YouCanBookMe API](https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme.md)\n- [Nylas Calendar and Scheduler API vs YouCanBookMe API](https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme.md)\n- [SavvyCal API + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.md)\n- [YouCanBookMe API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.md)\n- [Google Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.md)\n- [Microsoft Graph Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-youcanbookme.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Apiroc Unified Calendar API vs YouCanBookMe API",
        "url": ""
      }
    ],
    "description": "Apiroc Unified Calendar scores 41.2 (E) to YouCanBookMe's 22.5 (F) for calendar availability. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Apiroc Unified Calendar API E 41.2",
      "YouCanBookMe API F 22.5",
      "scores"
    ],
    "h1": "Apiroc Unified Calendar API vs YouCanBookMe API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/apiroc-vs-youcanbookme",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Apiroc Unified Calendar vs YouCanBookMe for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2430
  },
  "version": 1
}
