{
  "data": {
    "a": {
      "slug": "cronofy",
      "name": "Cronofy API",
      "vendor": "Cronofy",
      "vendorUrl": "https://www.cronofy.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Calendar sync and scheduling API from a UK company.",
      "url": "https://www.anchorterminal.com/tools/cronofy",
      "markdownUrl": "https://www.anchorterminal.com/tools/cronofy.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cronofy.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cronofy.json",
      "repo": "https://github.com/cronofy/cronofy-node",
      "license": "MIT (SDKs)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.cronofy.com",
      "packages": [
        {
          "registry": "npm",
          "name": "cronofy"
        },
        {
          "registry": "pypi",
          "name": "pycronofy"
        }
      ],
      "auth": "mixed",
      "authNotes": "Each user connects through Cronofy's OAuth flow and gets an access token. Application-level calls such as Availability take the application's key as a Bearer token. The MCP server takes the `client_secret` of an internal application as a Bearer token for single-tenant use, or OAuth 2.0 for multi-tenant use.",
      "pricing": "paid",
      "pricingNotes": "Free developer account for building and testing. Emerging $819 a month billed yearly for up to 500 synced accounts, then $1.39 each a month. Growth $2,399 a month billed yearly for up to 3,000, then $0.69 each. Strategic is custom with priority support. The Meeting Agents add-on costs $0.79 an hour for 25 to 4,000 hours, with a $99 monthly minimum on its own and the first 24 hours free (https://www.cronofy.com/pricing).",
      "priceSummary": "$819 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 51,
        "npmWeekly": 10797,
        "pypiWeekly": 10097,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.cronofy.com/developers/",
      "llmsTxt": "https://docs.cronofy.com/llms.txt",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "webhooks",
        "typescript",
        "python",
        "enterprise",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.4,
        "grade": "B",
        "agentReady": false,
        "rank": 182,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 56,
          "payments": 30,
          "reliability": 85,
          "schema": 58,
          "security": 60,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`. Production pricing starts at $819 a month billed yearly.",
        "strengths": [
          "OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`",
          "Event writes keyed on your `event_id`, so a retried create updates instead of duplicating",
          "99.99% uptime guarantee on Emerging and Growth",
          "Retention published per data type, such as 30 days for third-party events after disconnection",
          "ISO 27001, 27018 and 27701, SOC 2 Type 2 and a public bug bounty"
        ],
        "weaknesses": [
          "Production pricing starts at $819 a month billed yearly",
          "No OpenAPI spec or security.txt",
          "The changelog has no dates and its latest entries are years old",
          "MCP server is early access with no published tool list, and single-tenant mode takes the application secret",
          "429 guidance says only to pause, with no Retry-After"
        ],
        "agentNotes": [
          "Call the data centre host the account was created in (api-uk, api-de and so on), since data never crosses regions",
          "Reuse the same `event_id` when retrying an event write, since Cronofy upserts on it",
          "Ask for `response_format` slots when you want bookable times rather than free periods",
          "On 423, ask the user to relink, since Cronofy has already emailed them",
          "Keep under 50 requests a second and 500 a minute, and pause on 429"
        ],
        "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": 64.4
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 56,
          "payments": 30,
          "reliability": 85,
          "schema": 58,
          "security": 60,
          "transparency": 58
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST https://api.cronofy.com/v1/availability \\\n  -H \"Authorization: Bearer $CRONOFY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"participants\":[{\"members\":[{\"sub\":\"acc_5ba21743f408617d1269ea1e\"}],\"required\":\"all\"}],\"required_duration\":{\"minutes\":30},\"query_periods\":[{\"start\":\"2026-10-01T09:00:00Z\",\"end\":\"2026-10-01T17:00:00Z\"}],\"response_format\":\"slots\"}'",
        "claudeCode": "claude mcp add --transport http cronofy https://api.cronofy.com/v1/mcp_server --header \"Authorization: Bearer $CRONOFY_CLIENT_SECRET\"",
        "config": {
          "mcpServers": {
            "cronofy": {
              "headers": {
                "Authorization": "Bearer ${CRONOFY_CLIENT_SECRET}"
              },
              "url": "https://api.cronofy.com/v1/mcp_server"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/cronofy"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Emerging",
          "unit": "month",
          "usd": 819,
          "note": "Up to 500 synced accounts, billed yearly"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 2399,
          "note": "Up to 3,000 synced accounts, billed yearly"
        },
        {
          "item": "Extra synced account on Emerging",
          "unit": "account-month",
          "usd": 1.39
        },
        {
          "item": "Extra synced account on Growth",
          "unit": "account-month",
          "usd": 0.69
        }
      ],
      "provenance": {
        "legalEntity": "Cronofy Limited",
        "domain": "cronofy.com",
        "domainRegistered": "2014-10-06",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.cronofy.com/policies/terms-of-service/",
        "privacy": "https://docs.cronofy.com/policies/privacy-notice/",
        "statusPage": "https://status.cronofy.com",
        "changelog": "https://changelog.cronofy.com",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms (updated 24 September 2026) name Cronofy Limited, company number 07878590, 9a Beck Street, Nottingham, under the laws of England and Wales.",
          "www.cronofy.com/.well-known/security.txt returns 404.",
          "The status page lists the API, Scheduler, Meeting Agents, conferencing services and each major calendar provider as separate components."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cronofy.json",
      "live": {
        "slug": "cronofy",
        "probe": {
          "target": "https://api.cronofy.com",
          "method": "get",
          "lastAt": "2026-10-04T23:48:07.024347541Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 267,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 265,
          "p95ms24h": 305,
          "samples24h": 272,
          "samples30d": 898,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cronofy.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:10.04805259Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "cronofy",
            "version": "3.8.4",
            "seenAt": "2026-10-04T16:24:50.006903677Z"
          },
          {
            "registry": "pypi",
            "name": "pycronofy",
            "version": "2.1.1",
            "released": "2026-09-25",
            "seenAt": "2026-10-04T16:24:51.846800426Z"
          }
        ],
        "githubStars": 51,
        "npmWeekly": 13415,
        "pypiWeekly": 7328,
        "securityTxt": {
          "url": "https://cronofy.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:04.962526224Z"
        },
        "llmsTxt": {
          "url": "https://docs.cronofy.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:28.77497468Z"
        },
        "domain": {
          "domain": "cronofy.com",
          "registered": "2014-10-06",
          "source": "https://rdap.verisign.com/com/v1/domain/cronofy.com",
          "checkedAt": "2026-10-04T13:09:51.714116739Z"
        },
        "pages": [
          {
            "url": "https://changelog.cronofy.com",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:50.385949335Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c6a5150f60a1"
          },
          {
            "url": "https://www.cronofy.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:56.536978328Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "242d022a202a"
          },
          {
            "url": "https://docs.cronofy.com/policies/privacy-notice/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:31.888004345Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e2e1ebea1a4c"
          },
          {
            "url": "https://docs.cronofy.com/policies/terms-of-service/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:34.034365666Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7298fc93e38a"
          }
        ],
        "updatedAt": "2026-10-04T23:49:10.04805259Z"
      }
    },
    "b": {
      "slug": "nylas-calendar",
      "name": "Nylas Calendar and Scheduler API",
      "vendor": "Nylas",
      "vendorUrl": "https://www.nylas.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Unified calendar API over Google, Microsoft 365 and Outlook, Exchange (EWS) and iCloud.",
      "url": "https://www.anchorterminal.com/tools/nylas-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/nylas-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nylas-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nylas-calendar.json",
      "repo": "https://github.com/nylas/nylas-nodejs",
      "license": "MIT (SDKs)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.us.nylas.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "nylas"
        },
        {
          "registry": "pypi",
          "name": "nylas"
        }
      ],
      "auth": "mixed",
      "authNotes": "Application API key as a Bearer token. Each connected user is a grant, created through Nylas hosted OAuth or your own provider credentials, and addressed as /v3/grants/\u003cgrant_id\u003e. The hosted MCP takes the same API key in the `Authorization` header.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 5 email and calendar connected accounts, 5 Notetaker bot hours and 3 Agent Accounts, no card. Essentials $15 a month with 10 email and calendar accounts ($2.25 each after), 10 calendar-only accounts ($1.70 each after), 10 Notetaker hours then $0.80 an hour, and 10 Agent Accounts. Pro $49 a month with 25 email and calendar accounts ($2.00 each after), 35 calendar-only accounts ($1.50 each after), 70 Notetaker hours then $0.70 an hour, and 50 Agent Accounts then $0.40 each. Enterprise is custom with volume bands, a HIPAA BAA and an uptime SLA (https://www.nylas.com/pricing/).",
      "priceSummary": "$15 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 38,
      "popularity": {
        "githubStars": 181,
        "npmWeekly": 281223,
        "pypiWeekly": 103888,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.nylas.com/docs/v3/calendar/",
      "llmsTxt": "https://developer.nylas.com/llms.txt",
      "openapi": "https://developer.nylas.com/openapi.json",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "webhooks",
        "typescript",
        "python",
        "enterprise",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 87,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 88,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 59,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars. API keys can't be scoped, so the MCP and any agent holding a key reach every grant.",
        "strengths": [
          "One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars",
          "Free plan with 5 connected accounts and no card",
          "MCP docs warn about hidden instructions in calendar events and email, and sends need a confirmation call",
          "API keys with an expiry, rotated and revoked through the admin API",
          "Dated changelog with 20 entries between 20 August and 28 September 2026"
        ],
        "weaknesses": [
          "API keys can't be scoped, so the MCP and any agent holding a key reach every grant",
          "No idempotency key on event writes, only on email send",
          "Several status incidents since July on email, IMAP and webhooks, including about six hours on 10 September",
          "Extra connected accounts cost $1.50 to $2.25 a month each",
          "No security.txt on nylas.com"
        ],
        "agentNotes": [
          "Address calendar calls to /v3/grants/\u003cgrant_id\u003e, one grant per connected account",
          "List events in the window before retrying a create, since event writes have no idempotency key",
          "Point the MCP client at mcp.eu.nylas.com if the application lives in the EU region",
          "On 429, use the passed-through `Retry-After` if present, otherwise back off per grant",
          "Mint a short-lived API key for the agent with `expires_in` rather than sharing the main one"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.3
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 88,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 59,
          "transparency": 67
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.us.nylas.com/v3/grants/$NYLAS_GRANT_ID/calendars?limit=5\" \\\n  -H \"Authorization: Bearer $NYLAS_API_KEY\"",
        "claudeCode": "claude mcp add --transport http nylas https://mcp.us.nylas.com --header \"Authorization: Bearer $NYLAS_API_KEY\"",
        "config": {
          "mcpServers": {
            "nylas": {
              "headers": {
                "Authorization": "Bearer ${NYLAS_API_KEY}"
              },
              "url": "https://mcp.us.nylas.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/nylas-calendar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Essentials",
          "unit": "month",
          "usd": 15,
          "note": "10 email and calendar plus 10 calendar-only accounts"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 49,
          "note": "25 email and calendar plus 35 calendar-only accounts, billed monthly"
        },
        {
          "item": "Extra calendar-only account on Essentials",
          "unit": "account-month",
          "usd": 1.7
        },
        {
          "item": "Extra calendar-only account on Pro",
          "unit": "account-month",
          "usd": 1.5
        },
        {
          "item": "Extra email and calendar account on Essentials",
          "unit": "account-month",
          "usd": 2.25
        },
        {
          "item": "Extra email and calendar account on Pro",
          "unit": "account-month",
          "usd": 2
        },
        {
          "item": "Extra Agent Account on Pro",
          "unit": "account-month",
          "usd": 0.4
        }
      ],
      "provenance": {
        "legalEntity": "Nylas, Inc.",
        "domain": "nylas.com",
        "domainRegistered": "2001-11-07",
        "domainNote": "nylas.com was registered in 2001, years before Nylas started, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.nylas.com/legal/terms/",
        "privacy": "https://www.nylas.com/privacy-policy/",
        "statusPage": "https://status-v3.nylas.com",
        "changelog": "https://developer.nylas.com/docs/changelogs/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms (updated 23 June 2025) name Nylas, Inc. in Palo Alto, California, under California law with arbitration.",
          "www.nylas.com/.well-known/security.txt returns 404.",
          "The status page for the v3 API is status-v3.nylas.com."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nylas-calendar.json",
      "live": {
        "slug": "nylas-calendar",
        "probe": {
          "target": "https://api.us.nylas.com/v3",
          "method": "get",
          "lastAt": "2026-10-04T23:48:12.775775112Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 153,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 243,
          "samples24h": 272,
          "samples30d": 898,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status-v3.nylas.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:19.84325785Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "nylas/nylas-nodejs",
            "version": "v8.4.0",
            "released": "2026-06-24",
            "seenAt": "2026-10-04T16:34:51.31355139Z"
          },
          {
            "registry": "npm",
            "name": "nylas",
            "version": "8.4.0",
            "seenAt": "2026-10-04T16:34:50.701558588Z"
          },
          {
            "registry": "pypi",
            "name": "nylas",
            "version": "6.18.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-04T16:34:51.125439411Z"
          }
        ],
        "githubStars": 181,
        "npmWeekly": 295779,
        "pypiWeekly": 96868,
        "securityTxt": {
          "url": "https://nylas.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.20161693Z"
        },
        "llmsTxt": {
          "url": "https://developer.nylas.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:03.703910979Z"
        },
        "domain": {
          "domain": "nylas.com",
          "registered": "2001-11-07",
          "source": "https://rdap.verisign.com/com/v1/domain/nylas.com",
          "checkedAt": "2026-10-04T13:09:31.916917182Z"
        },
        "pages": [
          {
            "url": "https://developer.nylas.com/docs/changelogs/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:38.470063087Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bf0fcf97ac8a"
          },
          {
            "url": "https://www.nylas.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:33.357432768Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8ef54aba9b2d"
          },
          {
            "url": "https://www.nylas.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:35.413394886Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7c706d098f29"
          },
          {
            "url": "https://www.nylas.com/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:31.29712534Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b2a32376d8c2"
          }
        ],
        "updatedAt": "2026-10-04T23:49:19.84325785Z"
      }
    },
    "summary": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cronofy API's 64.4 (B). Both do calendar read. The largest gap is schema \u0026 documentation, 33 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar",
    "json": "https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar.md",
    "slim": "https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar.min.md"
  },
  "markdown": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cronofy API's 64.4 (B). Both do calendar read. The largest gap is schema \u0026 documentation, 33 points.\n\n- Cronofy API: grade B, 64.4/100, rank #182 of 452. Markdown https://www.anchorterminal.com/tools/cronofy.md · JSON https://www.anchorterminal.com/api/v1/tools/cronofy.json\n- Nylas Calendar and Scheduler API: grade BB, 71.3/100, rank #87 of 452. Markdown https://www.anchorterminal.com/tools/nylas-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/nylas-calendar.json\n\n## Which one, for what\n\nPick Cronofy API for reliability (+10), agent ergonomics (+5).\n\nPick Nylas Calendar and Scheduler API for schema \u0026 documentation (+33), payments \u0026 pricing (+10), maintenance \u0026 community (+32), transparency \u0026 trust (+5).\n\n## Score by category\n\n| Category | Weight | Cronofy API | Nylas Calendar and Scheduler API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 75 | Cronofy API +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 91 | Nylas Calendar and Scheduler API +33 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 71 | Cronofy API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 59 | Cronofy API +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Nylas Calendar and Scheduler API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 56 | 88 | Nylas Calendar and Scheduler API +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 79 | Nylas Calendar and Scheduler API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **64.4 · B** | **71.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Cronofy API | Nylas Calendar and Scheduler API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Cronofy | Nylas |\n| Hosted endpoint | `https://api.cronofy.com` | `https://api.us.nylas.com/v3` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | MIT (SDKs) | MIT (SDKs) |\n| Tools exposed | none | 38 |\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 | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-25 | 2026-09-30 |\n| Popularity | 51 stars, 11k npm/wk, 10k PyPI/wk | 181 stars, 281k npm/wk, 104k PyPI/wk |\n| Agent reviews | 4/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Cronofy API.** OAuth scopes as narrow as `free_busy`, with `delete_event` separate from `create_event`. Production pricing starts at $819 a month billed yearly.\n\n**Nylas Calendar and Scheduler API.** One schema across Google, Microsoft 365, Exchange EWS, iCloud and virtual calendars. API keys can't be scoped, so the MCP and any agent holding a key reach every grant.\n\n## Before you call either\n\n### Cronofy API\n\n1. Call the data centre host the account was created in (api-uk, api-de and so on), since data never crosses regions\n2. Reuse the same `event_id` when retrying an event write, since Cronofy upserts on it\n3. Ask for `response_format` slots when you want bookable times rather than free periods\n4. On 423, ask the user to relink, since Cronofy has already emailed them\n5. Keep under 50 requests a second and 500 a minute, and pause on 429\n\n### Nylas Calendar and Scheduler API\n\n1. Address calendar calls to /v3/grants/\u003cgrant_id\u003e, one grant per connected account\n2. List events in the window before retrying a create, since event writes have no idempotency key\n3. Point the MCP client at mcp.eu.nylas.com if the application lives in the EU region\n4. On 429, use the passed-through `Retry-After` if present, otherwise back off per grant\n5. Mint a short-lived API key for the agent with `expires_in` rather than sharing the main one\n\n## Other comparisons with Cronofy API or Nylas Calendar and Scheduler API\n\n- [Apiroc Unified Calendar API vs Cronofy API](https://www.anchorterminal.com/compare/apiroc-vs-cronofy.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 Cronofy API](https://www.anchorterminal.com/compare/cal-com-vs-cronofy.md)\n- [Cal.com API v2 + MCP vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/cal-com-vs-nylas-calendar.md)\n- [Calendly API + MCP vs Cronofy API](https://www.anchorterminal.com/compare/calendly-vs-cronofy.md)\n- [Calendly API + MCP vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/calendly-vs-nylas-calendar.md)\n- [Cronofy API vs Google Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-google-calendar-api.md)\n- [Cronofy API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-microsoft-graph-calendar.md)\n- [Google Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/google-calendar-api-vs-nylas-calendar.md)\n- [Microsoft Graph Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-nylas-calendar.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "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": "Cronofy API vs Nylas Calendar and Scheduler API",
        "url": ""
      }
    ],
    "description": "Nylas Calendar and Scheduler API has a score of 71.3 (BB) against Cronofy API's 64.4 (B). Both do calendar read. The largest gap is schema \u0026 documentation, 33 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cronofy API B 64.4",
      "Nylas Calendar and Scheduler API BB 71.3",
      "scores"
    ],
    "h1": "Cronofy API vs Nylas Calendar and Scheduler API",
    "image": "https://www.anchorterminal.com/assets/og/compare-cronofy-vs-nylas-calendar.png",
    "path": "/compare/cronofy-vs-nylas-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cronofy API vs Nylas Calendar and Scheduler API for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/cronofy-vs-nylas-calendar"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 380
  },
  "version": 1
}
