{
  "data": {
    "a": {
      "slug": "microsoft-graph-calendar",
      "name": "Microsoft Graph Calendar API",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/graph/outlook-calendar-concept-overview",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Calendar endpoints of Microsoft Graph for Outlook, Microsoft 365 and Exchange Online.",
      "url": "https://www.anchorterminal.com/tools/microsoft-graph-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json",
      "dns": "microsoft-graph-calendar.grade.anchorterminal.com",
      "repo": "https://github.com/microsoftgraph/msgraph-sdk-javascript",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.microsoft.com/v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "@microsoft/microsoft-graph-client"
        },
        {
          "registry": "pypi",
          "name": "msgraph-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from Microsoft Entra ID. Delegated permissions (Calendars.Read, Calendars.ReadWrite) act as a signed-in user. Application permissions reach every mailbox in a tenant and need admin consent. Personal Outlook.com accounts work with delegated permissions.",
      "pricing": "byo-plan",
      "pricingNotes": "Calendar endpoints aren't metered. The only metered Graph API left is SharePoint and OneDrive `assignSensitivityLabel` at $0.00185 a call (https://learn.microsoft.com/en-us/graph/metered-api-list). Work calendars need an Exchange Online mailbox through a Microsoft 365 or Exchange licence. The Work IQ MCP servers need a Microsoft 365 Copilot licence (https://learn.microsoft.com/en-us/microsoft-agent-365/tooling-servers-overview).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": 834,
        "npmWeekly": 2699759,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/graph/outlook-calendar-concept-overview",
      "openapi": "https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "webhooks",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 736,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 76,
          "payments": 35,
          "reliability": 65,
          "schema": 93,
          "security": 72,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -14,
        "negativeNotes": [
          "2026-06-16 and 2026-10-15: two security fixes merged into msgraph-sdk-javascript, a token leak through URL userinfo host confusion (5438ae9, 16 June) and stripping the Cookie header on cross-origin redirects (38867d1, written 13 October and merged through pull request 2007 on 15 October). The repository's package.json says 3.0.8, but on 2 November 2026 no 3.0.8 tag exists (newest 3.0.7, September 2023) and there is no advisory. A fix to the listing's own package in no release takes -3, the two folded into one term (https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/38867d1, https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/5438ae90f50ef15d3656f0cf9c5485deee351f19)",
          "2026-03-19: CVE-2026-26137, Exchange Online elevation of privilege (SSRF, CVSS 9.9, Critical, needs a signed-in attacker), fully mitigated by Microsoft, not disclosed or exploited. -1 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-26137)",
          "2026-06-04: CVE-2026-48579, Exchange Online information disclosure (improper authorisation, CVSS 9.1, Critical, no sign-in needed), mitigated by Microsoft. -2 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48579)",
          "2026-06-04: CVE-2026-47655, Microsoft Graph information disclosure (CVSS 6.5, Critical by MSRC, needs a signed-in attacker), mitigated by Microsoft. -1 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47655)",
          "2026-06-18: CVE-2026-48582, Exchange Online elevation of privilege (missing authorisation, CVSS 9.6, Critical, needs a signed-in attacker), mitigated by Microsoft. -1 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48582)",
          "2026-07-23: CVE-2026-56191, Exchange Online tampering (improper authentication, CVSS 10.0, Critical, no sign-in needed), mitigated by Microsoft. -2 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56191)",
          "2026-07-23: CVE-2026-49159, Microsoft Graph information disclosure (CVSS 6.5, Critical by MSRC, needs a signed-in attacker), mitigated by Microsoft. -1 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49159)",
          "2026-08-20: CVE-2026-65801, Exchange Online elevation of privilege (SSRF, CVSS 10.0, Critical, no sign-in needed), mitigated by Microsoft. -2 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-65801)",
          "2026-10-22: CVE-2026-96185, Exchange Online remote code execution (stack overflow, CVSS 7.5, Critical, needs a signed-in attacker), mitigated by Microsoft. -1 (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-96185)"
        ],
        "verdict": "findMeetingTimes suggests slots across attendees and rooms, getSchedule returns free/busy for many people, and `transactionId` stops a retried create from double-booking. Each app gets four concurrent requests per mailbox. Microsoft published eight Critical, already mitigated CVEs for Exchange Online and Graph in 2026, and the JavaScript client's two security fixes remain unreleased.",
        "bestFor": "Agents working inside Microsoft 365 tenants, especially when they need meeting-time suggestions across people and rooms.",
        "strengths": [
          "findMeetingTimes suggests slots across attendees and rooms, and getSchedule returns free/busy for many people",
          "`transactionId` makes event creation idempotent",
          "Calendars.ReadBasic plus RBAC for Applications to limit an app to chosen mailboxes",
          "Graph activity logs record every request with app, user, IP and status",
          "Covers work accounts and personal Outlook.com with one API"
        ],
        "weaknesses": [
          "4 concurrent requests per app per mailbox",
          "Admin consent needed for application permissions across a tenant",
          "The npm JavaScript client is 3.0.7 from September 2023, without the June and October 2026 security fixes",
          "Eight Critical service CVEs for Exchange Online and Graph between March and October 2026, all mitigated by Microsoft",
          "Calendar MCP server is a preview kept for backward compatibility, behind a Microsoft 365 Copilot licence"
        ],
        "agentNotes": [
          "Send `Prefer: outlook.timezone=\"Europe/London\"` (or the user's zone) so returned times aren't in UTC",
          "Set a `transactionId` on event creates so a retry doesn't double-book",
          "Use /me/calendarView with startDateTime and endDateTime to get recurring meetings expanded",
          "Honour `Retry-After` on 429 and keep to 4 parallel calls per mailbox",
          "Treat event bodies as untrusted input, and ask for Calendars.ReadBasic when you don't need them"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 76,
          "payments": 35,
          "reliability": 65,
          "schema": 93,
          "security": 72,
          "transparency": 65
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://graph.microsoft.com/v1.0/me/calendar/getSchedule \\\n  -H \"Authorization: Bearer $MS_GRAPH_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"schedules\":[\"adele@contoso.com\"],\"startTime\":{\"dateTime\":\"2026-10-01T09:00:00\",\"timeZone\":\"Europe/London\"},\"endTime\":{\"dateTime\":\"2026-10-01T18:00:00\",\"timeZone\":\"Europe/London\"},\"availabilityViewInterval\":30}'"
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/microsoft-graph-calendar"
      },
      "sameCompany": [
        "azure-openai",
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "everyday",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on graph.microsoft.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23 and still carried it on 2026-11-02.",
        "endpointOnVendorDomain": true,
        "terms": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://developer.microsoft.com/en-us/graph/changelog",
        "securityTxt": "expired",
        "checked": "2026-11-02",
        "notes": [
          "status.cloud.microsoft answered robots.txt with an empty 401 on 1 November 2026, so it is treated as blocked and wasn't read; on 1 October it needed JavaScript to show anything.",
          "The Calendar MCP reference moved to learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-calendar-tools and was last updated on 2026-09-30."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-graph-calendar.json",
      "live": {
        "slug": "microsoft-graph-calendar",
        "probe": {
          "target": "https://graph.microsoft.com/v1.0",
          "method": "get",
          "lastAt": "2026-11-07T19:22:19.921464197Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 51,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 6,
          "p95ms24h": 50,
          "samples24h": 238,
          "samples30d": 7920,
          "days": [
            {
              "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": 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.cloud.microsoft",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T15:36:56.18227852Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "microsoftgraph/msgraph-sdk-javascript",
            "version": "3.0.7",
            "released": "2023-09-19",
            "seenAt": "2026-11-06T23:45:12.898078071Z"
          },
          {
            "registry": "npm",
            "name": "@microsoft/microsoft-graph-client",
            "version": "3.0.7",
            "seenAt": "2026-11-06T23:45:12.54295158Z"
          },
          {
            "registry": "pypi",
            "name": "msgraph-sdk",
            "version": "1.65.0",
            "released": "2026-10-22",
            "seenAt": "2026-11-06T23:45:12.790846043Z"
          }
        ],
        "githubStars": 836,
        "npmWeekly": 3242649,
        "pypiWeekly": 1661789,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-11-01T14:14:19.336136409Z"
        },
        "pages": [
          {
            "url": "https://developer.microsoft.com/en-us/graph/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-07T18:04:04.158031617Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7bb1f9551c94"
          },
          {
            "url": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-07T18:07:06.319848234Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1a1ee1c20d9a"
          }
        ],
        "github": {
          "repo": "microsoftgraph/msgraph-sdk-javascript",
          "checkedAt": "2026-11-02T09:06:51.445549725Z",
          "stars": 836,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-28T20:16:39Z",
          "openIssues": 79,
          "openPRs": 40,
          "issuesOpened90d": 3,
          "issuesClosed90d": 1,
          "prsMerged90d": 7,
          "ci": {
            "branch": "dev",
            "runs": 6,
            "success": 6,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T18:59:51Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 24,
            "medianDays": 5.6
          }
        },
        "updatedAt": "2026-11-07T19:22:19.921464197Z"
      }
    },
    "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth, payments \u0026 pricing, maintenance \u0026 community 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": 26,
        "category": "maintenance",
        "leads": "microsoft-graph-calendar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "msgraph-sdk-python v1.65.0 on 22 October 2026 (30). Five Python SDK tags since 4 August (v1.61.0 on 5 August to v1.65.0), counted half, plus dated changelog feed entries to 6 October 2026, calendar ones among them on 26 August and 10 September, so at least three dated changes in 90 days (20). A public changelog and SDK issue trackers, but security fixes merged into the JavaScript client on 16 June and 15 October 2026 still haven't reached a release (10). Current SDKs in most languages, with the JavaScript client the exception at 3.0.7 from 19 September 2023 (10). Active tagging on the Python repository, none of it reaching the JavaScript package (6). 30+20+10+10+6 = 76.",
          "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": 76,
          "b": 50
        }
      },
      {
        "by": 20,
        "category": "security",
        "leads": "microsoft-graph-calendar",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.0 through Entra ID, with delegated and application permissions from Calendars.ReadBasic (no bodies) through Calendars.Read to Calendars.ReadWrite (30). Calendars.ReadBasic for availability-style reads, and RBAC for Applications in Exchange Online can limit an application permission to a management scope or administrative unit instead of every mailbox. Nothing asks for confirmation before a delete (18). Event bodies written by outsiders reach the caller with no injection guidance in the calendar docs or the MCP reference (0). Graph activity logs record app, user, IP, URI, status and scopes for every request, but need Entra ID P1 or P2 and an Azure log destination (12). microsoft.com's security.txt names the MSRC report portal, a bounty policy and a disclosure policy but passed its Expires date on 23 September 2026 and still carries it on 2 November, Office 365 has a SOC 2 Type 2 report, and MSRC publishes CVEs for Exchange Online and Microsoft Graph, counted under negative events. Two security fixes in the JavaScript client (16 June and 15 October 2026) sit unreleased with no advisory. Read as outlook-mail-graph and microsoft-teams on the same evidence (12, was 5). 30+18+0+12+12 = 72.",
          "b": "API tokens are per environment and sent as Bearer headers; no scopes or expiry for them were found (20 of 30). Per-account MCP servers can be limited to read methods or tags and set to expire, and the customer's connection form can restrict access to specific resources, but the REST token reaches every integrated account in its environment (14 of 20). Event titles, descriptions and attendee text from outside parties pass through, and no prompt-injection guidance was found (0). Plans keep request logs 30 or 90 days (10 of 15). SOC 2 is stated in a 2023 blog post, with no trust page, security.txt or disclosure policy found (8 of 20). 20 + 14 + 0 + 10 + 8 = 52."
        },
        "scores": {
          "a": 72,
          "b": 52
        }
      },
      {
        "by": 18,
        "category": "schema",
        "leads": "microsoft-graph-calendar",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI for all of Graph v1.0 in microsoftgraph/msgraph-metadata, plus CSDL metadata (25). No llms.txt, but every learn.microsoft.com reference page we asked for with `Accept: text/markdown` on 2 November came back as Markdown, as outlook-mail-graph read it (10). Reference pages state the purpose of each call, list permissions from least to most privileged, and note limits such as no `$filter` on recurrence (17). Typed properties and enums in the metadata (13). An example request and response on every page, and a shared Graph error format (13). v1.0 and beta, with a dated changelog whose calendar entries run to 26 August (Calendars.Read.All and Calendars.ReadWrite.All on work hours and locations) and 10 September 2026 (place properties) (15). 25+10+17+13+13+15 = 93.",
          "b": "An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75."
        },
        "scores": {
          "a": 93,
          "b": 75
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "microsoft-graph-calendar",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`$select`, `$top`, `bodyPreview` and `Prefer: outlook.body-content-type=\"text\"` keep event payloads small (23). `@odata.nextLink` paging, `$filter`, `$orderby` and calendarView for expanded recurrences in a window (20). Graph errors carry a code, message and request ID, and 429s say which throttle scope was hit (17). `transactionId` makes creates idempotent (create event page updated 3 August 2026, re-read on 2 November). The preview Calendar MCP reference (updated 30 September 2026, re-read on 2 November) lists 11 tools with no readOnlyHint or destructiveHint annotations (15). Official SDKs in .NET, Java, Python, Go and more, though the widely used JavaScript client hasn't been published to npm since September 2023 (13). 23+20+17+15+13 = 88.",
          "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": 88,
          "b": 71
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "microsoft-graph-calendar",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Calendar endpoints aren't on the metered API list (re-read on 2 November, only SharePoint and OneDrive assignSensitivityLabel is metered) and Microsoft 365 plan prices are public, but work calendars need a licensed mailbox (15). Personal Outlook.com accounts work with delegated permissions at no cost and no card (20). A person registers an app in Entra and, for application permissions, an admin consents (0). 0+15+20+0 = 35.",
          "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": 35,
          "b": 20
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "microsoft-graph-calendar",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under the Microsoft APIs terms of use, with MIT SDKs (15). Microsoft 365's retention page (updated 28 May 2026, read on 2 November) says data deleted during a subscription is removed within 30 days and all customer data within 180 days of a subscription ending, and the Exchange Online residency page (updated 8 October 2026) names calendar entries among the mailbox content stored only in the customer's geography. We didn't read the privacy statement or data protection addendum (20). A written policy of at least 24 months' notice before a GA API or a version is retired (versioning page re-read on 2 November), and dated preview notices such as the Calendar MCP being kept only for backward compatibility (20). Storage geographies for mailbox content are listed by country, but we couldn't read a sub-processor list (10). 15+20+20+10 = 65, read as outlook-mail-graph.",
          "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": 76,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Yin Yang Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://graph.microsoft.com/v1.0",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "11",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-22",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "2025-10-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2024-10-19",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "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": "yes",
        "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": "834 stars, 2.7M 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 Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Microsoft Graph Calendar API or Truto Unified Calendar API?"
      },
      {
        "answer": "Microsoft Graph Calendar API uses an OAuth sign-in. Truto Unified Calendar API needs an API key.",
        "question": "Do Microsoft Graph Calendar API and Truto Unified Calendar API need an API key?"
      },
      {
        "answer": "Microsoft Graph Calendar API has a hosted endpoint at https://graph.microsoft.com/v1.0. No hosted endpoint is listed for Truto Unified Calendar API.",
        "question": "Can an agent call Microsoft Graph Calendar API and Truto Unified Calendar API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 93 against 75",
          "Agent ergonomics, 88 against 71",
          "Security \u0026 auth, 72 against 52",
          "Payments \u0026 pricing, 35 against 20",
          "Maintenance \u0026 community, 76 against 50",
          "Transparency \u0026 trust, 76 against 61"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Agents working inside Microsoft 365 tenants, especially when they need meeting-time suggestions across people and rooms.",
        "slug": "microsoft-graph-calendar",
        "watchFor": "4 concurrent requests per app per mailbox"
      },
      {
        "aheadOn": [
          "Reliability, 77 against 65"
        ],
        "also": [
          "No incidents deducted, where Microsoft Graph Calendar API loses 14 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": {
      "microsoft-graph-calendar": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-02",
          "delta": -6.5,
          "from": 65.2,
          "fromGrade": "B",
          "to": 58.7,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 65.1,
          "fromGrade": "B",
          "to": 65.2,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.5,
          "from": 65.6,
          "fromGrade": "B",
          "to": 65.1,
          "toGrade": "B"
        }
      ],
      "truto-calendar": null
    },
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar.json",
        "title": "Acuity Scheduling API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-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-microsoft-graph-calendar.json",
        "title": "Agenda Hero vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar"
      },
      {
        "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-microsoft-graph-calendar.json",
        "title": "Apiroc Unified Calendar API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-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-microsoft-graph-calendar.json",
        "title": "Aurinko Calendar API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar"
      },
      {
        "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-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-truto-calendar.json",
        "title": "Cal.com API v2 + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.json",
        "title": "Calendly API + MCP vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar"
      },
      {
        "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-microsoft-graph-calendar.json",
        "title": "Cozi Family Organizer vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-microsoft-graph-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-microsoft-graph-calendar.json",
        "title": "Cronofy API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-microsoft-graph-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-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-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-nylas-calendar.json",
        "title": "Microsoft Graph Calendar API vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-reclaim-ai.json",
        "title": "Microsoft Graph Calendar API vs Reclaim.ai",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-reclaim-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.json",
        "title": "Microsoft Graph Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.json",
        "title": "Microsoft Graph Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-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/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"
      },
      {
        "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": 12,
        "edge": "truto-calendar",
        "key": "reliability",
        "microsoft-graph-calendar": 65,
        "name": "Reliability",
        "truto-calendar": 77,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "microsoft-graph-calendar",
        "key": "schema",
        "microsoft-graph-calendar": 93,
        "name": "Schema \u0026 documentation",
        "truto-calendar": 75,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "microsoft-graph-calendar",
        "key": "ergonomics",
        "microsoft-graph-calendar": 88,
        "name": "Agent ergonomics",
        "truto-calendar": 71,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "microsoft-graph-calendar",
        "key": "security",
        "microsoft-graph-calendar": 72,
        "name": "Security \u0026 auth",
        "truto-calendar": 52,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "microsoft-graph-calendar",
        "key": "payments",
        "microsoft-graph-calendar": 35,
        "name": "Payments \u0026 pricing",
        "truto-calendar": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "microsoft-graph-calendar",
        "key": "maintenance",
        "microsoft-graph-calendar": 76,
        "name": "Maintenance \u0026 community",
        "truto-calendar": 50,
        "weight": 7
      },
      {
        "by": 15,
        "edge": "microsoft-graph-calendar",
        "key": "transparency",
        "microsoft-graph-calendar": 76,
        "name": "Transparency \u0026 trust",
        "truto-calendar": 61,
        "weight": 7
      }
    ],
    "summary": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust. Both do calendar access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "microsoft-graph-calendar": "findMeetingTimes suggests slots across attendees and rooms, getSchedule returns free/busy for many people, and `transactionId` stops a retried create from double-booking. Each app gets four concurrent requests per mailbox. Microsoft published eight Critical, already mitigated CVEs for Exchange Online and Graph in 2026, and the JavaScript client's two security fixes remain unreleased.",
      "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/microsoft-graph-calendar-vs-truto-calendar",
    "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.min.md"
  },
  "markdown": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust. Both do calendar access.\n\n- Microsoft Graph Calendar API: grade C, 58.7/100, rank #736 of 1510. Markdown https://www.anchorterminal.com/tools/microsoft-graph-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.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### Microsoft Graph Calendar API (C)\n\nGood for: Agents working inside Microsoft 365 tenants, especially when they need meeting-time suggestions across people and rooms.\n\nAhead on:\n- Schema \u0026 documentation, 93 against 75\n- Agent ergonomics, 88 against 71\n- Security \u0026 auth, 72 against 52\n- Payments \u0026 pricing, 35 against 20\n- Maintenance \u0026 community, 76 against 50\n- Transparency \u0026 trust, 76 against 61\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: 4 concurrent requests per app per mailbox\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\nAlso in its favour:\n- No incidents deducted, where Microsoft Graph Calendar API loses 14 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### Maintenance \u0026 community: Microsoft Graph Calendar API +26\n\n- Microsoft Graph Calendar API (76): msgraph-sdk-python v1.65.0 on 22 October 2026 (30). Five Python SDK tags since 4 August (v1.61.0 on 5 August to v1.65.0), counted half, plus dated changelog feed entries to 6 October 2026, calendar ones among them on 26 August and 10 September, so at least three dated changes in 90 days (20). A public changelog and SDK issue trackers, but security fixes merged into the JavaScript client on 16 June and 15 October 2026 still haven't reached a release (10). Current SDKs in most languages, with the JavaScript client the exception at 3.0.7 from 19 September 2023 (10). Active tagging on the Python repository, none of it reaching the JavaScript package (6). 30+20+10+10+6 = 76.\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### Security \u0026 auth: Microsoft Graph Calendar API +20\n\n- Microsoft Graph Calendar API (72): OAuth 2.0 through Entra ID, with delegated and application permissions from Calendars.ReadBasic (no bodies) through Calendars.Read to Calendars.ReadWrite (30). Calendars.ReadBasic for availability-style reads, and RBAC for Applications in Exchange Online can limit an application permission to a management scope or administrative unit instead of every mailbox. Nothing asks for confirmation before a delete (18). Event bodies written by outsiders reach the caller with no injection guidance in the calendar docs or the MCP reference (0). Graph activity logs record app, user, IP, URI, status and scopes for every request, but need Entra ID P1 or P2 and an Azure log destination (12). microsoft.com's security.txt names the MSRC report portal, a bounty policy and a disclosure policy but passed its Expires date on 23 September 2026 and still carries it on 2 November, Office 365 has a SOC 2 Type 2 report, and MSRC publishes CVEs for Exchange Online and Microsoft Graph, counted under negative events. Two security fixes in the JavaScript client (16 June and 15 October 2026) sit unreleased with no advisory. Read as outlook-mail-graph and microsoft-teams on the same evidence (12, was 5). 30+18+0+12+12 = 72.\n- Truto Unified Calendar API (52): API tokens are per environment and sent as Bearer headers; no scopes or expiry for them were found (20 of 30). Per-account MCP servers can be limited to read methods or tags and set to expire, and the customer's connection form can restrict access to specific resources, but the REST token reaches every integrated account in its environment (14 of 20). Event titles, descriptions and attendee text from outside parties pass through, and no prompt-injection guidance was found (0). Plans keep request logs 30 or 90 days (10 of 15). SOC 2 is stated in a 2023 blog post, with no trust page, security.txt or disclosure policy found (8 of 20). 20 + 14 + 0 + 10 + 8 = 52.\n\n### Schema \u0026 documentation: Microsoft Graph Calendar API +18\n\n- Microsoft Graph Calendar API (93): OpenAPI for all of Graph v1.0 in microsoftgraph/msgraph-metadata, plus CSDL metadata (25). No llms.txt, but every learn.microsoft.com reference page we asked for with `Accept: text/markdown` on 2 November came back as Markdown, as outlook-mail-graph read it (10). Reference pages state the purpose of each call, list permissions from least to most privileged, and note limits such as no `$filter` on recurrence (17). Typed properties and enums in the metadata (13). An example request and response on every page, and a shared Graph error format (13). v1.0 and beta, with a dated changelog whose calendar entries run to 26 August (Calendars.Read.All and Calendars.ReadWrite.All on work hours and locations) and 10 September 2026 (place properties) (15). 25+10+17+13+13+15 = 93.\n- Truto Unified Calendar API (75): An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75.\n\n### Agent ergonomics: Microsoft Graph Calendar API +17\n\n- Microsoft Graph Calendar API (88): `$select`, `$top`, `bodyPreview` and `Prefer: outlook.body-content-type=\"text\"` keep event payloads small (23). `@odata.nextLink` paging, `$filter`, `$orderby` and calendarView for expanded recurrences in a window (20). Graph errors carry a code, message and request ID, and 429s say which throttle scope was hit (17). `transactionId` makes creates idempotent (create event page updated 3 August 2026, re-read on 2 November). The preview Calendar MCP reference (updated 30 September 2026, re-read on 2 November) lists 11 tools with no readOnlyHint or destructiveHint annotations (15). Official SDKs in .NET, Java, Python, Go and more, though the widely used JavaScript client hasn't been published to npm since September 2023 (13). 23+20+17+15+13 = 88.\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### Payments \u0026 pricing: Microsoft Graph Calendar API +15\n\n- Microsoft Graph Calendar API (35): No x402, MPP or L402 (0). Calendar endpoints aren't on the metered API list (re-read on 2 November, only SharePoint and OneDrive assignSensitivityLabel is metered) and Microsoft 365 plan prices are public, but work calendars need a licensed mailbox (15). Personal Outlook.com accounts work with delegated permissions at no cost and no card (20). A person registers an app in Entra and, for application permissions, an admin consents (0). 0+15+20+0 = 35.\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### Transparency \u0026 trust: Microsoft Graph Calendar API +15\n\n- Microsoft Graph Calendar API (76): Closed service under the Microsoft APIs terms of use, with MIT SDKs (15). Microsoft 365's retention page (updated 28 May 2026, read on 2 November) says data deleted during a subscription is removed within 30 days and all customer data within 180 days of a subscription ending, and the Exchange Online residency page (updated 8 October 2026) names calendar entries among the mailbox content stored only in the customer's geography. We didn't read the privacy statement or data protection addendum (20). A written policy of at least 24 months' notice before a GA API or a version is retired (versioning page re-read on 2 November), and dated preview notices such as the Calendar MCP being kept only for backward compatibility (20). Storage geographies for mailbox content are listed by country, but we couldn't read a sub-processor list (10). 15+20+20+10 = 65, read as outlook-mail-graph.\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## Score by category\n\n| Category | Weight | Microsoft Graph Calendar API | 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) | 93 | 75 | Microsoft Graph Calendar API +18 |\n| Agent ergonomics | 13% (16.2 this run) | 88 | 71 | Microsoft Graph Calendar API +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 72 | 52 | Microsoft Graph Calendar API +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 20 | Microsoft Graph Calendar API +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 50 | Microsoft Graph Calendar API +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 61 | Microsoft Graph Calendar API +15 |\n| Negative events | ≤15 | -14 | 0 | |\n| **Total** | | **58.7 · C** | **60.4 · C** | |\n\n## Facts side by side\n\n| Fact | Microsoft Graph Calendar API | Truto Unified Calendar API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Yin Yang Inc. |\n| Hosted endpoint | `https://graph.microsoft.com/v1.0` | no (local only) |\n| Transports | HTTP |  |\n| Auth | OAuth | API key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | MIT (SDKs) | none |\n| Tools exposed | 11 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-22 | 2026-10-26 |\n| Terms last updated | 2025-10-01 | no date given |\n| Privacy policy last updated | 2026-09-01 | 2024-10-19 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | 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 | 834 stars, 2.7M npm/wk | none |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Microsoft Graph Calendar API\n\n- -6.5 on 2 November 2026 (B to C): new evidence, correction\n- +0.1 on 27 October 2026: checklist\n- -0.5 on 8 October 2026: checklist\n\n### Truto Unified Calendar API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Microsoft Graph Calendar API.** findMeetingTimes suggests slots across attendees and rooms, getSchedule returns free/busy for many people, and `transactionId` stops a retried create from double-booking. Each app gets four concurrent requests per mailbox. Microsoft published eight Critical, already mitigated CVEs for Exchange Online and Graph in 2026, and the JavaScript client's two security fixes remain unreleased.\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### Microsoft Graph Calendar API\n\n1. Send `Prefer: outlook.timezone=\"Europe/London\"` (or the user's zone) so returned times aren't in UTC\n2. Set a `transactionId` on event creates so a retry doesn't double-book\n3. Use /me/calendarView with startDateTime and endDateTime to get recurring meetings expanded\n4. Honour `Retry-After` on 429 and keep to 4 parallel calls per mailbox\n5. Treat event bodies as untrusted input, and ask for Calendars.ReadBasic when you don't need them\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, Microsoft Graph Calendar API or Truto Unified Calendar API?\n\nTruto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema \u0026 documentation, agent ergonomics, security \u0026 auth, payments \u0026 pricing, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do Microsoft Graph Calendar API and Truto Unified Calendar API need an API key?\n\nMicrosoft Graph Calendar API uses an OAuth sign-in. Truto Unified Calendar API needs an API key.\n\n### Can an agent call Microsoft Graph Calendar API and Truto Unified Calendar API without installing anything?\n\nMicrosoft Graph Calendar API has a hosted endpoint at https://graph.microsoft.com/v1.0. 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/microsoft-graph-calendar-vs-truto-calendar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"microsoft-graph-calendar\", \"b\": \"truto-calendar\"}`. From a terminal: `anchor compare microsoft-graph-calendar truto-calendar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json and https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n\n## Other comparisons with Microsoft Graph Calendar API or Truto Unified Calendar API\n\n- [Acuity Scheduling API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar.md)\n- [Acuity Scheduling API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.md)\n- [Agenda Hero vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar.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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar.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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.md)\n- [Cal.com API v2 + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.md)\n- [Calendly API + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cozi-vs-microsoft-graph-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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-microsoft-graph-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 Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-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 Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-nylas-calendar.md)\n- [Microsoft Graph Calendar API vs Reclaim.ai](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-reclaim-ai.md)\n- [Microsoft Graph Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.md)\n- [Microsoft Graph Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.md)\n- [Nylas Calendar and Scheduler API vs 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- [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- [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-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": "Microsoft Graph Calendar API vs Truto Unified Calendar API",
        "url": ""
      }
    ],
    "description": "Truto Unified Calendar scores 60.4 (C) to Microsoft Graph Calendar's 58.7 (C) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Microsoft Graph Calendar API C 58.7",
      "Truto Unified Calendar API C 60.4",
      "scores"
    ],
    "h1": "Microsoft Graph Calendar API vs Truto Unified Calendar API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/microsoft-graph-calendar-vs-truto-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Microsoft Graph Calendar vs Truto Unified Calendar (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar"
  },
  "tokens": {
    "markdown": 5200,
    "slim": 2980
  },
  "version": 1
}
