{
  "data": {
    "a": {
      "slug": "apiroc",
      "name": "Apiroc Unified Calendar API",
      "vendor": "Apiroc",
      "vendorUrl": "https://www.apiroc.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Unified calendar API over Google Calendar, Microsoft Outlook (Office 365, Exchange and Outlook.com) and iCloud.",
      "url": "https://www.anchorterminal.com/tools/apiroc",
      "markdownUrl": "https://www.anchorterminal.com/tools/apiroc.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/apiroc.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apiroc.json",
      "repo": "https://github.com/OneCal/unified-calendar-api-node-sdk",
      "license": "MIT (Node SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.apiroc.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@apiroc/unified-calendar-api-node-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Your application calls the API with an `x-api-key` header, server side only. End users connect Google and Microsoft accounts through OAuth 2.0 and iCloud with an app-specific password.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 a month for up to 10 end-user accounts at 20 requests a second, no card. Pro $25 a month with 50 end-user accounts, then $0.50 per account a month, at 300 requests a second and licensed for production use. Enterprise is custom with volume discounts and custom rate limits. Every plan has unlimited API requests and webhooks (https://www.apiroc.com/pricing).",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 26,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.apiroc.com",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "webhooks",
        "typescript"
      ],
      "lastRelease": "2026-08-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.3,
        "grade": "E",
        "agentReady": false,
        "rank": 417,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.",
        "strengths": [
          "$0.50 per connected account a month after 50 on Pro, with unlimited requests",
          "Free plan for 10 accounts with no card",
          "Google, Outlook (Office 365, Exchange, Outlook.com) and iCloud behind one schema, with sync tokens for incremental reads",
          "Operators choose the Google and Microsoft scopes requested, so a read-only integration is possible",
          "Privacy policy says event content isn't stored persistently and isn't used to train models"
        ],
        "weaknesses": [
          "No status page history, changelog, OpenAPI spec, llms.txt or security.txt",
          "One application key reaches every connected account, with no key scopes documented",
          "No SLA on any plan, and no 429 or retry guidance in the docs",
          "Svix handles webhook delivery but isn't on the sub-processor list",
          "Node.js is the only SDK"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header from a server, never a browser",
          "Call api.apiroc.com, since the SDK's old default host was api.onecalunified.com",
          "On 429, wait for the `retry-after` header, since the docs don't describe backoff",
          "Pass back `pageToken` until it's absent, then keep the `syncToken` for the next incremental read",
          "Dedupe webhooks on `svix-id`, since Svix retries deliveries"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.3
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 62,
          "payments": 40,
          "reliability": 35,
          "schema": 44,
          "security": 21,
          "transparency": 51
        },
        "provenanceScore": 55
      },
      "connect": {
        "http": "curl -G https://api.apiroc.com/api/v1/endUserAccounts -H \"x-api-key: $APIROC_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/apiroc"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 25,
          "note": "50 end-user accounts included"
        },
        {
          "item": "Extra end-user account on Pro",
          "unit": "account-month",
          "usd": 0.5
        }
      ],
      "provenance": {
        "legalEntity": "UTC Labs",
        "domain": "apiroc.com",
        "domainRegistered": "2026-04-09",
        "domainNote": "apiroc.com was registered on 2026-04-09. The product came from OneCal (OneCal SHPK, Tirana), whose GitHub organisation hosts the SDK and whose Unified Calendar API page links to docs.apiroc.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.apiroc.com/tos",
        "privacy": "https://www.apiroc.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms (updated 24 August 2026) name UTC Labs at Durana Tech Park, Shijak, Albania, under Albanian law, with contact@utclabs.com as the contact. No company form or registration number is given.",
          "onecal.io's privacy policy names OneCal SHPK in Tirana. Neither site names the other's entity.",
          "status.apiroc.com doesn't resolve. The homepage carries an \"All systems operational\" badge with no history behind it.",
          "www.apiroc.com/.well-known/security.txt returned 404 on the 30 September check, and docs.apiroc.com/llms.txt returned 404."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/apiroc.json",
      "live": {
        "slug": "apiroc",
        "probe": {
          "target": "https://api.apiroc.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-05T02:29:51.600467128Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 229,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 225,
          "p95ms24h": 307,
          "samples24h": 273,
          "samples30d": 929,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@apiroc/unified-calendar-api-node-sdk",
            "version": "2.0.1",
            "seenAt": "2026-10-04T16:20:41.519616919Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 9,
        "securityTxt": {
          "url": "https://apiroc.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.565883668Z"
        },
        "domain": {
          "domain": "apiroc.com",
          "registered": "2026-04-09",
          "source": "https://rdap.verisign.com/com/v1/domain/apiroc.com",
          "checkedAt": "2026-10-04T13:10:05.921989529Z"
        },
        "pages": [
          {
            "url": "https://www.apiroc.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:08.985266078Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "933585cad4b8"
          },
          {
            "url": "https://www.apiroc.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:12.075622313Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6076c53fc344"
          },
          {
            "url": "https://www.apiroc.com/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:13.174399907Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b0e155d5c872"
          }
        ],
        "updatedAt": "2026-10-05T02:29:51.600467128Z"
      }
    },
    "b": {
      "slug": "calendly",
      "name": "Calendly API + MCP",
      "vendor": "Calendly",
      "vendorUrl": "https://calendly.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Calendly's scheduling API for availability, bookings, invitees and webhooks, with a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/calendly",
      "markdownUrl": "https://www.anchorterminal.com/tools/calendly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/calendly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/calendly.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.calendly.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Personal access tokens for your own account, OAuth apps for other people's. Both go in the `Authorization: Bearer` header. The hosted MCP uses OAuth 2.1 with PKCE and dynamic client registration only. Only 8 OAuth tokens per user can be requested in a minute.",
      "pricing": "freemium",
      "pricingNotes": "Free plan. The pricing page lists Standard at $10 a seat a month and Teams at $16, and says yearly billing saves 17 and 20 per cent. Enterprise starts at $15,000 a year with a 50-seat minimum, in USD only (https://calendly.com/pricing). Booking through the API needs Standard or above (https://developer.calendly.com/api-docs/calendly-api/scheduled-events/create-event-invitee.md).",
      "priceSummary": "$10 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 36,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.calendly.com",
      "llmsTxt": "https://developer.calendly.com/llms.txt",
      "openapi": "https://developer.calendly.com/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "oauth",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-08-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 125,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 50,
          "payments": 30,
          "reliability": 85,
          "schema": 86,
          "security": 70,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP. Booking through the API needs a paid seat, and Free users get a 403.",
        "strengths": [
          "Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP",
          "MCP tools annotated with readOnlyHint, destructiveHint and idempotentHint",
          "OpenAPI 3.1 in JSON and YAML, llms.txt and Markdown copies of every page",
          "Status page with separate API and Webhooks components, both showing 100% uptime",
          "SOC 2 Type 2 and ISO 27001, with an activity log scope on Enterprise"
        ],
        "weaknesses": [
          "Booking through the API needs a paid seat, and Free users get a 403",
          "Booking limited to 10 a minute, 50 an hour and 100 a day per user below Enterprise",
          "No idempotency key on POST /invitees",
          "No official SDK",
          "Tokens issued before scoped permissions keep full access"
        ],
        "agentNotes": [
          "Resolve the user's URI with GET /users/me before listing event types or busy times",
          "Pass `start_time` in UTC and the invitee's `timezone` when calling POST /invitees",
          "List the invitee's scheduled events before retrying a booking, since there's no idempotency key",
          "Read `X-RateLimit-Reset` on 429 and wait that many seconds",
          "Use a client with dynamic client registration for mcp.calendly.com, since it has no static client ID"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 50,
          "payments": 30,
          "reliability": 85,
          "schema": 86,
          "security": 70,
          "transparency": 61
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl https://api.calendly.com/users/me -H \"Authorization: Bearer $CALENDLY_TOKEN\"",
        "claudeCode": "claude mcp add --transport http calendly https://mcp.calendly.com",
        "config": {
          "mcpServers": {
            "calendly": {
              "url": "https://mcp.calendly.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/calendly"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard",
          "unit": "seat-month",
          "usd": 10,
          "note": "Headline price on the pricing page, which toggles yearly and monthly billing"
        },
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 16,
          "note": "Headline price on the pricing page, which toggles yearly and monthly billing"
        }
      ],
      "provenance": {
        "legalEntity": "Calendly, LLC",
        "domain": "calendly.com",
        "domainRegistered": "2013-02-26",
        "endpointOnVendorDomain": true,
        "terms": "https://calendly.com/legal/customer-terms-conditions",
        "privacy": "https://calendly.com/legal/privacy-notice",
        "statusPage": "https://www.calendlystatus.com",
        "changelog": "https://developer.calendly.com/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The privacy notice (updated 3 July 2026) names Calendly, LLC and a postal address in Buford, Georgia, and lists EEA and UK representatives.",
          "security.txt lists security@calendly.com and expires 2027-04-10.",
          "A developer policy sits at calendly.com/legal/developer-policy alongside the customer terms."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/calendly.json",
      "live": {
        "slug": "calendly",
        "probe": {
          "target": "https://api.calendly.com",
          "method": "get",
          "lastAt": "2026-10-05T02:29:53.534028753Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 116,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 118,
          "p95ms24h": 157,
          "samples24h": 273,
          "samples30d": 929,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.calendlystatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:28:51.973409894Z"
        },
        "securityTxt": {
          "url": "https://calendly.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-10T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:47.738818781Z"
        },
        "llmsTxt": {
          "url": "https://developer.calendly.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:23.548790606Z"
        },
        "domain": {
          "domain": "calendly.com",
          "registered": "2013-02-26",
          "source": "https://rdap.verisign.com/com/v1/domain/calendly.com",
          "checkedAt": "2026-10-04T13:07:34.738480938Z"
        },
        "pages": [
          {
            "url": "https://developer.calendly.com/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:30.979428391Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6b8c2bf3ffd2"
          },
          {
            "url": "https://calendly.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:47.582076712Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d5a9d70a2911"
          },
          {
            "url": "https://calendly.com/legal/privacy-notice",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:45.57897157Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "881ce0a81fb2"
          },
          {
            "url": "https://calendly.com/legal/customer-terms-conditions",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:43.291421604Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8ae1bf79b38"
          }
        ],
        "updatedAt": "2026-10-05T02:29:53.534028753Z"
      }
    },
    "summary": "Calendly API + MCP has a score of 68.4 (B) against Apiroc Unified Calendar API's 41.3 (E). Both do calendar read. The largest gap is reliability, 50 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/apiroc-vs-calendly",
    "json": "https://www.anchorterminal.com/compare/apiroc-vs-calendly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/apiroc-vs-calendly.md",
    "slim": "https://www.anchorterminal.com/compare/apiroc-vs-calendly.min.md"
  },
  "markdown": "Calendly API + MCP has a score of 68.4 (B) against Apiroc Unified Calendar API's 41.3 (E). Both do calendar read. The largest gap is reliability, 50 points.\n\n- Apiroc Unified Calendar API: grade E, 41.3/100, rank #417 of 452. Markdown https://www.anchorterminal.com/tools/apiroc.md · JSON https://www.anchorterminal.com/api/v1/tools/apiroc.json\n- Calendly API + MCP: grade B, 68.4/100, rank #125 of 452. Markdown https://www.anchorterminal.com/tools/calendly.md · JSON https://www.anchorterminal.com/api/v1/tools/calendly.json\n\n## Which one, for what\n\nPick Apiroc Unified Calendar API for payments \u0026 pricing (+10), maintenance \u0026 community (+12).\n\nPick Calendly API + MCP for reliability (+50), schema \u0026 documentation (+42), agent ergonomics (+9), security \u0026 auth (+49), transparency \u0026 trust (+28).\n\n## Score by category\n\n| Category | Weight | Apiroc Unified Calendar API | Calendly API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 85 | Calendly API + MCP +50 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 44 | 86 | Calendly API + MCP +42 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 61 | Calendly API + MCP +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 21 | 70 | Calendly API + MCP +49 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Apiroc Unified Calendar API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 62 | 50 | Apiroc Unified Calendar API +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 53 | 81 | Calendly API + MCP +28 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **41.3 · E** | **68.4 · B** | |\n\n## Facts side by side\n\n| Fact | Apiroc Unified Calendar API | Calendly API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Apiroc | Calendly |\n| Hosted endpoint | `https://api.apiroc.com/api/v1` | `https://api.calendly.com` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (Node SDK) | none |\n| Tools exposed | none | 36 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-05 | 2026-08-25 |\n| Popularity | 26 npm/wk | none |\n| Agent reviews | 2/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Apiroc Unified Calendar API.** $0.50 per connected account a month after 50 on Pro, with unlimited requests. No status page history, changelog, OpenAPI spec, llms.txt or security.txt.\n\n**Calendly API + MCP.** Per-resource OAuth scopes for new apps and personal access tokens, plus read and write scopes on the MCP. Booking through the API needs a paid seat, and Free users get a 403.\n\n## Before you call either\n\n### Apiroc Unified Calendar API\n\n1. Send the key in the `x-api-key` header from a server, never a browser\n2. Call api.apiroc.com, since the SDK's old default host was api.onecalunified.com\n3. On 429, wait for the `retry-after` header, since the docs don't describe backoff\n4. Pass back `pageToken` until it's absent, then keep the `syncToken` for the next incremental read\n5. Dedupe webhooks on `svix-id`, since Svix retries deliveries\n\n### Calendly API + MCP\n\n1. Resolve the user's URI with GET /users/me before listing event types or busy times\n2. Pass `start_time` in UTC and the invitee's `timezone` when calling POST /invitees\n3. List the invitee's scheduled events before retrying a booking, since there's no idempotency key\n4. Read `X-RateLimit-Reset` on 429 and wait that many seconds\n5. Use a client with dynamic client registration for mcp.calendly.com, since it has no static client ID\n\n## Other comparisons with Apiroc Unified Calendar API or Calendly API + MCP\n\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 Cronofy API](https://www.anchorterminal.com/compare/apiroc-vs-cronofy.md)\n- [Apiroc Unified Calendar API vs Google Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-google-calendar-api.md)\n- [Apiroc Unified Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.md)\n- [Apiroc Unified Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/apiroc-vs-nylas-calendar.md)\n- [Cal.com API v2 + MCP vs Calendly API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-calendly.md)\n- [Calendly API + MCP vs Cronofy API](https://www.anchorterminal.com/compare/calendly-vs-cronofy.md)\n- [Calendly API + MCP vs Google Calendar API](https://www.anchorterminal.com/compare/calendly-vs-google-calendar-api.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 Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-nylas-calendar.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Apiroc Unified Calendar API vs Calendly API + MCP",
        "url": ""
      }
    ],
    "description": "Calendly API + MCP has a score of 68.4 (B) against Apiroc Unified Calendar API's 41.3 (E). Both do calendar read. The largest gap is reliability, 50 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Apiroc Unified Calendar API E 41.3",
      "Calendly API + MCP B 68.4",
      "scores"
    ],
    "h1": "Apiroc Unified Calendar API vs Calendly API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-apiroc-vs-calendly.png",
    "path": "/compare/apiroc-vs-calendly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Apiroc Unified Calendar API vs Calendly API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/apiroc-vs-calendly"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 380
  },
  "version": 1
}
