{
  "data": {
    "a": {
      "slug": "cal-com",
      "name": "Cal.com API v2 + MCP",
      "vendor": "Cal.com",
      "vendorUrl": "https://cal.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Scheduling API behind Cal.com's booking pages.",
      "url": "https://www.anchorterminal.com/tools/cal-com",
      "markdownUrl": "https://www.anchorterminal.com/tools/cal-com.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cal-com.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cal-com.json",
      "dns": "cal-com.grade.anchorterminal.com",
      "repo": "https://github.com/calcom/cal-mcp",
      "license": "Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.cal.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@calcom/cal-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key from Settings, prefixed `cal_` in test mode and `cal_live_` in live mode, or OAuth for integrations used by other Cal.com users. Most endpoints also want a `cal-api-version` header with a date (2024-09-04 for slots). The hosted MCP at mcp.cal.com signs in with OAuth 2.1. The local server reads `CAL_API_KEY`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan for one user with unlimited event types and calendars. Teams $12 a user a month and Organizations $28 a user a month, both billed yearly (25 per cent off monthly), each with a 14-day trial. Enterprise is custom and annual. Teams adds round-robin, collective event types and routing forms. The Organizations plan adds sub-teams, SAML SSO, SCIM, domain-wide delegation and more APIs (https://cal.com/pricing). The separate Platform product has been closed to new sign-ups since 15 December 2025 (https://cal.com/docs/api-reference/v2/introduction).",
      "priceSummary": "$12 / seat-mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": 30,
        "npmWeekly": 786,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://cal.com/docs/api-reference/v2/introduction",
      "llmsTxt": "https://cal.com/docs/llms.txt",
      "openapi": "https://cal.com/docs/api-reference/v2/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.1,
        "grade": "D",
        "agentReady": false,
        "rank": 1039,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 35,
          "payments": 30,
          "reliability": 65,
          "schema": 76,
          "security": 56,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "Advisories in the last 12 months on Cal.com's own code from before the April 2026 split, which the hosted service ran, counted one by one, each fixed and over two months old at 1. GHSA-9r3w-4j8q-pw98 (CVE-2025-66489, 3 December 2025, Critical, password check bypassed with a TOTP code, fixed in 5.9.8), GHSA-7hg4-x4pr-3hrg (CVE-2026-23478, 13 January 2026, Critical, account takeover through the NextAuth JWT callback, fixed in 6.0.7), GHSA-qjx2-5xqp-cpf4 (CVE-2025-71389, published 23 July 2026, Critical, unauthenticated code execution through the bundled Next.js, fixed in 5.9.9), GHSA-vgj7-76cw-h6f8 (CVE-2024-58353 and CVE-2024-58355, 23 July 2026, Critical, stored XSS on the booking view including app.cal.com, fixed in 4.7.16) and GHSA-4fwh-xxpv-xfm6 (CVE-2026-16624, 22 July 2026, Critical, webhook creation on any team exposing booking data, fixed by v6.2.0), -5 for the five (https://osv.dev/list?q=calcom).",
          "2026-08-12. CVE-2026-57858 (VulnCheck, Critical 9.3), stored XSS through the analytics tracking ID in BookingPageTagManager in Cal.com versions 2.1.1 through 6.2.0. Those versions are the code the hosted service ran before the April 2026 split (6.2.0 is dated 1 March 2026), the same shared code as the five advisories above. Third-party Critical records are charged in this run, as on openhands and cline. No fix is listed and the hosted code can't be read, so it costs 1, the value of a fixed Critical over two months old, as a floor. Total -6 (https://osv.dev/vulnerability/CVE-2026-57858)."
        ],
        "verdict": "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE, and the hosted MCP's 63 tools load by toolset. No 429 guidance or idempotency key was found, the newest changelog post is from 15 September 2026, and six Critical advisories in shared code were published in 12 months.",
        "bestFor": "An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.",
        "strengths": [
          "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE",
          "Hosted MCP with 63 tools and a `toolsets` parameter to load only the groups needed",
          "OpenAPI 3.0 spec, llms.txt and Markdown reference pages",
          "Cursor pagination and filters on bookings by status, attendee, event type and time",
          "Terms version 2.0 (1 November 2026) promise prior notice of updates that materially reduce customers' rights"
        ],
        "weaknesses": [
          "120 requests a minute by default and no documented 429 or retry behaviour",
          "Six Critical advisories on Cal.com's code published between December 2025 and August 2026, one with no fix listed",
          "Closed source since April 2026, and the npm MCP package hasn't changed since May 2025",
          "No idempotency key on booking creation, and delete and cancel tools run with no confirmation",
          "Enterprise mentions SLA guarantees with no published figure or document"
        ],
        "agentNotes": [
          "Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version",
          "Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools",
          "Page bookings with `pagination.nextCursor`, not offsets",
          "Check for an existing booking before retrying a create, since there's no idempotency key",
          "Use `cal_` test keys while building so bookings don't reach real calendars"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.1
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 35,
          "payments": 30,
          "reliability": 65,
          "schema": 76,
          "security": 56,
          "transparency": 64
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://api.cal.com/v2/slots?eventTypeId=123\u0026start=2026-10-01\u0026end=2026-10-02\u0026timeZone=Europe/London\" \\\n  -H \"Authorization: Bearer $CAL_API_KEY\" \\\n  -H \"cal-api-version: 2024-09-04\"",
        "claudeCode": "claude mcp add --transport http calcom https://mcp.cal.com/mcp",
        "config": {
          "mcpServers": {
            "calcom": {
              "args": [
                "@calcom/cal-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "CAL_API_KEY": "${CAL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/cal-com"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 12,
          "note": "Billed yearly"
        },
        {
          "item": "Organizations plan",
          "unit": "seat-month",
          "usd": 28,
          "note": "Billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Cal.com, Inc.",
        "domain": "cal.com",
        "domainRegistered": "1997-05-16",
        "domainNote": "cal.com was registered in 1997, long before Cal.com launched, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://cal.com/terms",
        "privacy": "https://cal.com/privacy",
        "statusPage": "https://status.cal.com",
        "changelog": "https://cal.com/blog",
        "securityTxt": "valid",
        "checked": "2026-11-04",
        "notes": [
          "The Terms of Service are version 2.0, effective 1 November 2026, between the customer and Cal.com, Inc., a Delaware corporation, under Delaware law. The privacy policy (effective 20 August 2026) gives a San Francisco address, per the 1 October reading.",
          "security.txt expires 2030-06-01 and lists GitHub security advisories on calcom/cal.com as the contact, a repository that now hosts the Cal.diy fork, per the 1 October reading.",
          "Release notes are blog posts titled Changelog, the latest found v6.9 on 2026-09-15. cal.com/changelog is a user's booking page, not a changelog.",
          "cal.com's robots.txt allows the site but /api/, /md/ and app paths and carries Content-Signal ai-train=no, search=yes, ai-input=yes (4 November 2026)."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cal-com.json",
      "live": {
        "slug": "cal-com",
        "probe": {
          "target": "https://api.cal.com/v2",
          "method": "get",
          "lastAt": "2026-11-07T19:21:58.335850177Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 285,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.87,
          "p50ms24h": 190,
          "p95ms24h": 502,
          "samples24h": 238,
          "samples30d": 7920,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 267
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 248
            },
            {
              "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": 248
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 252
            },
            {
              "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": 252
            },
            {
              "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": 249,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 250
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 249
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:12.555089326Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@calcom/cal-mcp",
            "version": "0.0.6",
            "seenAt": "2026-11-06T23:13:11.791611341Z"
          }
        ],
        "githubStars": 31,
        "npmWeekly": 309,
        "securityTxt": {
          "url": "https://cal.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-06-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T15:59:48.069311299Z"
        },
        "llmsTxt": {
          "url": "https://cal.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:45.89907904Z"
        },
        "domain": {
          "domain": "cal.com",
          "registered": "1997-05-16",
          "source": "https://rdap.verisign.com/com/v1/domain/cal.com",
          "checkedAt": "2026-11-01T14:14:05.126615231Z"
        },
        "pages": [
          {
            "url": "https://cal.com/blog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:43.810708159Z",
            "changedAt": "2026-11-07T14:00:43.810708159Z",
            "fingerprint": "65d60416552b"
          },
          {
            "url": "https://cal.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:46.614171729Z",
            "changedAt": "2026-11-04T08:16:13.783940382Z",
            "fingerprint": "ca6620205030"
          },
          {
            "url": "https://cal.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:48.021513984Z",
            "changedAt": "2026-11-04T08:16:15.487673021Z",
            "fingerprint": "f56ed83a519e"
          },
          {
            "url": "https://cal.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:50.045939378Z",
            "changedAt": "2026-11-04T08:16:17.754301291Z",
            "fingerprint": "67952ab51975"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.cal.com/mcp",
          "checkedAt": "2026-11-07T01:43:03.976327457Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:03.976327457Z"
        },
        "github": {
          "repo": "calcom/cal-mcp",
          "checkedAt": "2026-11-02T08:37:31.392026977Z",
          "stars": 31,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2025-05-22T20:07:52Z",
          "openIssues": 6,
          "openPRs": 3,
          "issuesOpened90d": 0,
          "issuesClosed90d": 1,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 7,
            "unanswered": 6,
            "medianDays": 158.8
          }
        },
        "updatedAt": "2026-11-07T19:21:58.335850177Z"
      }
    },
    "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Cal.com API v2 + MCP's 51.1 (D), and leads in 3 of 7 scored categories. Cal.com API v2 + MCP leads on payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "truto-calendar",
      "name": "Truto Unified Calendar API",
      "vendor": "Yin Yang Inc.",
      "vendorUrl": "https://truto.one",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Truto's Unified Calendar API gives one REST interface over Google Calendar, Outlook Calendar, Cal.com and Calendly, with calendars, events, availability, event types, contacts and users. It is part of Truto's unified API platform for software companies.",
      "url": "https://www.anchorterminal.com/tools/truto-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/truto-calendar.json",
      "dns": "truto-calendar.grade.anchorterminal.com",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@truto/truto-link-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Truto API token, created in app.truto.one under Settings \u003e API Tokens for one environment (development, staging or production), sent as `Authorization: Bearer`. Every request names an `integrated_account_id`, the end customer's connected calendar account, whose OAuth tokens Truto holds. Per-account MCP servers can be limited to read or write methods and tags, and given an expiry.",
      "pricing": "paid",
      "pricingNotes": "Expansion from $999 per connector a year and Enterprise from $1,999, each with unlimited connections and API calls, sold through a demo. A free 30-day sandbox is given on request with a work email, usually within one business day.",
      "priceSummary": "$83.25 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing page or the API catalogue (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://truto.one/docs/api-reference/unified-calendar-api/",
      "llmsTxt": "https://truto.one/docs/llms.txt",
      "openapi": "https://api.truto.one/schema/openapi.yml",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "automation.auth"
      ],
      "tags": [
        "hosted",
        "unified-api",
        "paid",
        "sales-led",
        "openapi",
        "llms-txt",
        "status-page",
        "webhooks",
        "google-calendar",
        "outlook"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 655,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.",
        "bestFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "strengths": [
          "One REST shape for Google Calendar, Outlook Calendar, Cal.com and Calendly, including availability and event types",
          "Markdown copy of every docs page and an llms.txt index",
          "`truto_exclude_fields`, `truto_ignore_remote_data` and response formats to size replies",
          "Errors say whether Truto or the provider failed, and vendor rate limits come back as standard headers",
          "Pass-through design with no stored customer data, and a public DPA"
        ],
        "weaknesses": [
          "Priced from $999 per connector a year with a demo-led sandbox",
          "An outage of the APIs and dashboard on 29 October 2026 is on the status page",
          "No public changelog for the API",
          "API tokens are per environment with no scopes found",
          "Only five calendar integrations, and Calendly support is partial on events"
        ],
        "agentNotes": [
          "Pass `integrated_account_id` on every call; the token alone reaches nothing",
          "Call the meta endpoint for the method first to see which filters the vendor supports",
          "Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small",
          "On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account",
          "Set `expand_recurring=true` when the task needs each instance of a repeating event"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.4
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 54
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://api.truto.one/unified/calendar/events?integrated_account_id=$ACCOUNT_ID\" -H \"Authorization: Bearer $TRUTO_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/truto-calendar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Expansion plan connector",
          "unit": "month",
          "usd": 83.25,
          "note": "From $999 per connector a year"
        },
        {
          "item": "Enterprise plan connector",
          "unit": "month",
          "usd": 166.58,
          "note": "From $1,999 per connector a year"
        }
      ],
      "provenance": {
        "legalEntity": "Yin Yang Inc.",
        "domain": "truto.one",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://truto.one/tos/",
        "privacy": "https://truto.one/privacy/",
        "statusPage": "https://status.truto.one",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "truto.one/robots.txt allows all and points to llms.txt, an RFC 9727 API catalogue and agent skills; every page has a Markdown sibling. api.truto.one/robots.txt returned 404. status.truto.one's robots.txt returned no rules.",
          "The terms name Yin Yang Inc. No clause on automated access was found in the parts read.",
          "The OpenAPI file at api.truto.one/schema/openapi.yml timed out after 30 seconds and was not read.",
          "security.txt was not checked. SOC 2 compliance is stated only in a blog post of 24 August 2023; no trust page was found."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/truto-calendar.json",
      "live": {
        "slug": "truto-calendar",
        "vendorStatus": {
          "page": "https://status.truto.one",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:53.753341884Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@truto/truto-link-sdk",
            "version": "1.3.5",
            "seenAt": "2026-11-07T00:12:59.774757597Z"
          }
        ],
        "npmWeekly": 6850,
        "securityTxt": {
          "url": "https://truto.one/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:30.982914489Z"
        },
        "llmsTxt": {
          "url": "https://truto.one/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:12.104383057Z"
        },
        "pages": [
          {
            "url": "https://truto.one/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:35.56420207Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "83d604dc7090"
          },
          {
            "url": "https://truto.one/tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:37.675377248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fa7045806b26"
          }
        ],
        "updatedAt": "2026-11-07T15:59:30.982914489Z"
      }
    },
    "edges": [
      {
        "by": 21,
        "category": "ergonomics",
        "leads": "truto-calendar",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "63 tools on the hosted MCP (5), with a `toolsets` query parameter to load only the groups you need and catalogue meta-tools (find, describe and call an API operation) (+10). Cursor pagination with `limit`, and filters on status, attendee, event type, team and start, end, created and updated times (20). Error envelope without documented codes (8). No idempotency key on bookings found, and we couldn't read the hosted tools for readOnlyHint or destructiveHint (0). No official REST SDK in two languages (Atoms is React components), and every endpoint needs the right version header (7). Per the 1 October check, not re-read on 4 November. Total 50.",
          "b": "`truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71."
        },
        "scores": {
          "a": 50,
          "b": 71
        }
      },
      {
        "by": 19,
        "category": "transparency",
        "leads": "cal-com",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed source since 14 April 2026. The Terms of Service were rewritten as version 2.0, effective 1 November 2026, naming Cal.com, Inc., a Delaware corporation, under Delaware law, and they say Cal.diy and Cal.com's other open-source releases are governed by their own licences (MIT for Cal.diy). Closed with clear terms (15, from 12). Privacy policy (20 August 2026) says nothing is used to train models, account data is kept while active with a 30-day export window after closure, and logs exclude personal data. DPA in the compliance portal (22). Platform deprecation dated 15 December 2025 and date-pinned API versions. The new terms promise prior notice by email or in product for updates that materially reduce a customer's rights, and name a periodic changelog for deprecations (14). Subprocessors are listed in the trust centre per the privacy policy, which we didn't open, and data sits in the US with EU residency on request (13). Privacy, DPA and trust readings are per the 1 October check, not re-read on 4 November. Total 64.",
          "b": "Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54."
        },
        "scores": {
          "a": 80,
          "b": 61
        }
      },
      {
        "by": 15,
        "category": "maintenance",
        "leads": "truto-calendar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The newest dated change found for the hosted API is the v6.9 changelog post of 15 September 2026, 50 days before this check, and cal.com hosts are paused so the blog wasn't re-read (20, from 30, cause time). One dated changelog post in the 90 days partly meets the three-entry line, so the earlier partial value is kept, pending the founder's rule on in-between values (5). The @calcom/cal-mcp repository's last commit is 0.0.6 on 22 May 2025, and calcom/cal.com now holds the Cal.diy fork, whose last version tag (v6.2.0) is dated 1 March 2026, so neither adds a release. A 4 November Cal.diy commit says @calcom/atoms is now published from a separate repository at 2.6.12; npm wasn't readable, so its dates are unchecked. Public blog changelog and support, no public issue tracker for the closed product (10). No current official REST SDKs, and the npm MCP package has sat at 0.0.6 since 22 May 2025 (5). The cal-mcp repository's test workflow has its test step commented out (0). Total 40.",
          "b": "No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50."
        },
        "scores": {
          "a": 35,
          "b": 50
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "truto-calendar",
        "name": "Reliability",
        "reasons": {
          "a": "OpenStatus page at status.cal.com with App, Website and API components and an events log back to February 2024, per the 1 October reading (20). cal.com hosts are paused for this run under the terms of 1 November 2026, so the page wasn't re-read. In the readable part of the window, the 31 August outage (1 hour 14 minutes of HTTP 500s on /v2/slots and /v2/bookings, US East only) hit one region and two endpoints, and the 15 September event was a 1 hour 19 minute degradation of App and API. This run reads one region or a group of calls as partial, so both count as minor. 1 October to 4 November is unread and not credited (20, from 10). 120 requests a minute per key or OAuth token, raisable to 200 and then to 800 on request (15). No 429 behaviour, rate-limit headers or retry guidance in the docs or the OpenAPI spec (0). Enterprise lists \"SLA guarantees\" with no published figure or document, and a listed SLA nobody could read gives 0 in this run (0, from 5). API v2 is GA (10). Total 65.",
          "b": "Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77."
        },
        "scores": {
          "a": 65,
          "b": 77
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "cal-com",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Seat prices published ($12 and $28 a user a month billed yearly) but nothing per call or per booking (10). Free plan for one user with API access, no card (20). Browser signup, and OAuth clients need admin approval (0).",
          "b": "No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20."
        },
        "scores": {
          "a": 30,
          "b": 20
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Cal.com",
        "b": "Yin Yang Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.cal.com/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "63",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-15",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "2024-10-19",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "30 stars, 786 npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Cal.com API v2 + MCP's 51.1 (D), and leads in 3 of 7 scored categories. Cal.com API v2 + MCP leads on payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Cal.com API v2 + MCP or Truto Unified Calendar API?"
      },
      {
        "answer": "Cal.com API v2 + MCP takes an API key or an OAuth sign-in. Truto Unified Calendar API needs an API key.",
        "question": "Do Cal.com API v2 + MCP and Truto Unified Calendar API need an API key?"
      },
      {
        "answer": "Cal.com API v2 + MCP has a hosted endpoint at https://api.cal.com/v2. No hosted endpoint is listed for Truto Unified Calendar API.",
        "question": "Can an agent call Cal.com API v2 + MCP and Truto Unified Calendar API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 20",
          "Transparency \u0026 trust, 80 against 61"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.",
        "slug": "cal-com",
        "watchFor": "120 requests a minute by default and no documented 429 or retry behaviour"
      },
      {
        "aheadOn": [
          "Reliability, 77 against 65",
          "Agent ergonomics, 71 against 50",
          "Maintenance \u0026 community, 50 against 35"
        ],
        "also": [
          "No incidents deducted, where Cal.com API v2 + MCP loses 6 points for them"
        ],
        "goodFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "slug": "truto-calendar",
        "watchFor": "Priced from $999 per connector a year with a demo-led sandbox"
      }
    ],
    "history": {
      "cal-com": [
        {
          "causes": [
            "terms",
            "correction",
            "time"
          ],
          "date": "2026-11-04",
          "delta": -6.1,
          "from": 57.2,
          "fromGrade": "C",
          "to": 51.1,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 57.5,
          "fromGrade": "C",
          "to": 57.2,
          "toGrade": "C"
        }
      ],
      "truto-calendar": null
    },
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.json",
        "title": "Acuity Scheduling API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.json",
        "title": "Acuity Scheduling API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com.json",
        "title": "Agenda Hero vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.json",
        "title": "Agenda Hero vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-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-truto-calendar.json",
        "title": "Apiroc Unified Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.json",
        "title": "Aurinko Calendar API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.json",
        "title": "Aurinko Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-calendly.json",
        "title": "Cal.com API v2 + MCP vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-cozi.json",
        "title": "Cal.com API v2 + MCP vs Cozi Family Organizer",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-cozi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-cronofy.json",
        "title": "Cal.com API v2 + MCP vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.json",
        "title": "Cal.com API v2 + MCP vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.json",
        "title": "Cal.com API v2 + MCP vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.json",
        "title": "Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-reclaim-ai.json",
        "title": "Cal.com API v2 + MCP vs Reclaim.ai",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-reclaim-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal.json",
        "title": "Cal.com API v2 + MCP vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.json",
        "title": "Cal.com API v2 + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.json",
        "title": "Calendly API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.json",
        "title": "Cozi Family Organizer vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.json",
        "title": "Cronofy API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.json",
        "title": "Google Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.json",
        "title": "Microsoft Graph Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.json",
        "title": "Nylas Calendar and Scheduler API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.json",
        "title": "Reclaim.ai vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.json",
        "title": "Truto Unified Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler"
      },
      {
        "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/savvycal-vs-truto-calendar.json",
        "title": "SavvyCal API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.json",
        "title": "Truto Unified Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 12,
        "cal-com": 65,
        "edge": "truto-calendar",
        "key": "reliability",
        "name": "Reliability",
        "truto-calendar": 77,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "cal-com": 76,
        "edge": "cal-com",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "truto-calendar": 75,
        "weight": 13
      },
      {
        "by": 21,
        "cal-com": 50,
        "edge": "truto-calendar",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "truto-calendar": 71,
        "weight": 13
      },
      {
        "by": 4,
        "cal-com": 56,
        "edge": "cal-com",
        "key": "security",
        "name": "Security \u0026 auth",
        "truto-calendar": 52,
        "weight": 14
      },
      {
        "by": 10,
        "cal-com": 30,
        "edge": "cal-com",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "truto-calendar": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "cal-com": 35,
        "edge": "truto-calendar",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "truto-calendar": 50,
        "weight": 7
      },
      {
        "by": 19,
        "cal-com": 80,
        "edge": "cal-com",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "truto-calendar": 61,
        "weight": 7
      }
    ],
    "summary": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Cal.com API v2 + MCP's 51.1 (D), and leads in 3 of 7 scored categories. Cal.com API v2 + MCP leads on payments \u0026 pricing and transparency \u0026 trust. Both do calendar access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "cal-com": "OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE, and the hosted MCP's 63 tools load by toolset. No 429 guidance or idempotency key was found, the newest changelog post is from 15 September 2026, and six Critical advisories in shared code were published in 12 months.",
      "truto-calendar": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar",
    "json": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.min.md"
  },
  "markdown": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Cal.com API v2 + MCP's 51.1 (D), and leads in 3 of 7 scored categories. Cal.com API v2 + MCP leads on payments \u0026 pricing and transparency \u0026 trust. Both do calendar access.\n\n- Cal.com API v2 + MCP: grade D, 51.1/100, rank #1039 of 1510. Markdown https://www.anchorterminal.com/tools/cal-com.md · JSON https://www.anchorterminal.com/api/v1/tools/cal-com.json\n- Truto Unified Calendar API: grade C, 60.4/100, rank #655 of 1510. Markdown https://www.anchorterminal.com/tools/truto-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 118 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\n\n### Cal.com API v2 + MCP (D)\n\nGood for: An agent that books, reschedules and cancels meetings into a Cal.com user's event types, or routes leads with routing forms.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 20\n- Transparency \u0026 trust, 80 against 61\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: 120 requests a minute by default and no documented 429 or retry behaviour\n\n### Truto Unified Calendar API (C)\n\nGood for: Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.\n\nAhead on:\n- Reliability, 77 against 65\n- Agent ergonomics, 71 against 50\n- Maintenance \u0026 community, 50 against 35\n\nAlso in its favour:\n- No incidents deducted, where Cal.com API v2 + MCP loses 6 points for them\n\nWatch for: Priced from $999 per connector a year with a demo-led sandbox\n\n\n## Why the edge\n\n### Agent ergonomics: Truto Unified Calendar API +21\n\n- Cal.com API v2 + MCP (50): 63 tools on the hosted MCP (5), with a `toolsets` query parameter to load only the groups you need and catalogue meta-tools (find, describe and call an API operation) (+10). Cursor pagination with `limit`, and filters on status, attendee, event type, team and start, end, created and updated times (20). Error envelope without documented codes (8). No idempotency key on bookings found, and we couldn't read the hosted tools for readOnlyHint or destructiveHint (0). No official REST SDK in two languages (Atoms is React components), and every endpoint needs the right version header (7). Per the 1 October check, not re-read on 4 November. Total 50.\n- Truto Unified Calendar API (71): `truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71.\n\n### Transparency \u0026 trust: Cal.com API v2 + MCP +19\n\n- Cal.com API v2 + MCP (80): Closed source since 14 April 2026. The Terms of Service were rewritten as version 2.0, effective 1 November 2026, naming Cal.com, Inc., a Delaware corporation, under Delaware law, and they say Cal.diy and Cal.com's other open-source releases are governed by their own licences (MIT for Cal.diy). Closed with clear terms (15, from 12). Privacy policy (20 August 2026) says nothing is used to train models, account data is kept while active with a 30-day export window after closure, and logs exclude personal data. DPA in the compliance portal (22). Platform deprecation dated 15 December 2025 and date-pinned API versions. The new terms promise prior notice by email or in product for updates that materially reduce a customer's rights, and name a periodic changelog for deprecations (14). Subprocessors are listed in the trust centre per the privacy policy, which we didn't open, and data sits in the US with EU residency on request (13). Privacy, DPA and trust readings are per the 1 October check, not re-read on 4 November. Total 64.\n- Truto Unified Calendar API (61): Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54.\n\n### Maintenance \u0026 community: Truto Unified Calendar API +15\n\n- Cal.com API v2 + MCP (35): The newest dated change found for the hosted API is the v6.9 changelog post of 15 September 2026, 50 days before this check, and cal.com hosts are paused so the blog wasn't re-read (20, from 30, cause time). One dated changelog post in the 90 days partly meets the three-entry line, so the earlier partial value is kept, pending the founder's rule on in-between values (5). The @calcom/cal-mcp repository's last commit is 0.0.6 on 22 May 2025, and calcom/cal.com now holds the Cal.diy fork, whose last version tag (v6.2.0) is dated 1 March 2026, so neither adds a release. A 4 November Cal.diy commit says @calcom/atoms is now published from a separate repository at 2.6.12; npm wasn't readable, so its dates are unchecked. Public blog changelog and support, no public issue tracker for the closed product (10). No current official REST SDKs, and the npm MCP package has sat at 0.0.6 since 22 May 2025 (5). The cal-mcp repository's test workflow has its test step commented out (0). Total 40.\n- Truto Unified Calendar API (50): No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50.\n\n### Reliability: Truto Unified Calendar API +12\n\n- Cal.com API v2 + MCP (65): OpenStatus page at status.cal.com with App, Website and API components and an events log back to February 2024, per the 1 October reading (20). cal.com hosts are paused for this run under the terms of 1 November 2026, so the page wasn't re-read. In the readable part of the window, the 31 August outage (1 hour 14 minutes of HTTP 500s on /v2/slots and /v2/bookings, US East only) hit one region and two endpoints, and the 15 September event was a 1 hour 19 minute degradation of App and API. This run reads one region or a group of calls as partial, so both count as minor. 1 October to 4 November is unread and not credited (20, from 10). 120 requests a minute per key or OAuth token, raisable to 200 and then to 800 on request (15). No 429 behaviour, rate-limit headers or retry guidance in the docs or the OpenAPI spec (0). Enterprise lists \"SLA guarantees\" with no published figure or document, and a listed SLA nobody could read gives 0 in this run (0, from 5). API v2 is GA (10). Total 65.\n- Truto Unified Calendar API (77): Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77.\n\n### Payments \u0026 pricing: Cal.com API v2 + MCP +10\n\n- Cal.com API v2 + MCP (30): No x402, MPP or L402 (0). Seat prices published ($12 and $28 a user a month billed yearly) but nothing per call or per booking (10). Free plan for one user with API access, no card (20). Browser signup, and OAuth clients need admin approval (0).\n- Truto Unified Calendar API (20): No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20.\n\n## Score by category\n\n| Category | Weight | Cal.com API v2 + MCP | Truto Unified Calendar API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 77 | Truto Unified Calendar API +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 75 | Cal.com API v2 + MCP +1 |\n| Agent ergonomics | 13% (16.2 this run) | 50 | 71 | Truto Unified Calendar API +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 52 | Cal.com API v2 + MCP +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | Cal.com API v2 + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 35 | 50 | Truto Unified Calendar API +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 61 | Cal.com API v2 + MCP +19 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **51.1 · D** | **60.4 · C** | |\n\n## Facts side by side\n\n| Fact | Cal.com API v2 + MCP | Truto Unified Calendar API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Cal.com | Yin Yang Inc. |\n| Hosted endpoint | `https://api.cal.com/v2` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio |  |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary (hosted product since April 2026). The @calcom/cal-mcp package and repository carry no licence | none |\n| Tools exposed | 63 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-15 | 2026-10-26 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-10-01 | 2024-10-19 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 30 stars, 786 npm/wk | none |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Cal.com API v2 + MCP\n\n- -6.1 on 4 November 2026 (C to D): terms, correction, time\n- -0.3 on 8 October 2026: checklist\n\n### Truto Unified Calendar API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Cal.com API v2 + MCP.** OAuth scopes split into READ and WRITE per resource, with 30-minute access tokens and PKCE, and the hosted MCP's 63 tools load by toolset. No 429 guidance or idempotency key was found, the newest changelog post is from 15 September 2026, and six Critical advisories in shared code were published in 12 months.\n\n**Truto Unified Calendar API.** Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.\n\n## Before you call either\n\n### Cal.com API v2 + MCP\n\n1. Send `cal-api-version: 2026-05-01` on bookings and `2024-09-04` on slots, since each endpoint pins its own version\n2. Append `?toolsets=bookings,availability` to the hosted MCP URL to skip the other 50-odd tools\n3. Page bookings with `pagination.nextCursor`, not offsets\n4. Check for an existing booking before retrying a create, since there's no idempotency key\n5. Use `cal_` test keys while building so bookings don't reach real calendars\n\n### Truto Unified Calendar API\n\n1. Pass `integrated_account_id` on every call; the token alone reaches nothing\n2. Call the meta endpoint for the method first to see which filters the vendor supports\n3. Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small\n4. On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account\n5. Set `expand_recurring=true` when the task needs each instance of a repeating event\n\n## Questions\n\n### Which is better for AI agents, Cal.com API v2 + MCP or Truto Unified Calendar API?\n\nTruto Unified Calendar API scores 60.4 (C) on agent readiness against Cal.com API v2 + MCP's 51.1 (D), and leads in 3 of 7 scored categories. Cal.com API v2 + MCP leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Cal.com API v2 + MCP and Truto Unified Calendar API need an API key?\n\nCal.com API v2 + MCP takes an API key or an OAuth sign-in. Truto Unified Calendar API needs an API key.\n\n### Can an agent call Cal.com API v2 + MCP and Truto Unified Calendar API without installing anything?\n\nCal.com API v2 + MCP has a hosted endpoint at https://api.cal.com/v2. No hosted endpoint is listed for Truto Unified Calendar API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cal-com\", \"b\": \"truto-calendar\"}`. From a terminal: `anchor compare cal-com truto-calendar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cal-com.json and https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n\n## Other comparisons with Cal.com API v2 + MCP or Truto Unified Calendar API\n\n- [Acuity Scheduling API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/acuity-scheduling-vs-cal-com.md)\n- [Acuity Scheduling API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.md)\n- [Agenda Hero vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/agenda-hero-vs-cal-com.md)\n- [Agenda Hero vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-truto-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 Truto Unified Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.md)\n- [Aurinko Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.md)\n- [Aurinko Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.md)\n- [Cal.com API v2 + MCP vs Calendly API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-calendly.md)\n- [Cal.com API v2 + MCP vs Cozi Family Organizer](https://www.anchorterminal.com/compare/cal-com-vs-cozi.md)\n- [Cal.com API v2 + MCP vs Cronofy API](https://www.anchorterminal.com/compare/cal-com-vs-cronofy.md)\n- [Cal.com API v2 + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-google-calendar-api.md)\n- [Cal.com API v2 + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.md)\n- [Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.md)\n- [Cal.com API v2 + MCP vs Reclaim.ai](https://www.anchorterminal.com/compare/cal-com-vs-reclaim-ai.md)\n- [Cal.com API v2 + MCP vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-savvycal.md)\n- [Cal.com API v2 + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-zoom-scheduler.md)\n- [Calendly API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.md)\n- [Cozi Family Organizer vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.md)\n- [Cronofy API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.md)\n- [Google Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.md)\n- [Microsoft Graph Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.md)\n- [Nylas Calendar and Scheduler API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.md)\n- [Reclaim.ai vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.md)\n- [Truto Unified Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.md)\n- [Cal.com API v2 + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme.md)\n- [SavvyCal API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar.md)\n- [Truto Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/truto-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-07",
    "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": "Cal.com API v2 + MCP vs Truto Unified Calendar API",
        "url": ""
      }
    ],
    "description": "Truto Unified Calendar scores 60.4 (C) to Cal.com API v2's 51.1 (D) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cal.com API v2 + MCP D 51.1",
      "Truto Unified Calendar API C 60.4",
      "scores"
    ],
    "h1": "Cal.com API v2 + MCP vs Truto Unified Calendar API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/cal-com-vs-truto-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cal.com API v2 vs Truto Unified Calendar for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2480
  },
  "version": 1
}
