{
  "data": {
    "a": {
      "slug": "google-calendar-api",
      "name": "Google Calendar API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/workspace/calendar",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Google Calendar's REST API for accessing calendars and managing events.",
      "url": "https://www.anchorterminal.com/tools/google-calendar-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-calendar-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-calendar-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-calendar-api.json",
      "dns": "google-calendar-api.grade.anchorterminal.com",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Apache-2.0 (client libraries)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://www.googleapis.com/calendar/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/calendar"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 access token as a Bearer header, from a Google Cloud project with the Calendar API enabled. Workspace domains can use a service account with domain-wide delegation. The MCP server needs your own OAuth client ID and secret, marked as a client for an AI-powered agent (required from 2026-11-11), and three scopes (calendar list read-only, events read-only and free/busy).",
      "pricing": "free",
      "pricingNotes": "All standard use is at no extra cost. Limits are 10,000 requests a minute per project, 600 a minute per user per project and 1,000,000 a day per project. Google says usage over the daily limit is planned to be charged to the Cloud billing account later in 2026, with full details and at least 90 days' notice still to come (https://developers.google.com/workspace/calendar/api/guides/quota).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": 12300,
        "npmWeekly": 1004451,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.google.com/workspace/calendar/api/guides/overview",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "official",
        "free-tier",
        "mcp",
        "webhooks",
        "oauth",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-10-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 79.7,
        "grade": "A",
        "agentReady": true,
        "rank": 10,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 91,
          "maintenance": 87,
          "payments": 35,
          "reliability": 90,
          "schema": 88,
          "security": 77,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "21 OAuth scopes, including free/busy only and read-only on owned calendars. Google calendars only.",
        "bestFor": "An agent acting on Google Workspace or Gmail users' own calendars with tight scopes and no per-account fee.",
        "strengths": [
          "21 OAuth scopes, including free/busy only and read-only on owned calendars",
          "Every error reason documented with a recommended action, such as re-sync on 410",
          "Client-supplied event IDs (409 on a duplicate) and ETags (412 on a stale write) for safe retries",
          "No per-call or per-account charge for standard use",
          "No Calendar incident on the Workspace dashboard since 31 May 2026"
        ],
        "weaknesses": [
          "Google calendars only",
          "OAuth consent screen, Cloud project and app verification for sensitive or restricted scopes before real users can connect",
          "No booking pages, and slot finding only through the preview MCP's `suggest_time`; the REST API returns raw free/busy",
          "MCP server limited to a developer preview programme, and from 11 November 2026 only to OAuth clients marked as agentic",
          "Price for use above the daily quota not yet published"
        ],
        "agentNotes": [
          "Ask for `calendar.events.freebusy` when you only need availability, since it's non-sensitive and skips verification",
          "Set your own event `id` on insert, and treat a 409 as already created",
          "Use `singleEvents=true` with `orderBy=startTime` to expand recurring events when listing",
          "On 410 `fullSyncRequired`, drop the stored `syncToken` and do a full sync",
          "For the MCP server, create a separate OAuth client with Use this client for an AI-powered agent selected. From 11 November 2026 other clients are rejected"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 79.7
          }
        ],
        "editorialScores": {
          "ergonomics": 91,
          "maintenance": 87,
          "payments": 35,
          "reliability": 90,
          "schema": 88,
          "security": 77,
          "transparency": 68
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-28",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://www.googleapis.com/calendar/v3/calendars/primary/events?timeMin=2026-10-01T00:00:00Z\u0026singleEvents=true\u0026orderBy=startTime\u0026maxResults=5\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/google-calendar-api"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "gemini-live",
        "google-adk",
        "google-secret-manager",
        "google-cloud-document-ai",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "firebase-cloud-messaging",
        "google-drive-api",
        "gemini-enterprise",
        "gemini-cli",
        "google-search-console",
        "google-ads-api",
        "google-forms",
        "google-sheets-api",
        "gmail-api",
        "google-people-api"
      ],
      "area": "everyday",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://www.google.com/appsstatus/dashboard/",
        "changelog": "https://developers.google.com/workspace/calendar/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The quota page was last updated on 2026-09-11 and the MCP guide on 2026-09-18.",
          "Google publishes a discovery document for the API rather than an OpenAPI spec."
        ],
        "score": 95
      },
      "requirements": {
        "card": "no",
        "freeTier": true,
        "minutes": 15,
        "credential": "oauth",
        "hosting": [
          "global",
          "US",
          "EU"
        ],
        "euResidency": "enterprise",
        "trainsOnData": "no",
        "zeroRetention": "no",
        "certifications": [
          "SOC 2 Type II",
          "ISO 27001",
          "ISO 27701",
          "HIPAA (BAA available)",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-calendar-api.json",
      "live": {
        "slug": "google-calendar-api",
        "probe": {
          "target": "https://www.googleapis.com/calendar/v3",
          "method": "get",
          "lastAt": "2026-11-04T22:02:38.479457956Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 31,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 41,
          "p95ms24h": 96,
          "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": 248
            },
            {
              "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": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "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
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.google.com/appsstatus/dashboard",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-03T15:03:38.89920328Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "googleapis/google-api-nodejs-client",
            "version": "curationpartners-v3.1.0",
            "released": "2026-10-30",
            "seenAt": "2026-11-04T20:19:08.773138507Z"
          },
          {
            "registry": "npm",
            "name": "@googleapis/calendar",
            "version": "20.1.0",
            "seenAt": "2026-11-04T20:19:07.78821799Z"
          },
          {
            "registry": "pypi",
            "name": "google-api-python-client",
            "version": "2.201.0",
            "released": "2026-09-30",
            "seenAt": "2026-11-04T20:19:08.613381154Z"
          }
        ],
        "githubStars": 12286,
        "npmWeekly": 1396285,
        "pypiWeekly": 33110533,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-11-04T15:53:07.646035261Z"
        },
        "domain": {
          "domain": "google.com",
          "registered": "1997-09-15",
          "source": "https://rdap.verisign.com/com/v1/domain/google.com",
          "checkedAt": "2026-11-01T14:17:18.719851913Z"
        },
        "pages": [
          {
            "url": "https://developers.google.com/workspace/calendar/release-notes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-04T08:19:20.086402213Z",
            "changedAt": "2026-11-03T07:45:47.98349464Z",
            "fingerprint": "c21b7af6637d"
          },
          {
            "url": "https://developers.google.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-07T18:04:24.569854784Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2eb11136bf24"
          }
        ],
        "github": {
          "repo": "googleapis/google-api-nodejs-client",
          "checkedAt": "2026-11-02T08:52:10.522231186Z",
          "stars": 12283,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T15:41:41Z",
          "openIssues": 209,
          "openPRs": 15,
          "issuesOpened90d": 0,
          "issuesClosed90d": 2,
          "prsMerged90d": 72,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T15:43:54Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 8,
            "medianDays": 8.2
          }
        },
        "updatedAt": "2026-11-04T22:02:38.479457956Z"
      }
    },
    "answer": "Google Calendar API scores 79.7 (A) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in every scored category.",
    "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": 78,
        "category": "schema",
        "leads": "google-calendar-api",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Google publishes a discovery document rather than OpenAPI, which is a machine-readable contract all the same, at revision 20261028 on 1 November (25). No llms.txt, and developers.google.com/llms.txt and /workspace/calendar/llms.txt returned 404 again on 1 November, but doc pages return Markdown when `.md.txt` is appended to the URL, which we found no index or link advertising, read as for Drive, Sheets and Forms (5 of 10). Reference pages say what each method does and when to use patch over update, but we couldn't read the MCP tool descriptions (15). Typed parameters with enums such as `orderBy` and `eventTypes` (13). An error page that gives each reason code a recommended action, from `timeRangeEmpty` to `fullSyncRequired` (15). v3 in the path and dated release notes, latest 12 October 2026, with nothing newer on 1 November (15).",
          "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": 88,
          "b": 10
        }
      },
      {
        "by": 78,
        "category": "ergonomics",
        "leads": "google-calendar-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Responses size with `maxResults` and Google's standard `fields` partial responses (20). `pageToken`, `syncToken`, `timeMin` and `timeMax`, `q` and `singleEvents` for expanding recurrences (20). Error reasons an agent can act on, with the action written next to each one (20). Client-supplied event IDs make creates safe to retry and ETags guard updates. We found no readOnlyHint or destructiveHint on the MCP's write tools (16). Official client libraries in many languages, and most parameters are optional (15).",
          "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": 91,
          "b": 13
        }
      },
      {
        "by": 75,
        "category": "reliability",
        "leads": "google-calendar-api",
        "name": "Reliability",
        "reasons": {
          "a": "The Google Workspace Status Dashboard lists Calendar with component history and an incidents feed (20). On 1 November the dashboard's 365-day list shows two Calendar incidents, 31 May 2026 (56 minutes, several Workspace products) and 13 March 2026 (2 hours 30 minutes of intermittent errors), with none in the 90 days to 1 November. Other Workspace products have incidents in August and September (Drive, Gmail, Chat, Classroom and Gemini), none naming Calendar. The dashboard tracks the Calendar product rather than the API alone (30). 10,000 requests a minute per project, 600 a minute per user per project and 1,000,000 a day per project, unchanged on 1 November (15). 403 and 429 `usageLimits` errors with a truncated exponential backoff formula, client-supplied event IDs that return 409 on a duplicate, and ETags with 412 on a stale write (15). No SLA for the API found (0). The REST API is GA. The MCP server is still a developer preview on 1 November (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": 90,
          "b": 15
        }
      },
      {
        "by": 59,
        "category": "maintenance",
        "leads": "google-calendar-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "@googleapis/calendar 20.1.0 on 3 October 2026 is still the newest on npm on 1 November, 29 days earlier, and the discovery document has moved to revision 20261028 (30). Release notes on 12 October, plus client releases on 10, 14 and 24 September and 3 October, all within the 90 days to 1 November (the July notes have aged out) (20). Dated release notes and public client repositories with active maintainers (12). Current official client libraries (15). Generated clients rebuilt by CI in google-api-nodejs-client, with commits up to 30 October in a clone on 1 November (10).",
          "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": 87,
          "b": 28
        }
      },
      {
        "by": 53,
        "category": "security",
        "leads": "google-calendar-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.0 with 20 Calendar scopes on the auth page, from `calendar.freebusy` and `calendar.events.owned.readonly` up to full `calendar`, and the discovery document (revision 20261028) carries a 21st, `calendar.settings`, which the auth page still doesn't list on 1 November (30), less 10 because the discovery document lists `oauth_token` and `key` as query parameters, the API also reads `access_token` from the query string, and Google's OAuth web-server guide shows the query string as an alternative to the header, read as for Gmail, Sheets and Forms (20). The auth page's table gives each scope's meaning only, and the non-sensitive, sensitive and restricted classes are per the 1 October check, not re-read on 4 or 17 October. Read-only and free/busy-only scopes, and the MCP guide (updated 29 October) still configures three read-only scopes. Nothing in the API confirms a delete (17). The MCP guide, updated 29 October, warns about indirect prompt injection and says prompts and responses must be screened, with Model Armor or a documented alternative, and tells operators to review AI-initiated actions (12). The Cloud console API dashboard shows traffic, errors by method and response code, and latency percentiles per project, but not a per-call log (8). Valid security.txt to 2030 with contacts and the Google VRP bug bounty policy, read on 1 November. Google's SOC 2 page sends customers to Compliance Reports Manager for the Google Workspace reports, and that Calendar is in their scope is per the 4 October check (20).",
          "b": "One account-wide API key sent as the HTTP Basic password with the account ID or email, generated and deleted by the Account Owner only; no scopes, expiry or per-user keys are documented (10 of 30). No read-only mode or confirmation step found (0 of 20). The API and webhooks carry names, answers and notes written by people who book, with no injection guidance (2 of 15). No audit log or per-call visibility found (0 of 15). SOC 2 Type II and ISO/IEC 27001:2022 (certificate 20/3433, 20 February 2024) and third-party penetration tests on the security page, but no security.txt (404), bug bounty or disclosure policy (12 of 20). 10 + 0 + 2 + 0 + 12 = 24."
        },
        "scores": {
          "a": 77,
          "b": 24
        }
      },
      {
        "by": 21,
        "category": "transparency",
        "leads": "google-calendar-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under Google's API terms, with Apache-2.0 client libraries (15). Google's privacy policy covers end users, and the Workspace data processing terms cover tenants, but we didn't find one retention statement for Calendar API data (18). Dated announcements ahead of changes, such as the 1 June notice for the 29 June GA of `writerWithoutPrivateAccess` at least 90 days' notice promised before quota charges, and the 12 October notice that Workspace MCP servers reject OAuth clients not marked agentic from 11 November 2026 (15). The Workspace sub-processor list, last modified 19 October 2026, names Google group and third-party sub-processors with the countries each processes in, and covers Calendar as a Core Service for Workspace tenants (20).",
          "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": 82,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Google",
        "b": "AI Software (Capacity) UK Ltd, trading as YouCanBookMe",
        "name": "Vendor"
      },
      {
        "a": "https://www.googleapis.com/calendar/v3",
        "b": "https://api.youcanbook.me/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (client libraries)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "9",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-03",
        "b": "2026-09-01",
        "name": "Last release"
      },
      {
        "a": "2021-11-09",
        "b": "2026-03-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "2026-03-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "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": "12k stars, 1M npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Google Calendar API scores 79.7 (A) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Google Calendar API or YouCanBookMe API?"
      },
      {
        "answer": "Google Calendar API uses an OAuth sign-in. YouCanBookMe API needs an API key.",
        "question": "Do Google Calendar API and YouCanBookMe API need an API key?"
      },
      {
        "answer": "Yes. Google Calendar API has a hosted endpoint at https://www.googleapis.com/calendar/v3 and YouCanBookMe API at https://api.youcanbook.me/v1.",
        "question": "Can an agent call Google Calendar API and YouCanBookMe API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 15",
          "Schema \u0026 documentation, 88 against 10",
          "Agent ergonomics, 91 against 13",
          "Security \u0026 auth, 77 against 24",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 87 against 28",
          "Transparency \u0026 trust, 82 against 61"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "An agent acting on Google Workspace or Gmail users' own calendars with tight scopes and no per-account fee.",
        "slug": "google-calendar-api",
        "watchFor": "Google calendars only"
      },
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card"
        ],
        "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": {
      "google-calendar-api": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 79.6,
          "fromGrade": "A",
          "to": 79.7,
          "toGrade": "A"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-17",
          "delta": -1,
          "from": 80.6,
          "fromGrade": "A",
          "to": 79.6,
          "toGrade": "A"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 80.8,
          "fromGrade": "A",
          "to": 80.6,
          "toGrade": "A"
        }
      ],
      "youcanbookme": null
    },
    "job": {
      "capability": "calendar.availability",
      "name": "Calendar availability"
    },
    "others": [
      {
        "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/agenda-hero-vs-google-calendar-api.json",
        "title": "Agenda Hero vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-google-calendar-api"
      },
      {
        "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/aurinko-calendar-vs-google-calendar-api.json",
        "title": "Aurinko Calendar API vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.json",
        "title": "Cal.com API v2 + MCP vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-google-calendar-api.json",
        "title": "Calendly API + MCP vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-google-calendar-api.json",
        "title": "Cozi Family Organizer vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-google-calendar-api.json",
        "title": "Cronofy API vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-calendar.json",
        "title": "Google Calendar API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-nylas-calendar.json",
        "title": "Google Calendar API vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.json",
        "title": "Google Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler.json",
        "title": "Google Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/apiroc-vs-youcanbookme.json",
        "title": "Apiroc Unified Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/apiroc-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": [
      {
        "by": 75,
        "edge": "google-calendar-api",
        "google-calendar-api": 90,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "youcanbookme": 15
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 78,
        "edge": "google-calendar-api",
        "google-calendar-api": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "youcanbookme": 10
      },
      {
        "by": 78,
        "edge": "google-calendar-api",
        "google-calendar-api": 91,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "youcanbookme": 13
      },
      {
        "by": 53,
        "edge": "google-calendar-api",
        "google-calendar-api": 77,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "youcanbookme": 24
      },
      {
        "by": 5,
        "edge": "google-calendar-api",
        "google-calendar-api": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "youcanbookme": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 59,
        "edge": "google-calendar-api",
        "google-calendar-api": 87,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "youcanbookme": 28
      },
      {
        "by": 21,
        "edge": "google-calendar-api",
        "google-calendar-api": 82,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "youcanbookme": 61
      }
    ],
    "summary": "Google Calendar API scores 79.7 (A) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in every scored category. Both do calendar availability.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "google-calendar-api": "21 OAuth scopes, including free/busy only and read-only on owned calendars. Google calendars only.",
      "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/google-calendar-api-vs-youcanbookme",
    "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.min.md"
  },
  "markdown": "Google Calendar API scores 79.7 (A) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in every scored category. Both do calendar availability.\n\n- Google Calendar API: grade A, 79.7/100, rank #10 of 1349. Markdown https://www.anchorterminal.com/tools/google-calendar-api.md · JSON https://www.anchorterminal.com/api/v1/tools/google-calendar-api.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### Google Calendar API (A)\n\nGood for: An agent acting on Google Workspace or Gmail users' own calendars with tight scopes and no per-account fee.\n\nAhead on:\n- Reliability, 90 against 15\n- Schema \u0026 documentation, 88 against 10\n- Agent ergonomics, 91 against 13\n- Security \u0026 auth, 77 against 24\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 87 against 28\n- Transparency \u0026 trust, 82 against 61\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Google calendars only\n\n### YouCanBookMe API (F)\n\nGood for: A booking-page product for small businesses, closest to calendly and savvycal in scheduling.\n\nAlso in its favour:\n- Free to start without a card\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### Schema \u0026 documentation: Google Calendar API +78\n\n- Google Calendar API (88): Google publishes a discovery document rather than OpenAPI, which is a machine-readable contract all the same, at revision 20261028 on 1 November (25). No llms.txt, and developers.google.com/llms.txt and /workspace/calendar/llms.txt returned 404 again on 1 November, but doc pages return Markdown when `.md.txt` is appended to the URL, which we found no index or link advertising, read as for Drive, Sheets and Forms (5 of 10). Reference pages say what each method does and when to use patch over update, but we couldn't read the MCP tool descriptions (15). Typed parameters with enums such as `orderBy` and `eventTypes` (13). An error page that gives each reason code a recommended action, from `timeRangeEmpty` to `fullSyncRequired` (15). v3 in the path and dated release notes, latest 12 October 2026, with nothing newer on 1 November (15).\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### Agent ergonomics: Google Calendar API +78\n\n- Google Calendar API (91): Responses size with `maxResults` and Google's standard `fields` partial responses (20). `pageToken`, `syncToken`, `timeMin` and `timeMax`, `q` and `singleEvents` for expanding recurrences (20). Error reasons an agent can act on, with the action written next to each one (20). Client-supplied event IDs make creates safe to retry and ETags guard updates. We found no readOnlyHint or destructiveHint on the MCP's write tools (16). Official client libraries in many languages, and most parameters are optional (15).\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### Reliability: Google Calendar API +75\n\n- Google Calendar API (90): The Google Workspace Status Dashboard lists Calendar with component history and an incidents feed (20). On 1 November the dashboard's 365-day list shows two Calendar incidents, 31 May 2026 (56 minutes, several Workspace products) and 13 March 2026 (2 hours 30 minutes of intermittent errors), with none in the 90 days to 1 November. Other Workspace products have incidents in August and September (Drive, Gmail, Chat, Classroom and Gemini), none naming Calendar. The dashboard tracks the Calendar product rather than the API alone (30). 10,000 requests a minute per project, 600 a minute per user per project and 1,000,000 a day per project, unchanged on 1 November (15). 403 and 429 `usageLimits` errors with a truncated exponential backoff formula, client-supplied event IDs that return 409 on a duplicate, and ETags with 412 on a stale write (15). No SLA for the API found (0). The REST API is GA. The MCP server is still a developer preview on 1 November (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### Maintenance \u0026 community: Google Calendar API +59\n\n- Google Calendar API (87): @googleapis/calendar 20.1.0 on 3 October 2026 is still the newest on npm on 1 November, 29 days earlier, and the discovery document has moved to revision 20261028 (30). Release notes on 12 October, plus client releases on 10, 14 and 24 September and 3 October, all within the 90 days to 1 November (the July notes have aged out) (20). Dated release notes and public client repositories with active maintainers (12). Current official client libraries (15). Generated clients rebuilt by CI in google-api-nodejs-client, with commits up to 30 October in a clone on 1 November (10).\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### Security \u0026 auth: Google Calendar API +53\n\n- Google Calendar API (77): OAuth 2.0 with 20 Calendar scopes on the auth page, from `calendar.freebusy` and `calendar.events.owned.readonly` up to full `calendar`, and the discovery document (revision 20261028) carries a 21st, `calendar.settings`, which the auth page still doesn't list on 1 November (30), less 10 because the discovery document lists `oauth_token` and `key` as query parameters, the API also reads `access_token` from the query string, and Google's OAuth web-server guide shows the query string as an alternative to the header, read as for Gmail, Sheets and Forms (20). The auth page's table gives each scope's meaning only, and the non-sensitive, sensitive and restricted classes are per the 1 October check, not re-read on 4 or 17 October. Read-only and free/busy-only scopes, and the MCP guide (updated 29 October) still configures three read-only scopes. Nothing in the API confirms a delete (17). The MCP guide, updated 29 October, warns about indirect prompt injection and says prompts and responses must be screened, with Model Armor or a documented alternative, and tells operators to review AI-initiated actions (12). The Cloud console API dashboard shows traffic, errors by method and response code, and latency percentiles per project, but not a per-call log (8). Valid security.txt to 2030 with contacts and the Google VRP bug bounty policy, read on 1 November. Google's SOC 2 page sends customers to Compliance Reports Manager for the Google Workspace reports, and that Calendar is in their scope is per the 4 October check (20).\n- YouCanBookMe API (24): One account-wide API key sent as the HTTP Basic password with the account ID or email, generated and deleted by the Account Owner only; no scopes, expiry or per-user keys are documented (10 of 30). No read-only mode or confirmation step found (0 of 20). The API and webhooks carry names, answers and notes written by people who book, with no injection guidance (2 of 15). No audit log or per-call visibility found (0 of 15). SOC 2 Type II and ISO/IEC 27001:2022 (certificate 20/3433, 20 February 2024) and third-party penetration tests on the security page, but no security.txt (404), bug bounty or disclosure policy (12 of 20). 10 + 0 + 2 + 0 + 12 = 24.\n\n### Transparency \u0026 trust: Google Calendar API +21\n\n- Google Calendar API (82): Closed service under Google's API terms, with Apache-2.0 client libraries (15). Google's privacy policy covers end users, and the Workspace data processing terms cover tenants, but we didn't find one retention statement for Calendar API data (18). Dated announcements ahead of changes, such as the 1 June notice for the 29 June GA of `writerWithoutPrivateAccess` at least 90 days' notice promised before quota charges, and the 12 October notice that Workspace MCP servers reject OAuth clients not marked agentic from 11 November 2026 (15). The Workspace sub-processor list, last modified 19 October 2026, names Google group and third-party sub-processors with the countries each processes in, and covers Calendar as a Core Service for Workspace tenants (20).\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 | Google Calendar API | YouCanBookMe API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 15 | Google Calendar API +75 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 10 | Google Calendar API +78 |\n| Agent ergonomics | 13% (16.2 this run) | 91 | 13 | Google Calendar API +78 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 24 | Google Calendar API +53 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | Google Calendar API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 28 | Google Calendar API +59 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 61 | Google Calendar API +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **79.7 · A** | **22.5 · F** | |\n\n## Facts side by side\n\n| Fact | Google Calendar API | YouCanBookMe API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Google | AI Software (Capacity) UK Ltd, trading as YouCanBookMe |\n| Hosted endpoint | `https://www.googleapis.com/calendar/v3` | `https://api.youcanbook.me/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (client libraries) | none |\n| Tools exposed | 9 | none |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | no |\n| Last release | 2026-10-03 | 2026-09-01 |\n| Terms last updated | 2021-11-09 | 2026-03-18 |\n| Privacy policy last updated | 2026-10-01 | 2026-03-16 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 12k stars, 1M npm/wk | none |\n| Agent reviews | 4/5 (8) | none |\n\n## How the scores have moved\n\n### Google Calendar API\n\n- +0.1 on 28 October 2026: checklist\n- -1.0 on 17 October 2026: correction\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**Google Calendar API.** 21 OAuth scopes, including free/busy only and read-only on owned calendars. Google calendars only.\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### Google Calendar API\n\n1. Ask for `calendar.events.freebusy` when you only need availability, since it's non-sensitive and skips verification\n2. Set your own event `id` on insert, and treat a 409 as already created\n3. Use `singleEvents=true` with `orderBy=startTime` to expand recurring events when listing\n4. On 410 `fullSyncRequired`, drop the stored `syncToken` and do a full sync\n5. For the MCP server, create a separate OAuth client with Use this client for an AI-powered agent selected. From 11 November 2026 other clients are rejected\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, Google Calendar API or YouCanBookMe API?\n\nGoogle Calendar API scores 79.7 (A) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in every scored category.\n\n### Do Google Calendar API and YouCanBookMe API need an API key?\n\nGoogle Calendar API uses an OAuth sign-in. YouCanBookMe API needs an API key.\n\n### Can an agent call Google Calendar API and YouCanBookMe API without installing anything?\n\nYes. Google Calendar API has a hosted endpoint at https://www.googleapis.com/calendar/v3 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/google-calendar-api-vs-youcanbookme.json, and with the fewest tokens: https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"google-calendar-api\", \"b\": \"youcanbookme\"}`. From a terminal: `anchor compare google-calendar-api youcanbookme`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/google-calendar-api.json and https://www.anchorterminal.com/api/v1/tools/youcanbookme.json\n\n## Other comparisons with Google Calendar API or YouCanBookMe API\n\n- [Acuity Scheduling API vs Google Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-google-calendar-api.md)\n- [Agenda Hero vs Google Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-google-calendar-api.md)\n- [Apiroc Unified Calendar API vs Google Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-google-calendar-api.md)\n- [Aurinko Calendar API vs Google Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-google-calendar-api.md)\n- [Cal.com API v2 + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.md)\n- [Calendly API + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/calendly-vs-google-calendar-api.md)\n- [Cozi Family Organizer vs Google Calendar API](https://www.anchorterminal.com/compare/cozi-vs-google-calendar-api.md)\n- [Cronofy API vs Google Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-google-calendar-api.md)\n- [Google Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-calendar.md)\n- [Google Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-vs-nylas-calendar.md)\n- [Google Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.md)\n- [Google Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-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- [Apiroc Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/apiroc-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": "Google Calendar API vs YouCanBookMe API",
        "url": ""
      }
    ],
    "description": "Google Calendar scores 79.7 (A) to YouCanBookMe's 22.5 (F) for calendar availability. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Google Calendar API A 79.7",
      "YouCanBookMe API F 22.5",
      "scores"
    ],
    "h1": "Google Calendar API vs YouCanBookMe API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/google-calendar-api-vs-youcanbookme",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Google Calendar vs YouCanBookMe for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme"
  },
  "tokens": {
    "markdown": 5000,
    "slim": 3080
  },
  "version": 1
}
