{
  "data": {
    "a": {
      "slug": "aurinko-calendar",
      "name": "Aurinko Calendar API",
      "vendor": "Yoxel, Inc.",
      "vendorUrl": "https://www.aurinko.io",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Unified calendar REST API from Yoxel, Inc. It reads and writes calendars and events on Google, Office 365, Outlook.com, Exchange and iCloud through one interface, with free/busy queries, booking profiles and webhooks.",
      "url": "https://www.anchorterminal.com/tools/aurinko-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/aurinko-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aurinko-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aurinko-calendar.json",
      "dns": "aurinko-calendar.grade.anchorterminal.com",
      "license": "Proprietary service under Yoxel's Terms of Services Agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.aurinko.io",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Self-serve. A developer signs up at app.aurinko.io and gets a client ID and secret for each application. Each end user connects a calendar through Aurinko's OAuth flow at `/v1/auth/authorize`, which returns an account access token sent as a Bearer token. Eleven scopes include `Calendar.Read` and `Calendar.ReadWrite`. Group booking and other application-level calls take the client ID and secret as Basic auth. Production use with Google or Office 365 needs the developer's own OAuth app registration with those providers.",
      "pricing": "paid",
      "pricingNotes": "$1 an active account a month for one of Calendar, Contacts or Tasks with up to 1 GB of traffic, $1.50 for Email or CRM, and $2 for any number of APIs with unlimited traffic, per the billing FAQ. A 14-day trial needs no card, and API requests are blocked when it ends without a subscription (https://docs.aurinko.io/faq/how-does-aurinko-billing-work).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.aurinko.io/",
      "llmsTxt": "https://docs.aurinko.io/llms.txt",
      "openapi": "https://apirefs.aurinko.io/assets/swagger.json",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "calendar.webhooks"
      ],
      "tags": [
        "hosted",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "closed-source",
        "free-trial"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 31.7,
        "grade": "F",
        "agentReady": false,
        "rank": 1392,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 42,
          "maintenance": 5,
          "payments": 40,
          "reliability": 15,
          "schema": 33,
          "security": 41,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-05"
        },
        "negative": 0,
        "verdict": "Aurinko's unified calendar API reads and writes Google, Microsoft, Exchange and iCloud calendars, with free/busy, meeting-time suggestions and booking profiles, from $1 an active account a month and a 14-day trial with no card. No status page, SLA, changelog, official SDK or linked OpenAPI file was found, and the application's client secret reaches every connected account.",
        "bestFor": "A product that connects many users' Google and Microsoft calendars and wants availability and booking at a low price per account.",
        "strengths": [
          "An API reference at apirefs.aurinko.io, with `llms.txt` and a Markdown copy of every docs page",
          "Availability in three forms, `/v1/calendars/freeBusy`, `/v1/calendars/suggestMeetingTimes` and booking profiles for one calendar or a group",
          "Prices published per active account a month ($1, $1.50 and $2), with a 14-day trial that needs no card",
          "Eleven OAuth scopes, with `Calendar.Read` separate from `Calendar.ReadWrite`, and `DELETE /v1/account/token` to revoke a token",
          "Docs state that event, email and contact contents are passed through and never stored, with only IDs cached for sync"
        ],
        "weaknesses": [
          "No status page, incident history or SLA found, and the terms supply the service as is",
          "No changelog, deprecation policy, official SDK or linked OpenAPI file. The only npm package, `aurinko-sdk`, is unofficial",
          "The application's client ID and secret, sent as Basic auth with `X-Aurinko-Account-Id`, reach every connected account",
          "SOC 2 is not yet held. The security statement of 18 June 2026 targets a Type I examination for Q3 2026",
          "Terms and privacy policy date from 11 August 2022, with no retention period, DPA or sub-processor list found"
        ],
        "agentNotes": [
          "Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash",
          "Send `If-Match` with the event's `etag` on `PATCH /v1/calendars/{calendarId}/events/{eventId}`. A stale value returns 412",
          "Use `primary` as the calendar ID for an account's main calendar, and page with `pageToken` until none is returned",
          "Hold a slot with `reserveForMinutes` on the booking `meeting` call, then confirm or cancel the reservation, since no idempotency key exists",
          "No rate limit, Retry-After or retry guidance was found in the docs pages read. Google and Microsoft limits apply behind the API, so back off on 429"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 31.7
          }
        ],
        "editorialScores": {
          "ergonomics": 42,
          "maintenance": 5,
          "payments": 40,
          "reliability": 15,
          "schema": 33,
          "security": 41,
          "transparency": 27
        },
        "provenanceScore": 63,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-05",
            "maintenance": "2026-11-05",
            "payments": "2026-11-05",
            "reliability": "2026-11-05",
            "schema": "2026-11-05",
            "security": "2026-11-05",
            "transparency": "2026-11-05"
          },
          "last": "2026-11-05",
          "lastMoved": "2026-11-05",
          "oldest": "2026-11-05",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H 'Authorization: Bearer \u003caccess_token\u003e' \\\n  -X GET https://api.aurinko.io/v1/calendars/primary"
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/aurinko-calendar"
      },
      "sameCompany": [
        "aurinko-email"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Unified API, one of Calendar, Contacts or Tasks",
          "unit": "account-month",
          "usd": 1,
          "note": "Per active account, up to 1 GB of traffic a month"
        },
        {
          "item": "Email or CRM",
          "unit": "account-month",
          "usd": 1.5,
          "note": "Per active account, up to 1 GB of traffic a month"
        },
        {
          "item": "Full platform, any number of APIs",
          "unit": "account-month",
          "usd": 2,
          "note": "Per active account, unlimited traffic"
        }
      ],
      "provenance": {
        "legalEntity": "Yoxel, Inc.",
        "domain": "aurinko.io",
        "domainRegistered": "2019-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.aurinko.io/terms/",
        "privacy": "https://www.aurinko.io/privacy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-05",
        "notes": [
          "The Terms of Services Agreement, last updated 11 August 2022 and re-read on 5 November 2026, names Yoxel, Inc., organised under the laws of California, and covers the website and the online services, API and workspace integrations platform included. Disputes go to binding arbitration. It bars robots, data mining and similar data extraction in connection with the Services.",
          "The privacy policy, last updated 11 August 2022, covers the site and the services, API included, and commits to Google's API Services User Data Policy and its Limited Use requirements.",
          "The API answers at api.aurinko.io, the portal at app.aurinko.io and the reference at apirefs.aurinko.io, all on the vendor's domain.",
          "www.aurinko.io/.well-known/security.txt returns 404. The security statement gives security@yoxel.com for reports.",
          "No status page or changelog is linked from the site, the docs or the spec. status.aurinko.io did not resolve from our network.",
          "The registration date is carried from the 8 October record."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aurinko-calendar.json",
      "live": {
        "slug": "aurinko-calendar",
        "probe": {
          "target": "https://api.aurinko.io",
          "method": "get",
          "lastAt": "2026-11-07T18:20:11.637403437Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 332,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 266,
          "p95ms24h": 358,
          "samples24h": 239,
          "samples30d": 7420,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 240
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "securityTxt": {
          "url": "https://aurinko.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:37.446833126Z"
        },
        "llmsTxt": {
          "url": "https://docs.aurinko.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:38.137998667Z"
        },
        "domain": {
          "domain": "aurinko.io",
          "checkedAt": "2026-11-01T14:14:27.348410916Z"
        },
        "pages": [
          {
            "url": "https://www.aurinko.io/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:25:02.09384519Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d50f73b54856"
          },
          {
            "url": "https://www.aurinko.io/terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:25:04.401409152Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3018ea7bb6f5"
          }
        ],
        "updatedAt": "2026-11-07T18:20:11.637403437Z"
      }
    },
    "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Aurinko Calendar API's 31.7 (F), and leads in 6 of 7 scored categories. Aurinko Calendar API leads on payments \u0026 pricing.",
    "b": {
      "slug": "truto-calendar",
      "name": "Truto Unified Calendar API",
      "vendor": "Yin Yang Inc.",
      "vendorUrl": "https://truto.one",
      "kind": "http-api",
      "category": "scheduling",
      "summary": "Truto's Unified Calendar API gives one REST interface over Google Calendar, Outlook Calendar, Cal.com and Calendly, with calendars, events, availability, event types, contacts and users. It is part of Truto's unified API platform for software companies.",
      "url": "https://www.anchorterminal.com/tools/truto-calendar",
      "markdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/truto-calendar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/truto-calendar.json",
      "dns": "truto-calendar.grade.anchorterminal.com",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@truto/truto-link-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Truto API token, created in app.truto.one under Settings \u003e API Tokens for one environment (development, staging or production), sent as `Authorization: Bearer`. Every request names an `integrated_account_id`, the end customer's connected calendar account, whose OAuth tokens Truto holds. Per-account MCP servers can be limited to read or write methods and tags, and given an expiry.",
      "pricing": "paid",
      "pricingNotes": "Expansion from $999 per connector a year and Enterprise from $1,999, each with unlimited connections and API calls, sold through a demo. A free 30-day sandbox is given on request with a work email, usually within one business day.",
      "priceSummary": "$83.25 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing page or the API catalogue (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://truto.one/docs/api-reference/unified-calendar-api/",
      "llmsTxt": "https://truto.one/docs/llms.txt",
      "openapi": "https://api.truto.one/schema/openapi.yml",
      "capabilities": [
        "calendar.read",
        "calendar.write",
        "calendar.availability",
        "calendar.booking",
        "automation.auth"
      ],
      "tags": [
        "hosted",
        "unified-api",
        "paid",
        "sales-led",
        "openapi",
        "llms-txt",
        "status-page",
        "webhooks",
        "google-calendar",
        "outlook"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 652,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.",
        "bestFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "strengths": [
          "One REST shape for Google Calendar, Outlook Calendar, Cal.com and Calendly, including availability and event types",
          "Markdown copy of every docs page and an llms.txt index",
          "`truto_exclude_fields`, `truto_ignore_remote_data` and response formats to size replies",
          "Errors say whether Truto or the provider failed, and vendor rate limits come back as standard headers",
          "Pass-through design with no stored customer data, and a public DPA"
        ],
        "weaknesses": [
          "Priced from $999 per connector a year with a demo-led sandbox",
          "An outage of the APIs and dashboard on 29 October 2026 is on the status page",
          "No public changelog for the API",
          "API tokens are per environment with no scopes found",
          "Only five calendar integrations, and Calendly support is partial on events"
        ],
        "agentNotes": [
          "Pass `integrated_account_id` on every call; the token alone reaches nothing",
          "Call the meta endpoint for the method first to see which filters the vendor supports",
          "Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small",
          "On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account",
          "Set `expand_recurring=true` when the task needs each instance of a repeating event"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.4
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 50,
          "payments": 20,
          "reliability": 77,
          "schema": 75,
          "security": 52,
          "transparency": 54
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://api.truto.one/unified/calendar/events?integrated_account_id=$ACCOUNT_ID\" -H \"Authorization: Bearer $TRUTO_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/calendar.read",
        "tool": "https://letme.dev/truto-calendar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Expansion plan connector",
          "unit": "month",
          "usd": 83.25,
          "note": "From $999 per connector a year"
        },
        {
          "item": "Enterprise plan connector",
          "unit": "month",
          "usd": 166.58,
          "note": "From $1,999 per connector a year"
        }
      ],
      "provenance": {
        "legalEntity": "Yin Yang Inc.",
        "domain": "truto.one",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://truto.one/tos/",
        "privacy": "https://truto.one/privacy/",
        "statusPage": "https://status.truto.one",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "truto.one/robots.txt allows all and points to llms.txt, an RFC 9727 API catalogue and agent skills; every page has a Markdown sibling. api.truto.one/robots.txt returned 404. status.truto.one's robots.txt returned no rules.",
          "The terms name Yin Yang Inc. No clause on automated access was found in the parts read.",
          "The OpenAPI file at api.truto.one/schema/openapi.yml timed out after 30 seconds and was not read.",
          "security.txt was not checked. SOC 2 compliance is stated only in a blog post of 24 August 2023; no trust page was found."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/truto-calendar.json",
      "live": {
        "slug": "truto-calendar",
        "vendorStatus": {
          "page": "https://status.truto.one",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:53.753341884Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@truto/truto-link-sdk",
            "version": "1.3.5",
            "seenAt": "2026-11-07T00:12:59.774757597Z"
          }
        ],
        "npmWeekly": 6850,
        "securityTxt": {
          "url": "https://truto.one/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:30.982914489Z"
        },
        "llmsTxt": {
          "url": "https://truto.one/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:12.104383057Z"
        },
        "pages": [
          {
            "url": "https://truto.one/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:35.56420207Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "83d604dc7090"
          },
          {
            "url": "https://truto.one/tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:37.675377248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fa7045806b26"
          }
        ],
        "updatedAt": "2026-11-07T15:59:30.982914489Z"
      }
    },
    "edges": [
      {
        "by": 62,
        "category": "reliability",
        "leads": "truto-calendar",
        "name": "Reliability",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Graded as a hosted API. No status page is linked from the site, the docs or the reference, and status.aurinko.io did not resolve on 8 October (0). With no readable incident history the record scores 5. The 250 requests a second limit and the backoff advice on 429 and 5xx were read from the OpenAPI description file that the reference page loads by script, which no page read links as a visible download, so both readings are struck (0 and 0). No SLA found, and the terms supply the service as is (0). The API is at `/v1` with no beta label (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.",
          "b": "Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77."
        },
        "scores": {
          "a": 15,
          "b": 77
        }
      },
      {
        "by": 45,
        "category": "maintenance",
        "leads": "truto-calendar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). No changelog or release notes found, so no API change can be dated. Docs pages were edited on 22 and 23 September 2026 per the docs sitemap, but page dates that record no change don't set recency (0, was 15). No dated changelog entries (0). Support is by email at support@aurinko.io, with no public forum or issue tracker found (3). No official SDK. `aurinko-sdk` on npm is unofficial (0). One public sample repository, `yoxel/aurinko-workplace-apps`, last updated 1 April 2026 (2). 0 + 0 + 3 + 0 + 2 = 5.",
          "b": "No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50."
        },
        "scores": {
          "a": 5,
          "b": 50
        }
      },
      {
        "by": 42,
        "category": "schema",
        "leads": "truto-calendar",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). The OpenAPI 3.0.0 description file at apirefs.aurinko.io/assets/swagger.json is loaded by the Redoc reference page's script, and no page read links it as a visible download, so it isn't credited as a published contract and its counts are struck (0). `llms.txt` and a Markdown copy of every docs page (10). The Calendar, Booking and Group Booking guides say what each part of the API is for. The earlier operation and property counts came from the struck file, and the partial award is held on the guides (8 of 20). Enums and required fields were read only from the struck file (0 of 15). The guides carry cURL examples, some printing `https:/api.aurinko.io` with one slash. The partial award is held on them, and the error body reading from the struck file no longer counts (10 of 15). `/v1` in the path, with no changelog found (5). 0 + 10 + 8 + 0 + 10 + 5 = 33.",
          "b": "An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75."
        },
        "scores": {
          "a": 33,
          "b": 75
        }
      },
      {
        "by": 29,
        "category": "ergonomics",
        "leads": "truto-calendar",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Graded on the REST API. `returnRecord=false` trims write responses to an ID and reads take `timeMin` and `timeMax`, but no field selection was found (12). `pageToken` on lists, `limit` and `offset` on booking profiles, and delta tokens for incremental sync (16). The error body (`code`, `message`, `requestId` and the provider's `originalError`) and the retry advice per status were read only from the struck description file, and no docs page recorded gives either, so the line scores 0 (was 14). No idempotency keys. `If-Match` with an ETag is required on event updates, and `reserveForMinutes` holds a slot before a booking is confirmed (8). `primary` works as a calendar ID and few parameters are required, but no official SDK was found (6). 12 + 16 + 0 + 8 + 6 = 42.",
          "b": "`truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71."
        },
        "scores": {
          "a": 42,
          "b": 71
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "aurinko-calendar",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). No x402, MPP or L402 (0). Prices per active account a month published without login, $1, $1.50 and $2 (20). A 14-day trial with no card (20). Signup is in a browser at app.aurinko.io, and each calendar needs its owner's OAuth consent (0). 0 + 20 + 20 + 0 = 40.",
          "b": "No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20."
        },
        "scores": {
          "a": 40,
          "b": 20
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "truto-calendar",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Closed service under a Terms of Services Agreement naming Yoxel, Inc. of California, last updated 11 August 2022 (15). The docs say content is passed through and never stored, with only IDs cached, and the privacy policy commits to Google's Limited Use requirements. The policy gives no retention period, and no DPA was found (12). No deprecation policy or dated notices found (0). No sub-processor list or data location. The security statement names no cloud provider (0). 15 + 12 + 0 + 0 = 27. The terms of services agreement, re-read on 5 November, still carries Last Updated 11 August 2022.",
          "b": "Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54."
        },
        "scores": {
          "a": 45,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Yoxel, Inc.",
        "b": "Yin Yang Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.aurinko.io",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Yoxel's Terms of Services Agreement",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "2022-08-11",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2022-08-11",
        "b": "2024-10-19",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Aurinko Calendar API's 31.7 (F), and leads in 6 of 7 scored categories. Aurinko Calendar API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Aurinko Calendar API or Truto Unified Calendar API?"
      },
      {
        "answer": "Aurinko Calendar API uses an OAuth sign-in. Truto Unified Calendar API needs an API key.",
        "question": "Do Aurinko Calendar API and Truto Unified Calendar API need an API key?"
      },
      {
        "answer": "Aurinko Calendar API has a hosted endpoint at https://api.aurinko.io. No hosted endpoint is listed for Truto Unified Calendar API.",
        "question": "Can an agent call Aurinko Calendar API and Truto Unified Calendar API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A product that connects many users' Google and Microsoft calendars and wants availability and booking at a low price per account.",
        "slug": "aurinko-calendar",
        "watchFor": "No status page, incident history or SLA found, and the terms supply the service as is"
      },
      {
        "aheadOn": [
          "Reliability, 77 against 15",
          "Schema \u0026 documentation, 75 against 33",
          "Agent ergonomics, 71 against 42",
          "Security \u0026 auth, 52 against 41",
          "Maintenance \u0026 community, 50 against 5",
          "Transparency \u0026 trust, 61 against 45"
        ],
        "also": null,
        "goodFor": "Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.",
        "slug": "truto-calendar",
        "watchFor": "Priced from $999 per connector a year with a demo-led sandbox"
      }
    ],
    "history": {
      "aurinko-calendar": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-05",
          "delta": -14,
          "from": 45.7,
          "fromGrade": "E",
          "to": 31.7,
          "toGrade": "F"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.2,
          "from": 45.9,
          "fromGrade": "E",
          "to": 45.7,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 45.6,
          "fromGrade": "E",
          "to": 45.9,
          "toGrade": "E"
        }
      ],
      "truto-calendar": null
    },
    "job": {
      "capability": "calendar.read",
      "name": "Calendar access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar.json",
        "title": "Acuity Scheduling API vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.json",
        "title": "Acuity Scheduling API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar.json",
        "title": "Agenda Hero vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.json",
        "title": "Agenda Hero vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-aurinko-calendar.json",
        "title": "Apiroc Unified Calendar API vs Aurinko Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-aurinko-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.json",
        "title": "Apiroc Unified Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.json",
        "title": "Aurinko Calendar API vs Cal.com API v2 + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-calendly.json",
        "title": "Aurinko Calendar API vs Calendly API + MCP",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-calendly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cozi.json",
        "title": "Aurinko Calendar API vs Cozi Family Organizer",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cozi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cronofy.json",
        "title": "Aurinko Calendar API vs Cronofy API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-cronofy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-google-calendar-api.json",
        "title": "Aurinko Calendar API vs Google Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-google-calendar-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar.json",
        "title": "Aurinko Calendar API vs Microsoft Graph Calendar API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-nylas-calendar.json",
        "title": "Aurinko Calendar API vs Nylas Calendar and Scheduler API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-nylas-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-reclaim-ai.json",
        "title": "Aurinko Calendar API vs Reclaim.ai",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-reclaim-ai"
      },
      {
        "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/aurinko-calendar-vs-zoom-scheduler.json",
        "title": "Aurinko Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.json",
        "title": "Cal.com API v2 + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.json",
        "title": "Calendly API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/calendly-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.json",
        "title": "Cozi Family Organizer vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cozi-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.json",
        "title": "Cronofy API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.json",
        "title": "Google Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.json",
        "title": "Microsoft Graph Calendar API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.json",
        "title": "Nylas Calendar and Scheduler API vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.json",
        "title": "Reclaim.ai vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.json",
        "title": "Truto Unified Calendar API vs Zoom Scheduler API",
        "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/savvycal-vs-truto-calendar.json",
        "title": "SavvyCal API + MCP vs Truto Unified Calendar API",
        "url": "https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.json",
        "title": "Truto Unified Calendar API vs YouCanBookMe API",
        "url": "https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme"
      }
    ],
    "panel": null,
    "scores": [
      {
        "aurinko-calendar": 15,
        "by": 62,
        "edge": "truto-calendar",
        "key": "reliability",
        "name": "Reliability",
        "truto-calendar": 77,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-calendar": 33,
        "by": 42,
        "edge": "truto-calendar",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "truto-calendar": 75,
        "weight": 13
      },
      {
        "aurinko-calendar": 42,
        "by": 29,
        "edge": "truto-calendar",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "truto-calendar": 71,
        "weight": 13
      },
      {
        "aurinko-calendar": 41,
        "by": 11,
        "edge": "truto-calendar",
        "key": "security",
        "name": "Security \u0026 auth",
        "truto-calendar": 52,
        "weight": 14
      },
      {
        "aurinko-calendar": 40,
        "by": 20,
        "edge": "aurinko-calendar",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "truto-calendar": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-calendar": 5,
        "by": 45,
        "edge": "truto-calendar",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "truto-calendar": 50,
        "weight": 7
      },
      {
        "aurinko-calendar": 45,
        "by": 16,
        "edge": "truto-calendar",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "truto-calendar": 61,
        "weight": 7
      }
    ],
    "summary": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Aurinko Calendar API's 31.7 (F), and leads in 6 of 7 scored categories. Aurinko Calendar API leads on payments \u0026 pricing. Both do calendar access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "aurinko-calendar": "Aurinko's unified calendar API reads and writes Google, Microsoft, Exchange and iCloud calendars, with free/busy, meeting-time suggestions and booking profiles, from $1 an active account a month and a 14-day trial with no card. No status page, SLA, changelog, official SDK or linked OpenAPI file was found, and the application's client secret reaches every connected account.",
      "truto-calendar": "Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar",
    "json": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.min.md"
  },
  "markdown": "Truto Unified Calendar API scores 60.4 (C) on agent readiness against Aurinko Calendar API's 31.7 (F), and leads in 6 of 7 scored categories. Aurinko Calendar API leads on payments \u0026 pricing. Both do calendar access.\n\n- Aurinko Calendar API: grade F, 31.7/100, rank #1392 of 1486. Markdown https://www.anchorterminal.com/tools/aurinko-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/aurinko-calendar.json\n- Truto Unified Calendar API: grade C, 60.4/100, rank #652 of 1486. Markdown https://www.anchorterminal.com/tools/truto-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md\n- All 118 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md\n\n## Which one, for what\n\n### Aurinko Calendar API (F)\n\nGood for: A product that connects many users' Google and Microsoft calendars and wants availability and booking at a low price per account.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 20\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page, incident history or SLA found, and the terms supply the service as is\n\n### Truto Unified Calendar API (C)\n\nGood for: Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.\n\nAhead on:\n- Reliability, 77 against 15\n- Schema \u0026 documentation, 75 against 33\n- Agent ergonomics, 71 against 42\n- Security \u0026 auth, 52 against 41\n- Maintenance \u0026 community, 50 against 5\n- Transparency \u0026 trust, 61 against 45\n\nWatch for: Priced from $999 per connector a year with a demo-led sandbox\n\n\n## Why the edge\n\n### Reliability: Truto Unified Calendar API +62\n\n- Aurinko Calendar API (15): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Graded as a hosted API. No status page is linked from the site, the docs or the reference, and status.aurinko.io did not resolve on 8 October (0). With no readable incident history the record scores 5. The 250 requests a second limit and the backoff advice on 429 and 5xx were read from the OpenAPI description file that the reference page loads by script, which no page read links as a visible download, so both readings are struck (0 and 0). No SLA found, and the terms supply the service as is (0). The API is at `/v1` with no beta label (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n- Truto Unified Calendar API (77): Graded as a hosted service on the Unified Calendar API. Better Stack status page with components for api.truto.one health, ping and link-token endpoints and the static IP proxy, with incident history (20). The feed lists \"APIs and Dashboard are down\" on 29 October 2026 and delayed sync jobs and webhooks on 1 November, which counts as one major outage (10). Truto's own limit is 50 requests every 10 seconds per integrated account, in front of each vendor's (15). A vendor 429 comes back with Retry-After and normalised `ratelimit-limit`, `-remaining` and `-reset` headers, with no idempotency guidance for creates (12 of 15). The Enterprise plan lists an SLA guarantee (10). Generally available (10). 20 + 10 + 15 + 12 + 10 + 10 = 77.\n\n### Maintenance \u0026 community: Truto Unified Calendar API +45\n\n- Aurinko Calendar API (5): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). No changelog or release notes found, so no API change can be dated. Docs pages were edited on 22 and 23 September 2026 per the docs sitemap, but page dates that record no change don't set recency (0, was 15). No dated changelog entries (0). Support is by email at support@aurinko.io, with no public forum or issue tracker found (3). No official SDK. `aurinko-sdk` on npm is unofficial (0). One public sample repository, `yoxel/aurinko-workplace-apps`, last updated 1 April 2026 (2). 0 + 0 + 3 + 0 + 2 = 5.\n- Truto Unified Calendar API (50): No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50.\n\n### Schema \u0026 documentation: Truto Unified Calendar API +42\n\n- Aurinko Calendar API (33): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). The OpenAPI 3.0.0 description file at apirefs.aurinko.io/assets/swagger.json is loaded by the Redoc reference page's script, and no page read links it as a visible download, so it isn't credited as a published contract and its counts are struck (0). `llms.txt` and a Markdown copy of every docs page (10). The Calendar, Booking and Group Booking guides say what each part of the API is for. The earlier operation and property counts came from the struck file, and the partial award is held on the guides (8 of 20). Enums and required fields were read only from the struck file (0 of 15). The guides carry cURL examples, some printing `https:/api.aurinko.io` with one slash. The partial award is held on them, and the error body reading from the struck file no longer counts (10 of 15). `/v1` in the path, with no changelog found (5). 0 + 10 + 8 + 0 + 10 + 5 = 33.\n- Truto Unified Calendar API (75): An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75.\n\n### Agent ergonomics: Truto Unified Calendar API +29\n\n- Aurinko Calendar API (42): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Graded on the REST API. `returnRecord=false` trims write responses to an ID and reads take `timeMin` and `timeMax`, but no field selection was found (12). `pageToken` on lists, `limit` and `offset` on booking profiles, and delta tokens for incremental sync (16). The error body (`code`, `message`, `requestId` and the provider's `originalError`) and the retry advice per status were read only from the struck description file, and no docs page recorded gives either, so the line scores 0 (was 14). No idempotency keys. `If-Match` with an ETag is required on event updates, and `reserveForMinutes` holds a slot before a booking is confirmed (8). `primary` works as a calendar ID and few parameters are required, but no official SDK was found (6). 12 + 16 + 0 + 8 + 6 = 42.\n- Truto Unified Calendar API (71): `truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71.\n\n### Payments \u0026 pricing: Aurinko Calendar API +20\n\n- Aurinko Calendar API (40): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). No x402, MPP or L402 (0). Prices per active account a month published without login, $1, $1.50 and $2 (20). A 14-day trial with no card (20). Signup is in a browser at app.aurinko.io, and each calendar needs its owner's OAuth consent (0). 0 + 20 + 20 + 0 = 40.\n- Truto Unified Calendar API (20): No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20.\n\n### Transparency \u0026 trust: Truto Unified Calendar API +16\n\n- Aurinko Calendar API (45): Per the 8 October check, not re-read on 5 November (Yoxel's terms bar robots and data extraction in connection with the Site and Services, so nothing on aurinko.io beyond the terms was requested). Closed service under a Terms of Services Agreement naming Yoxel, Inc. of California, last updated 11 August 2022 (15). The docs say content is passed through and never stored, with only IDs cached, and the privacy policy commits to Google's Limited Use requirements. The policy gives no retention period, and no DPA was found (12). No deprecation policy or dated notices found (0). No sub-processor list or data location. The security statement names no cloud provider (0). 15 + 12 + 0 + 0 = 27. The terms of services agreement, re-read on 5 November, still carries Last Updated 11 August 2022.\n- Truto Unified Calendar API (61): Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54.\n\n## Score by category\n\n| Category | Weight | Aurinko Calendar API | Truto Unified Calendar API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 15 | 77 | Truto Unified Calendar API +62 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 33 | 75 | Truto Unified Calendar API +42 |\n| Agent ergonomics | 13% (16.2 this run) | 42 | 71 | Truto Unified Calendar API +29 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 52 | Truto Unified Calendar API +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Aurinko Calendar API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 5 | 50 | Truto Unified Calendar API +45 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 61 | Truto Unified Calendar API +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **31.7 · F** | **60.4 · C** | |\n\n## Facts side by side\n\n| Fact | Aurinko Calendar API | Truto Unified Calendar API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Yoxel, Inc. | Yin Yang Inc. |\n| Hosted endpoint | `https://api.aurinko.io` | no (local only) |\n| Transports | HTTP |  |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Yoxel's Terms of Services Agreement | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | none | 2026-10-26 |\n| Terms last updated | 2022-08-11 | no date given |\n| Privacy policy last updated | 2022-08-11 | 2024-10-19 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Agent reviews | 3.5/5 (4) | none |\n\n## How the scores have moved\n\n### Aurinko Calendar API\n\n- -14.0 on 5 November 2026 (E to F): correction\n- -0.2 on 28 October 2026: correction\n- +0.3 on 27 October 2026: checklist\n\n### Truto Unified Calendar API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Aurinko Calendar API.** Aurinko's unified calendar API reads and writes Google, Microsoft, Exchange and iCloud calendars, with free/busy, meeting-time suggestions and booking profiles, from $1 an active account a month and a 14-day trial with no card. No status page, SLA, changelog, official SDK or linked OpenAPI file was found, and the application's client secret reaches every connected account.\n\n**Truto Unified Calendar API.** Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.\n\n## Before you call either\n\n### Aurinko Calendar API\n\n1. Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash\n2. Send `If-Match` with the event's `etag` on `PATCH /v1/calendars/{calendarId}/events/{eventId}`. A stale value returns 412\n3. Use `primary` as the calendar ID for an account's main calendar, and page with `pageToken` until none is returned\n4. Hold a slot with `reserveForMinutes` on the booking `meeting` call, then confirm or cancel the reservation, since no idempotency key exists\n5. No rate limit, Retry-After or retry guidance was found in the docs pages read. Google and Microsoft limits apply behind the API, so back off on 429\n\n### Truto Unified Calendar API\n\n1. Pass `integrated_account_id` on every call; the token alone reaches nothing\n2. Call the meta endpoint for the method first to see which filters the vendor supports\n3. Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small\n4. On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account\n5. Set `expand_recurring=true` when the task needs each instance of a repeating event\n\n## Questions\n\n### Which is better for AI agents, Aurinko Calendar API or Truto Unified Calendar API?\n\nTruto Unified Calendar API scores 60.4 (C) on agent readiness against Aurinko Calendar API's 31.7 (F), and leads in 6 of 7 scored categories. Aurinko Calendar API leads on payments \u0026 pricing.\n\n### Do Aurinko Calendar API and Truto Unified Calendar API need an API key?\n\nAurinko Calendar API uses an OAuth sign-in. Truto Unified Calendar API needs an API key.\n\n### Can an agent call Aurinko Calendar API and Truto Unified Calendar API without installing anything?\n\nAurinko Calendar API has a hosted endpoint at https://api.aurinko.io. No hosted endpoint is listed for Truto Unified Calendar API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aurinko-calendar\", \"b\": \"truto-calendar\"}`. From a terminal: `anchor compare aurinko-calendar truto-calendar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aurinko-calendar.json and https://www.anchorterminal.com/api/v1/tools/truto-calendar.json\n\n## Other comparisons with Aurinko Calendar API or Truto Unified Calendar API\n\n- [Acuity Scheduling API vs Aurinko Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-aurinko-calendar.md)\n- [Acuity Scheduling API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.md)\n- [Agenda Hero vs Aurinko Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-aurinko-calendar.md)\n- [Agenda Hero vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.md)\n- [Apiroc Unified Calendar API vs Aurinko Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-aurinko-calendar.md)\n- [Apiroc Unified Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.md)\n- [Aurinko Calendar API vs Cal.com API v2 + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-cal-com.md)\n- [Aurinko Calendar API vs Calendly API + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-calendly.md)\n- [Aurinko Calendar API vs Cozi Family Organizer](https://www.anchorterminal.com/compare/aurinko-calendar-vs-cozi.md)\n- [Aurinko Calendar API vs Cronofy API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-cronofy.md)\n- [Aurinko Calendar API vs Google Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-google-calendar-api.md)\n- [Aurinko Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar.md)\n- [Aurinko Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-nylas-calendar.md)\n- [Aurinko Calendar API vs Reclaim.ai](https://www.anchorterminal.com/compare/aurinko-calendar-vs-reclaim-ai.md)\n- [Aurinko Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/aurinko-calendar-vs-savvycal.md)\n- [Aurinko Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-zoom-scheduler.md)\n- [Cal.com API v2 + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.md)\n- [Calendly API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.md)\n- [Cozi Family Organizer vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.md)\n- [Cronofy API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.md)\n- [Google Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.md)\n- [Microsoft Graph Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.md)\n- [Nylas Calendar and Scheduler API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.md)\n- [Reclaim.ai vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.md)\n- [Truto Unified Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.md)\n- [Aurinko Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-youcanbookme.md)\n- [SavvyCal API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar.md)\n- [Truto Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Aurinko Calendar API vs Truto Unified Calendar API",
        "url": ""
      }
    ],
    "description": "Truto Unified Calendar scores 60.4 (C) to Aurinko Calendar's 31.7 (F) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Aurinko Calendar API F 31.7",
      "Truto Unified Calendar API C 60.4",
      "scores"
    ],
    "h1": "Aurinko Calendar API vs Truto Unified Calendar API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/aurinko-calendar-vs-truto-calendar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aurinko Calendar vs Truto Unified Calendar for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 2830
  },
  "version": 1
}
