{
  "data": {
    "a": {
      "slug": "savvycal",
      "name": "SavvyCal API + MCP",
      "vendor": "SavvyCal, Inc.",
      "vendorUrl": "https://savvycal.com",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "SavvyCal's scheduling API lists and books events on scheduling links, reads open time slots and manages links, webhooks and workflows, with a hosted MCP server that lets an assistant book, move and cancel meetings.",
      "url": "https://www.anchorterminal.com/tools/savvycal",
      "markdownUrl": "https://www.anchorterminal.com/tools/savvycal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/savvycal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/savvycal.json",
      "dns": "savvycal.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.savvycal.com/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Personal access tokens (`pt_secret_...`) made in Settings \u003e Developers, or OAuth 2 authorisation code apps registered there, both sent as `Authorization: Bearer`. OAuth access tokens last 2 hours with a refresh token, and the spec declares no scopes for either. The MCP server at https://savvycal.com/mcp signs in with OAuth 2.1 (PKCE S256, dynamic client registration, scopes `mcp:read` and `mcp:write`, a revocation endpoint) and needs no key.",
      "pricing": "freemium",
      "pricingNotes": "The API, webhooks and the MCP server are on every plan including Free, per the plans page. Free accounts connect calendars, make links and run polls, but people can only book a link on Basic ($12 a user a month, $120 a year) or Premium ($20 a user a month, $200 a year). No self-serve trial, a 30-day money-back guarantee instead, and no card is mentioned for Free. 25 per cent off for students, educators and nonprofits.",
      "priceSummary": "$12 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec at api.savvycal.com/v1/spec or the pricing page (checked 2026-11-03). The spec has no 402 response.",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.savvycal.com/developers",
      "llmsTxt": "https://docs.savvycal.com/llms.txt",
      "openapi": "https://api.savvycal.com/v1/spec",
      "capabilities": [
        "calendar.booking",
        "calendar.availability",
        "calendar.read",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "remote-mcp",
        "oauth",
        "llms-txt",
        "openapi",
        "webhooks",
        "status-page",
        "security-txt",
        "closed-source"
      ],
      "lastRelease": "2026-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57,
        "grade": "C",
        "agentReady": false,
        "rank": 724,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 40,
          "payments": 30,
          "reliability": 70,
          "schema": 74,
          "security": 50,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat.",
        "bestFor": "An agent booking on a person's SavvyCal links or driving their account through the MCP server.",
        "strengths": [
          "OpenAPI 3.0.0 spec at api.savvycal.com/v1/spec, llms.txt and a Markdown twin of every docs page",
          "Hosted MCP server with OAuth 2.1, PKCE, dynamic client registration and `mcp:read` and `mcp:write` scopes, included on every plan",
          "Webhooks signed with HMAC-SHA256, retried up to 20 times with exponential backoff, over 16 event types",
          "Status page with calendar connection components and no notices from June to November 2026",
          "The MCP docs say the assistant asks for confirmation before cancelling meetings, deleting links or inviting teammates"
        ],
        "weaknesses": [
          "No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)",
          "No idempotency keys, Retry-After header or official SDK",
          "No SOC 2 or ISO 27001 certification and no bug bounty, per the security page",
          "OAuth apps and personal access tokens carry no scopes, so a REST token reaches everything the user can",
          "Only one dated product update in the 90 days to 3 November 2026, and no API changelog"
        ],
        "agentNotes": [
          "Call GET /v1/links/{link_id}/slots with `from` and `until` (at most 31 days apart) and book only a returned slot; POST /v1/links/{link_id}/events refuses other times with 422",
          "Keep event creation under 10 requests a minute per link, failed attempts included, or expect 429 with no Retry-After",
          "Page with the `after` and `before` cursors from `metadata` and `limit` up to 100; an invalid filter value resets every filter to its default",
          "Connect the MCP server with a client that supports dynamic client registration, and request `mcp:read` when the task only reads",
          "Verify webhooks with HMAC-SHA256 over the raw body against `x-savvycal-signature` and answer 2xx quickly"
        ],
        "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": 57
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 40,
          "payments": 30,
          "reliability": 70,
          "schema": 74,
          "security": 50,
          "transparency": 57
        },
        "provenanceScore": 89,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.savvycal.com/v1/me -H \"Authorization: Bearer $SAVVYCAL_TOKEN\"",
        "claudeCode": "claude mcp add --transport http savvycal https://savvycal.com/mcp",
        "config": {
          "mcpServers": {
            "savvycal": {
              "url": "https://savvycal.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/calendar.booking",
        "tool": "https://letme.dev/savvycal"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "seat-month",
          "usd": 12,
          "note": "$120 a user a year billed annually"
        },
        {
          "item": "Premium",
          "unit": "seat-month",
          "usd": 20,
          "note": "$200 a user a year billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "SavvyCal, Inc.",
        "domain": "savvycal.com",
        "domainRegistered": "2020-08-12",
        "endpointOnVendorDomain": true,
        "terms": "https://savvycal.com/terms",
        "privacy": "https://savvycal.com/privacy",
        "statusPage": "https://savvycal.instatus.com",
        "changelog": "https://feedback.savvycal.com/updates",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 21 January 2026) name SavvyCal, Inc. under Minnesota law with AAA arbitration. They forbid access through automated or non-human means and the use of bots, scrapers or data-extraction tools, and do not mention the API, which the separate developer docs cover. Recorded as a fact; the public pages were read.",
          "savvycal.com/robots.txt disallows /events/ for every crawler, names ClaudeBot and anthropic-ai among twelve AI crawlers with the same rule, and sets Content-Signal ai-train=no, search=yes, ai-input=yes. docs.savvycal.com allows all with ai-train=yes. Nothing under /events/ was fetched.",
          "The privacy policy (17 October 2026) names SavvyCal, Inc., US servers, Stripe, OpenAI for advertising measurement, and a DPA with Standard Contractual Clauses. The DPA page is dated 16 January 2023.",
          "RDAP gives savvycal.com a registration date of 12 August 2020.",
          "security.txt at savvycal.com/.well-known/security.txt names security@savvycal.com, expires 2 May 2027 and points to savvycal.com/security.",
          "The status page is savvycal.instatus.com (Instatus), linked from the site footer. The What's New board at feedback.savvycal.com/updates is the product changelog."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/savvycal.json",
      "live": {
        "slug": "savvycal",
        "probe": {
          "target": "https://api.savvycal.com/v1",
          "method": "get",
          "lastAt": "2026-11-04T21:39:45.046752337Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 130,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 166,
          "p95ms24h": 237,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://savvycal.instatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:26:44.192765993Z"
        },
        "securityTxt": {
          "url": "https://savvycal.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-03T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:54:05.808454415Z"
        },
        "updatedAt": "2026-11-04T21:39:45.046752337Z"
      }
    },
    "answer": "SavvyCal API + MCP scores 57 (C) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "youcanbookme",
      "name": "YouCanBookMe API",
      "vendor": "AI Software (Capacity) UK Ltd, trading as YouCanBookMe",
      "vendorUrl": "https://youcanbook.me",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "YouCanBookMe is a booking-page service from the UK company of the same name, owned by Capacity since 2025. Its REST API manages account details, booking pages (profiles) and bookings over HTTP Basic auth, with webhooks from booking notifications.",
      "url": "https://www.anchorterminal.com/tools/youcanbookme",
      "markdownUrl": "https://www.anchorterminal.com/tools/youcanbookme.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/youcanbookme.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/youcanbookme.json",
      "dns": "youcanbookme.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.youcanbook.me/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "HTTP Basic authentication with the account email address or account ID as the username and an account API key as the password. Only the Account Owner can generate, view, copy or delete the key, under Account Password \u0026 Security \u003e Authentication and API, and the help centre says the API key is available on the Team plan. No scopes, expiry or per-user keys are described. Administrators and Contributors must ask the owner for the key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 1 calendar, 1 booking page and 30 bookings a month, with YouCanBookMe branding. Individual $9, Professional $13 and Teams $18 a seat a month, with 10 per cent off yearly and 20 per cent off for two years ($7.20, $10.40 and $14.40), per the help centre's pricing article. 14-day trial of every feature with no card, per the pricing page. API access is listed under the Team plan; webhooks need Professional or Teams.",
      "priceSummary": "$9 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, in the help centre API and webhook articles or in the API's error response (checked 2026-11-03). The API reference itself could not be read.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://ycbm.stoplight.io/",
      "capabilities": [
        "calendar.booking",
        "calendar.availability",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "free-trial",
        "no-card",
        "api-key",
        "webhooks",
        "soc2",
        "iso27001",
        "uk",
        "closed-source"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 22.5,
        "grade": "F",
        "agentReady": false,
        "rank": 1287,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 13,
          "maintenance": 28,
          "payments": 30,
          "reliability": 15,
          "schema": 10,
          "security": 24,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified.",
        "bestFor": "A booking-page product for small businesses, closest to calendly and savvycal in scheduling.",
        "strengths": [
          "SOC 2 Type II and ISO/IEC 27001:2022 (certificate issued 20 February 2024) listed on the security page, with AES-256 at rest on AWS",
          "Free plan and a 14-day trial of every feature with no card",
          "Privacy notice (16 March 2026) states retention periods, 24 months for booking data by default, and says booking data is not used to train AI models",
          "Webhook notifications on six booking triggers with a JSON payload the user shapes, on Professional and Teams",
          "The API answers with a JSON error envelope carrying a code, message and status, and declares its version in an `x-api-version` header"
        ],
        "weaknesses": [
          "The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge",
          "One account-wide API key over HTTP Basic auth, created only by the Account Owner, with no scopes or expiry documented",
          "API access is listed only on the Team plan ($18 a seat a month)",
          "No rate limits, 429 handling, idempotency keys, OpenAPI file, llms.txt or official SDK were found",
          "No security.txt, bug bounty or disclosure policy, and the status page at youcanbookmestatus.com did not resolve for us"
        ],
        "agentNotes": [
          "Ask the Account Owner for the account ID and API key, since Administrators and Contributors cannot generate one, and send them as HTTP Basic credentials",
          "Read the API reference at ycbm.stoplight.io in a browser before planning calls; its endpoints and parameters were not readable to us",
          "Treat the key as full account access and keep it out of logs, since no scoped or read-only key is documented",
          "Expect a JSON error body with `code`, `message` and `status` on failures, and check for an existing booking before repeating a create, since no idempotency key is documented",
          "Use booking-page webhooks for booking, reschedule, cancel, reminder, follow-up and no-show events instead of polling"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 22.5
          }
        ],
        "editorialScores": {
          "ergonomics": 13,
          "maintenance": 28,
          "payments": 30,
          "reliability": 15,
          "schema": 10,
          "security": 24,
          "transparency": 52
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -u \"$YCBM_ACCOUNT_ID:$YCBM_API_KEY\" https://api.youcanbook.me/v1/profiles"
      },
      "letme": {
        "capability": "https://letme.dev/calendar.booking",
        "tool": "https://letme.dev/youcanbookme"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Individual",
          "unit": "seat-month",
          "usd": 9,
          "note": "$8.10 a month yearly, $7.20 over two years, per the help centre"
        },
        {
          "item": "Professional",
          "unit": "seat-month",
          "usd": 13,
          "note": "$11.70 a month yearly, $10.40 over two years"
        },
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 18,
          "note": "Per seat. $16.20 yearly, $14.40 over two years. The plan that lists API access"
        }
      ],
      "provenance": {
        "legalEntity": "AI Software (Capacity) UK Ltd",
        "domain": "youcanbook.me",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://youcanbook.me/terms",
        "privacy": "https://youcanbook.me/privacy",
        "statusPage": "https://www.youcanbookmestatus.com",
        "changelog": "https://youcanbook.me/product-updates",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 18 March 2026) name AI Software (Capacity) UK Ltd, trading as YouCanBookMe, under English law. Clause 15.3 bars data mining, robots and similar extraction tools without written consent, and clause 7.2 bars downloading the Site's software. Recorded as a fact; the public pages were read.",
          "The privacy notice (16 March 2026) gives company number 7221202, AWS hosting in the United States, a DPA on request through HelloSign, and retention of 24 months for booking data and up to 7 years for support messages.",
          "youcanbook.me/robots.txt disallows only HubSpot preview and preference paths. support.youcanbook.me/robots.txt disallows account, search and request paths; the API article there answered a Cloudflare challenge (403), which is the host's block, not a robots rule. ycbm.capacity.com and ycbm.stoplight.io allow all.",
          "The status page linked from youcanbook.me/help, www.youcanbookmestatus.com, did not resolve from our reader on 3 November 2026 (DNS), with or without www, so no incident history was read.",
          "youcanbook.me/.well-known/security.txt returns 404. The security page gives compliance@youcanbook.me as its contact.",
          "RDAP for youcanbook.me (rdap.nic.me) could not be reached from our shell, so the registration date is blank.",
          "The product updates page at youcanbook.me/product-updates is dated by month; its newest entry is September 2026 (registered SMS numbers), which lastRelease records as the first of that month."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/youcanbookme.json",
      "live": {
        "slug": "youcanbookme",
        "probe": {
          "target": "https://api.youcanbook.me/v1",
          "method": "get",
          "lastAt": "2026-11-04T21:39:54.948803292Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 406,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 200,
          "p95ms24h": 447,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.youcanbookmestatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:27:01.611847667Z"
        },
        "securityTxt": {
          "url": "https://youcanbook.me/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:28.156243558Z"
        },
        "updatedAt": "2026-11-04T21:39:54.948803292Z"
      }
    },
    "edges": [
      {
        "by": 64,
        "category": "schema",
        "leads": "savvycal",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0.0 at api.savvycal.com/v1/spec covers all 22 operations with 56 schemas; the MCP tools' schemas could not be read without signing in (23 of 25). llms.txt and a Markdown twin of every docs page (10). Only 8 of the 22 operations carry a description, and those state constraints (events must match an open slot, an invalid filter resets every filter) rather than when to choose another endpoint (10 of 20). Required flags on 14 of 43 parameters, 34 enum properties across the schemas, `limit` bounded 1 to 100, `until` at most 31 days after `from` (12 of 15). Example values on parameters and a documented error shape keyed by field, with 400, 401, 404, 422 and 429 declared per operation, but no full response examples (10 of 15). A /v1 path and a promise that changes are additive, with dated product updates on the feedback board but no API changelog (9 of 15). 23 + 10 + 10 + 12 + 10 + 9 = 74.",
          "b": "The reference lives on Stoplight at ycbm.stoplight.io, which usually renders an OpenAPI file, but our reader got only the workspace shell, and no spec file was found at the usual paths; the help centre article on support.youcanbook.me sat behind a Cloudflare challenge. Scored absent (0 of 25). No llms.txt on youcanbook.me, the help centre or the Stoplight host (0). Descriptions, typed inputs and required fields unread (0 of 20, 0 of 15). The one response we saw is a JSON envelope with `code`, `errors`, `httpCode`, `message` and `status`, and the help centre gives a worked webhook payload (4 of 15). A /v1 path and `x-api-version: 1.18` and `x-api-revision` headers, with a product updates page dated by month and no API changelog (6 of 15). 0 + 0 + 0 + 0 + 4 + 6 = 10."
        },
        "scores": {
          "a": 74,
          "b": 10
        }
      },
      {
        "by": 55,
        "category": "reliability",
        "leads": "savvycal",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. Instatus page at savvycal.instatus.com with App, Microsoft 365, Google Calendar and Integrations components and a month-by-month history (20). No notices from June to November 2026 and 100 per cent App uptime each month, a clean record (30). The only limit with a number is in the OpenAPI spec, 10 event creations a minute per link, failed ones included; nothing covers the rest of the API (7 of 15). That 429 is declared with no Retry-After, backoff guidance or idempotency key, and webhooks are the only place retries are described (3 of 15). No SLA; the terms give the service as is (0). The v1 API is generally available and the MCP server, announced 27 October 2026, is not marked beta (10). 20 + 30 + 7 + 3 + 0 + 10 = 70.",
          "b": "Read with the hosted lines. The help page links a status page at www.youcanbookmestatus.com, but the host did not resolve from our reader with or without www on 3 November 2026, so it is scored as not established rather than as a finding about the vendor (0). No readable history (5). No rate limit with a number in the help centre articles, the pricing page or the API's own error response; the API reference could not be read (0). No 429 or retry guidance and no idempotency key found (0). No SLA, and the terms say the service is not guaranteed to be available 100 per cent of the time (0). The API reports version 1.18 in its headers and is sold on the Team plan, so generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15."
        },
        "scores": {
          "a": 70,
          "b": 15
        }
      },
      {
        "by": 40,
        "category": "ergonomics",
        "leads": "savvycal",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "List responses are sized by `limit` (default 20, at most 100) with no field selection. The MCP server lists 63 tools with no documented toolset or read-only list, though a client can ask for the `mcp:read` scope alone (10 of 25). Cursor pagination with `after`, `before` and `limit`, and date and status filters on events (17 of 20). Errors name the field, the failed validation and a limit count, which an agent can act on, but a 429 carries no wait time (14 of 20). No idempotency key on booking or link creation, and the MCP annotations could not be read; the docs say the assistant confirms before cancelling, deleting or inviting (6 of 20). Creating an event needs five fields, and there is no official SDK in any language (6 of 15). 10 + 17 + 14 + 6 + 6 = 53.",
          "b": "Response sizing, field selection and pagination are in the unread reference (3 of 25, 0 of 20). The error envelope names a machine code and a message an agent can branch on (8 of 20). No idempotency key or safe-retry guidance found (0 of 20). No official SDK, and the required parameters are unread (2 of 15). 3 + 0 + 8 + 0 + 2 = 13."
        },
        "scores": {
          "a": 53,
          "b": 13
        }
      },
      {
        "by": 26,
        "category": "security",
        "leads": "savvycal",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2 authorisation code apps with 2-hour access tokens and refresh tokens, and personal access tokens, both in the Authorization header only. The spec declares no scopes for either, and PAT expiry and revocation are not described. The MCP server uses OAuth 2.1 with PKCE S256, dynamic client registration, `mcp:read` and `mcp:write` scopes and a revocation endpoint (22 of 30). `mcp:read` gives a read-only MCP grant, and the vendor says the assistant asks before booking, cancelling, deleting or inviting. REST tokens have no read-only form (14 of 20). Invitee names, answers and metadata written by outsiders come back through events and webhooks with no injection guidance; the AI page says the assistant sees calendar conflicts but not event names (2 of 15). Webhook request logs and a Connected Apps list with revoke, but no per-call audit log for the operator (4 of 15). Valid security.txt to 2 May 2027, a security page and an SSDLC page, but no SOC 2 or ISO 27001 (the page says not yet) and no bug bounty (8 of 20). 22 + 14 + 2 + 4 + 8 = 50.",
          "b": "One account-wide API key sent as the HTTP Basic password with the account ID or email, generated and deleted by the Account Owner only; no scopes, expiry or per-user keys are documented (10 of 30). No read-only mode or confirmation step found (0 of 20). The API and webhooks carry names, answers and notes written by people who book, with no injection guidance (2 of 15). No audit log or per-call visibility found (0 of 15). SOC 2 Type II and ISO/IEC 27001:2022 (certificate 20/3433, 20 February 2024) and third-party penetration tests on the security page, but no security.txt (404), bug bounty or disclosure policy (12 of 20). 10 + 0 + 2 + 0 + 12 = 24."
        },
        "scores": {
          "a": 50,
          "b": 24
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "savvycal",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The newest dated change is the MCP integration of 27 October 2026 on the updates board (30). It is the only dated entry since 7 July, so fewer than three in 90 days (0 of 20). A public updates board, a feature request board and a support address with a stated 24-hour reply within US Central business hours (10 of 15). No official SDKs (0). No package to assess (0). 30 + 0 + 10 + 0 + 0 = 40.",
          "b": "Read as a closed service. The newest product update is dated September 2026 (registered SMS numbers), within 90 days but not 30, taking the month's first day (20 of 30). The previous entry is November 2025, so fewer than three in 90 days (0 of 20). A help centre, a community forum at forum.youcanbook.me and one-to-one support for paid users, with a product updates page that carries no API items (8 of 15). No official SDKs found (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28."
        },
        "scores": {
          "a": 40,
          "b": 28
        }
      },
      {
        "by": 12,
        "category": "transparency",
        "leads": "savvycal",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with terms that name SavvyCal, Inc. under Minnesota law and forbid automated access to the site, with the API left to the developer docs (15 of 30). The privacy policy (17 October 2026), DPA (16 January 2023) and processor list (24 October 2026) agree on US hosting, Stripe and return or destruction on termination, but no retention period is stated beyond account lifetime (22 of 30). The developer overview promises additive changes; there is no deprecation policy or dated notice, and the terms allow any feature to change without notice (5 of 20). A processor list with purposes, hosting on Fly.io in Virginia and Crunchy Bridge on AWS us-east, but no locations per processor (15 of 20). 15 + 22 + 5 + 15 = 57.",
          "b": "Closed service with terms (18 March 2026) naming AI Software (Capacity) UK Ltd under English law, which bar data-mining and robot tools without consent and let the company end membership without notice for a breach (15 of 30). The privacy notice (16 March 2026) states retention periods (24 months for booking data by default, 7 years for support messages), AWS hosting in the United States, a DPA on request and no training of external AI models on booking data; the security page says no subprocessor list is published, and the two agree on AWS (22 of 30). No deprecation policy or dated notice, and clause 18.4 allows changes to the service without notice (3 of 20). Providers are named in the privacy notice (AWS, Stripe, Google Analytics, Mixpanel, Hotjar, HubSpot) with US hosting, but there is no list with locations per processor (12 of 20). 15 + 22 + 3 + 12 = 52."
        },
        "scores": {
          "a": 73,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "SavvyCal, Inc.",
        "b": "AI Software (Capacity) UK Ltd, trading as YouCanBookMe",
        "name": "Vendor"
      },
      {
        "a": "https://api.savvycal.com/v1",
        "b": "https://api.youcanbook.me/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "63",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-27",
        "b": "2026-09-01",
        "name": "Last release"
      },
      {
        "a": "2026-01-21",
        "b": "2026-03-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-17",
        "b": "2026-03-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "SavvyCal API + MCP scores 57 (C) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, SavvyCal API + MCP or YouCanBookMe API?"
      },
      {
        "answer": "SavvyCal API + MCP takes an API key or an OAuth sign-in. YouCanBookMe API needs an API key.",
        "question": "Do SavvyCal API + MCP and YouCanBookMe API need an API key?"
      },
      {
        "answer": "Yes. SavvyCal API + MCP has a hosted endpoint at https://api.savvycal.com/v1 and YouCanBookMe API at https://api.youcanbook.me/v1.",
        "question": "Can an agent call SavvyCal API + MCP and YouCanBookMe API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 15",
          "Schema \u0026 documentation, 74 against 10",
          "Agent ergonomics, 53 against 13",
          "Security \u0026 auth, 50 against 24",
          "Maintenance \u0026 community, 40 against 28",
          "Transparency \u0026 trust, 73 against 61"
        ],
        "also": null,
        "goodFor": "An agent booking on a person's SavvyCal links or driving their account through the MCP server.",
        "slug": "savvycal",
        "watchFor": "No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A booking-page product for small businesses, closest to calendly and savvycal in scheduling.",
        "slug": "youcanbookme",
        "watchFor": "The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge"
      }
    ],
    "history": null,
    "job": {
      "capability": "calendar.booking",
      "name": "Calendar booking"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal.json",
        "title": "Acuity Scheduling API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.json",
        "title": "Agenda Hero vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal.json",
        "title": "Apiroc Unified Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal.json",
        "title": "Aurinko Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal.json",
        "title": "Cal.com API v2 + MCP vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-savvycal.json",
        "title": "Calendly API + MCP vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-savvycal.json",
        "title": "Cozi Family Organizer vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-savvycal.json",
        "title": "Cronofy API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.json",
        "title": "Google Calendar API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/nylas-calendar-vs-savvycal.json",
        "title": "Nylas Calendar and Scheduler API vs SavvyCal API + MCP",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-savvycal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-youcanbookme.json",
        "title": "Acuity Scheduling API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme.json",
        "title": "Aurinko Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme.json",
        "title": "Cal.com API v2 + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-youcanbookme.json",
        "title": "Calendly API + MCP vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme.json",
        "title": "Cronofy API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme.json",
        "title": "Nylas Calendar and Scheduler API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.json",
        "title": "SavvyCal API + MCP vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.json",
        "title": "YouCanBookMe API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.json",
        "title": "Apiroc Unified Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.json",
        "title": "Google Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-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": 55,
        "edge": "savvycal",
        "key": "reliability",
        "name": "Reliability",
        "savvycal": 70,
        "weight": 16,
        "youcanbookme": 15
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 64,
        "edge": "savvycal",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "savvycal": 74,
        "weight": 13,
        "youcanbookme": 10
      },
      {
        "by": 40,
        "edge": "savvycal",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "savvycal": 53,
        "weight": 13,
        "youcanbookme": 13
      },
      {
        "by": 26,
        "edge": "savvycal",
        "key": "security",
        "name": "Security \u0026 auth",
        "savvycal": 50,
        "weight": 14,
        "youcanbookme": 24
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "savvycal": 30,
        "weight": 10,
        "youcanbookme": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "savvycal",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "savvycal": 40,
        "weight": 7,
        "youcanbookme": 28
      },
      {
        "by": 12,
        "edge": "savvycal",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "savvycal": 73,
        "weight": 7,
        "youcanbookme": 61
      }
    ],
    "summary": "SavvyCal API + MCP scores 57 (C) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 6 of 7 scored categories. Both do calendar booking.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "savvycal": "A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat.",
      "youcanbookme": "A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme",
    "json": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.min.md"
  },
  "markdown": "SavvyCal API + MCP scores 57 (C) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 6 of 7 scored categories. Both do calendar booking.\n\n- SavvyCal API + MCP: grade C, 57/100, rank #724 of 1349. Markdown https://www.anchorterminal.com/tools/savvycal.md · JSON https://www.anchorterminal.com/api/v1/tools/savvycal.json\n- YouCanBookMe API: grade F, 22.5/100, rank #1287 of 1349. Markdown https://www.anchorterminal.com/tools/youcanbookme.md · JSON https://www.anchorterminal.com/api/v1/tools/youcanbookme.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 89 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\n\n### SavvyCal API + MCP (C)\n\nGood for: An agent booking on a person's SavvyCal links or driving their account through the MCP server.\n\nAhead on:\n- Reliability, 70 against 15\n- Schema \u0026 documentation, 74 against 10\n- Agent ergonomics, 53 against 13\n- Security \u0026 auth, 50 against 24\n- Maintenance \u0026 community, 40 against 28\n- Transparency \u0026 trust, 73 against 61\n\nWatch for: No general rate limit documented. The spec names one 429, on creating events (10 a minute per link)\n\n### YouCanBookMe API (F)\n\nGood for: A booking-page product for small businesses, closest to calendly and savvycal in scheduling.\n\nWatch for: The API reference at ycbm.stoplight.io could not be read without JavaScript, and the help centre's API article sat behind a Cloudflare challenge\n\n\n## Why the edge\n\n### Schema \u0026 documentation: SavvyCal API + MCP +64\n\n- SavvyCal API + MCP (74): OpenAPI 3.0.0 at api.savvycal.com/v1/spec covers all 22 operations with 56 schemas; the MCP tools' schemas could not be read without signing in (23 of 25). llms.txt and a Markdown twin of every docs page (10). Only 8 of the 22 operations carry a description, and those state constraints (events must match an open slot, an invalid filter resets every filter) rather than when to choose another endpoint (10 of 20). Required flags on 14 of 43 parameters, 34 enum properties across the schemas, `limit` bounded 1 to 100, `until` at most 31 days after `from` (12 of 15). Example values on parameters and a documented error shape keyed by field, with 400, 401, 404, 422 and 429 declared per operation, but no full response examples (10 of 15). A /v1 path and a promise that changes are additive, with dated product updates on the feedback board but no API changelog (9 of 15). 23 + 10 + 10 + 12 + 10 + 9 = 74.\n- YouCanBookMe API (10): The reference lives on Stoplight at ycbm.stoplight.io, which usually renders an OpenAPI file, but our reader got only the workspace shell, and no spec file was found at the usual paths; the help centre article on support.youcanbook.me sat behind a Cloudflare challenge. Scored absent (0 of 25). No llms.txt on youcanbook.me, the help centre or the Stoplight host (0). Descriptions, typed inputs and required fields unread (0 of 20, 0 of 15). The one response we saw is a JSON envelope with `code`, `errors`, `httpCode`, `message` and `status`, and the help centre gives a worked webhook payload (4 of 15). A /v1 path and `x-api-version: 1.18` and `x-api-revision` headers, with a product updates page dated by month and no API changelog (6 of 15). 0 + 0 + 0 + 0 + 4 + 6 = 10.\n\n### Reliability: SavvyCal API + MCP +55\n\n- SavvyCal API + MCP (70): Read with the hosted lines. Instatus page at savvycal.instatus.com with App, Microsoft 365, Google Calendar and Integrations components and a month-by-month history (20). No notices from June to November 2026 and 100 per cent App uptime each month, a clean record (30). The only limit with a number is in the OpenAPI spec, 10 event creations a minute per link, failed ones included; nothing covers the rest of the API (7 of 15). That 429 is declared with no Retry-After, backoff guidance or idempotency key, and webhooks are the only place retries are described (3 of 15). No SLA; the terms give the service as is (0). The v1 API is generally available and the MCP server, announced 27 October 2026, is not marked beta (10). 20 + 30 + 7 + 3 + 0 + 10 = 70.\n- YouCanBookMe API (15): Read with the hosted lines. The help page links a status page at www.youcanbookmestatus.com, but the host did not resolve from our reader with or without www on 3 November 2026, so it is scored as not established rather than as a finding about the vendor (0). No readable history (5). No rate limit with a number in the help centre articles, the pricing page or the API's own error response; the API reference could not be read (0). No 429 or retry guidance and no idempotency key found (0). No SLA, and the terms say the service is not guaranteed to be available 100 per cent of the time (0). The API reports version 1.18 in its headers and is sold on the Team plan, so generally available (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n\n### Agent ergonomics: SavvyCal API + MCP +40\n\n- SavvyCal API + MCP (53): List responses are sized by `limit` (default 20, at most 100) with no field selection. The MCP server lists 63 tools with no documented toolset or read-only list, though a client can ask for the `mcp:read` scope alone (10 of 25). Cursor pagination with `after`, `before` and `limit`, and date and status filters on events (17 of 20). Errors name the field, the failed validation and a limit count, which an agent can act on, but a 429 carries no wait time (14 of 20). No idempotency key on booking or link creation, and the MCP annotations could not be read; the docs say the assistant confirms before cancelling, deleting or inviting (6 of 20). Creating an event needs five fields, and there is no official SDK in any language (6 of 15). 10 + 17 + 14 + 6 + 6 = 53.\n- YouCanBookMe API (13): Response sizing, field selection and pagination are in the unread reference (3 of 25, 0 of 20). The error envelope names a machine code and a message an agent can branch on (8 of 20). No idempotency key or safe-retry guidance found (0 of 20). No official SDK, and the required parameters are unread (2 of 15). 3 + 0 + 8 + 0 + 2 = 13.\n\n### Security \u0026 auth: SavvyCal API + MCP +26\n\n- SavvyCal API + MCP (50): OAuth 2 authorisation code apps with 2-hour access tokens and refresh tokens, and personal access tokens, both in the Authorization header only. The spec declares no scopes for either, and PAT expiry and revocation are not described. The MCP server uses OAuth 2.1 with PKCE S256, dynamic client registration, `mcp:read` and `mcp:write` scopes and a revocation endpoint (22 of 30). `mcp:read` gives a read-only MCP grant, and the vendor says the assistant asks before booking, cancelling, deleting or inviting. REST tokens have no read-only form (14 of 20). Invitee names, answers and metadata written by outsiders come back through events and webhooks with no injection guidance; the AI page says the assistant sees calendar conflicts but not event names (2 of 15). Webhook request logs and a Connected Apps list with revoke, but no per-call audit log for the operator (4 of 15). Valid security.txt to 2 May 2027, a security page and an SSDLC page, but no SOC 2 or ISO 27001 (the page says not yet) and no bug bounty (8 of 20). 22 + 14 + 2 + 4 + 8 = 50.\n- YouCanBookMe API (24): One account-wide API key sent as the HTTP Basic password with the account ID or email, generated and deleted by the Account Owner only; no scopes, expiry or per-user keys are documented (10 of 30). No read-only mode or confirmation step found (0 of 20). The API and webhooks carry names, answers and notes written by people who book, with no injection guidance (2 of 15). No audit log or per-call visibility found (0 of 15). SOC 2 Type II and ISO/IEC 27001:2022 (certificate 20/3433, 20 February 2024) and third-party penetration tests on the security page, but no security.txt (404), bug bounty or disclosure policy (12 of 20). 10 + 0 + 2 + 0 + 12 = 24.\n\n### Maintenance \u0026 community: SavvyCal API + MCP +12\n\n- SavvyCal API + MCP (40): Read as a closed service. The newest dated change is the MCP integration of 27 October 2026 on the updates board (30). It is the only dated entry since 7 July, so fewer than three in 90 days (0 of 20). A public updates board, a feature request board and a support address with a stated 24-hour reply within US Central business hours (10 of 15). No official SDKs (0). No package to assess (0). 30 + 0 + 10 + 0 + 0 = 40.\n- YouCanBookMe API (28): Read as a closed service. The newest product update is dated September 2026 (registered SMS numbers), within 90 days but not 30, taking the month's first day (20 of 30). The previous entry is November 2025, so fewer than three in 90 days (0 of 20). A help centre, a community forum at forum.youcanbook.me and one-to-one support for paid users, with a product updates page that carries no API items (8 of 15). No official SDKs found (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28.\n\n### Transparency \u0026 trust: SavvyCal API + MCP +12\n\n- SavvyCal API + MCP (73): Closed service with terms that name SavvyCal, Inc. under Minnesota law and forbid automated access to the site, with the API left to the developer docs (15 of 30). The privacy policy (17 October 2026), DPA (16 January 2023) and processor list (24 October 2026) agree on US hosting, Stripe and return or destruction on termination, but no retention period is stated beyond account lifetime (22 of 30). The developer overview promises additive changes; there is no deprecation policy or dated notice, and the terms allow any feature to change without notice (5 of 20). A processor list with purposes, hosting on Fly.io in Virginia and Crunchy Bridge on AWS us-east, but no locations per processor (15 of 20). 15 + 22 + 5 + 15 = 57.\n- YouCanBookMe API (61): Closed service with terms (18 March 2026) naming AI Software (Capacity) UK Ltd under English law, which bar data-mining and robot tools without consent and let the company end membership without notice for a breach (15 of 30). The privacy notice (16 March 2026) states retention periods (24 months for booking data by default, 7 years for support messages), AWS hosting in the United States, a DPA on request and no training of external AI models on booking data; the security page says no subprocessor list is published, and the two agree on AWS (22 of 30). No deprecation policy or dated notice, and clause 18.4 allows changes to the service without notice (3 of 20). Providers are named in the privacy notice (AWS, Stripe, Google Analytics, Mixpanel, Hotjar, HubSpot) with US hosting, but there is no list with locations per processor (12 of 20). 15 + 22 + 3 + 12 = 52.\n\n## Score by category\n\n| Category | Weight | SavvyCal API + MCP | YouCanBookMe API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 15 | SavvyCal API + MCP +55 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 10 | SavvyCal API + MCP +64 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 13 | SavvyCal API + MCP +40 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 24 | SavvyCal API + MCP +26 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 40 | 28 | SavvyCal API + MCP +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 61 | SavvyCal API + MCP +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57 · C** | **22.5 · F** | |\n\n## Facts side by side\n\n| Fact | SavvyCal API + MCP | YouCanBookMe API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | SavvyCal, Inc. | AI Software (Capacity) UK Ltd, trading as YouCanBookMe |\n| Hosted endpoint | `https://api.savvycal.com/v1` | `https://api.youcanbook.me/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Tools exposed | 63 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | 2026-10-27 | 2026-09-01 |\n| Terms last updated | 2026-01-21 | 2026-03-18 |\n| Privacy policy last updated | 2026-10-17 | 2026-03-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n\n## Verdicts\n\n**SavvyCal API + MCP.** A small REST API with a public OpenAPI spec, cursor pagination and signed webhooks, plus a hosted MCP server with 63 tools, OAuth 2.1 and read and write scopes, on every plan. No general rate limit, idempotency key, SDK or certification was found, and booking through a link needs a paid seat.\n\n**YouCanBookMe API.** A booking-page service with a Team-plan REST API over HTTP Basic auth and one account-wide key, SOC 2 Type II and ISO 27001 on its security page, and a 14-day trial without a card. Its API reference renders only by JavaScript and its status page did not resolve for us, so endpoints, limits and incidents are unverified.\n\n## Before you call either\n\n### SavvyCal API + MCP\n\n1. Call GET /v1/links/{link_id}/slots with `from` and `until` (at most 31 days apart) and book only a returned slot; POST /v1/links/{link_id}/events refuses other times with 422\n2. Keep event creation under 10 requests a minute per link, failed attempts included, or expect 429 with no Retry-After\n3. Page with the `after` and `before` cursors from `metadata` and `limit` up to 100; an invalid filter value resets every filter to its default\n4. Connect the MCP server with a client that supports dynamic client registration, and request `mcp:read` when the task only reads\n5. Verify webhooks with HMAC-SHA256 over the raw body against `x-savvycal-signature` and answer 2xx quickly\n\n### YouCanBookMe API\n\n1. Ask the Account Owner for the account ID and API key, since Administrators and Contributors cannot generate one, and send them as HTTP Basic credentials\n2. Read the API reference at ycbm.stoplight.io in a browser before planning calls; its endpoints and parameters were not readable to us\n3. Treat the key as full account access and keep it out of logs, since no scoped or read-only key is documented\n4. Expect a JSON error body with `code`, `message` and `status` on failures, and check for an existing booking before repeating a create, since no idempotency key is documented\n5. Use booking-page webhooks for booking, reschedule, cancel, reminder, follow-up and no-show events instead of polling\n\n## Questions\n\n### Which is better for AI agents, SavvyCal API + MCP or YouCanBookMe API?\n\nSavvyCal API + MCP scores 57 (C) on agent readiness against YouCanBookMe API's 22.5 (F), and leads in 6 of 7 scored categories.\n\n### Do SavvyCal API + MCP and YouCanBookMe API need an API key?\n\nSavvyCal API + MCP takes an API key or an OAuth sign-in. YouCanBookMe API needs an API key.\n\n### Can an agent call SavvyCal API + MCP and YouCanBookMe API without installing anything?\n\nYes. SavvyCal API + MCP has a hosted endpoint at https://api.savvycal.com/v1 and YouCanBookMe API at https://api.youcanbook.me/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.json, and with the fewest tokens: https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"savvycal\", \"b\": \"youcanbookme\"}`. From a terminal: `anchor compare savvycal youcanbookme`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/savvycal.json and https://www.anchorterminal.com/api/v1/tools/youcanbookme.json\n\n## Other comparisons with SavvyCal API + MCP or YouCanBookMe API\n\n- [Acuity Scheduling API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/acuity-scheduling-vs-savvycal.md)\n- [Agenda Hero vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/agenda-hero-vs-savvycal.md)\n- [Apiroc Unified Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/apiroc-vs-savvycal.md)\n- [Aurinko Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal.md)\n- [Cal.com API v2 + MCP vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cal-com-vs-savvycal.md)\n- [Calendly API + MCP vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/calendly-vs-savvycal.md)\n- [Cozi Family Organizer vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cozi-vs-savvycal.md)\n- [Cronofy API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/cronofy-vs-savvycal.md)\n- [Google Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/google-calendar-api-vs-savvycal.md)\n- [Microsoft Graph Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.md)\n- [Nylas Calendar and Scheduler API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/nylas-calendar-vs-savvycal.md)\n- [Acuity Scheduling API vs YouCanBookMe API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-youcanbookme.md)\n- [Aurinko Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme.md)\n- [Cal.com API v2 + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/cal-com-vs-youcanbookme.md)\n- [Calendly API + MCP vs YouCanBookMe API](https://www.anchorterminal.com/compare/calendly-vs-youcanbookme.md)\n- [Cronofy API vs YouCanBookMe API](https://www.anchorterminal.com/compare/cronofy-vs-youcanbookme.md)\n- [Nylas Calendar and Scheduler API vs YouCanBookMe API](https://www.anchorterminal.com/compare/nylas-calendar-vs-youcanbookme.md)\n- [SavvyCal API + MCP vs Zoom Scheduler API](https://www.anchorterminal.com/compare/savvycal-vs-zoom-scheduler.md)\n- [YouCanBookMe API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/youcanbookme-vs-zoom-scheduler.md)\n- [Apiroc Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/apiroc-vs-youcanbookme.md)\n- [Google Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/google-calendar-api-vs-youcanbookme.md)\n- [Microsoft Graph Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-youcanbookme.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "SavvyCal API + MCP vs YouCanBookMe API",
        "url": ""
      }
    ],
    "description": "SavvyCal scores 57 (C) to YouCanBookMe's 22.5 (F) for calendar booking. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "SavvyCal API + MCP C 57",
      "YouCanBookMe API F 22.5",
      "scores"
    ],
    "h1": "SavvyCal API + MCP vs YouCanBookMe API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/savvycal-vs-youcanbookme",
    "published": "2026-10-01",
    "section": "tools",
    "title": "SavvyCal vs YouCanBookMe for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/savvycal-vs-youcanbookme"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 2880
  },
  "version": 1
}
