> Quick Answer: Both are real calendar sync engines. SYNCDATE reacts to provider push notifications, so a change lands on the other calendar in roughly 4 seconds. Keeper refreshes on a fixed schedule — its published table lists 30 minutes on Free and 1 minute on Pro and self-hosted. Keeper is AGPL-3.0 and you can run it yourself; SYNCDATE is managed SaaS with two-way CalDAV. Pick on those two axes, not on feature counts.
SYNCDATE and Keeper are the two most architecturally similar tools in this category. Both connect calendars over OAuth, both speak CalDAV, both strip event details to busy blocks by default, and both are built around a sync engine rather than a scheduling suite. Keeper describes itself as "a pull-compare-push sync engine" and uses incremental sync tokens for Google and Outlook — the same technique SYNCDATE uses.
So this comparison is not "real sync tool versus feed aggregator." It is a comparison of two competent engines that made two different bets: push versus pull, and managed versus self-hosted.
> Correction (July 2026): an earlier version of this article described Keeper as an iCal/ICS feed aggregator and understated its Pro price. Both were wrong. Keeper is a full OAuth + CalDAV read/write sync engine, and Pro is $5/month. We have rewritten this page against Keeper's own documentation and repository.
What Keeper actually is
Keeper (keeper.sh) is an open-source calendar sync tool built by Rida F'kih, licensed AGPL-3.0, with the source on GitHub. It is actively developed — the most recent release at the time of writing was v2.12.2 on 11 July 2026.
Its documentation lists four connector types:
| Connector | Keeper's stated capability |
|---|---|
| Google Calendar | "full read/write" |
| Microsoft Outlook | "full read/write via Microsoft Graph API" |
| Generic CalDAV | "any CalDAV-compatible server" (they cite RFC 4791, FastMail, iCloud) |
| iCal / ICS feeds | "read-only URL-based calendars" |
On direction, Keeper's own documentation is precise: "iCal feeds are pull-only. OAuth and CalDAV calendars support both" — that is, a Google, Outlook or CalDAV calendar can act as a source and as a destination. It also states that "a single source can push to multiple destinations. A single destination can receive from multiple sources."
What SYNCDATE is
SYNCDATE is managed SaaS. It connects to Google Calendar and Microsoft Outlook over their APIs, and to iCloud, Fastmail and Nextcloud over CalDAV — all two-way. iCal feed URLs are supported as read-only sources.
The distinguishing design choice is that SYNCDATE does not run on a schedule as its primary path. It registers for Google Calendar push notifications and Microsoft Graph change notifications, so the provider tells us the moment something changes. A 15-minute poll runs behind that as a safety net, because Google itself warns that "notifications are not 100% reliable. Expect a small percentage of messages to get dropped under normal working conditions."
Push versus pull: the real difference
This is the axis that matters, and it is worth being precise about what each vendor claims.
| SYNCDATE | Keeper Free | Keeper Pro | Keeper self-hosted | |
|---|---|---|---|---|
| **Primary mechanism** | Provider push notifications | Scheduled refresh | Scheduled refresh | Scheduled refresh |
| **Published interval** | n/a (event-driven) | 30 minutes | 1 minute | 1 minute |
| **Typical propagation** | ~4 seconds | up to the interval | up to the interval | up to the interval |
| **Fallback** | 15-minute poll | — | — | — |
| **MCP server** | [Yes — read & write](/mcp) (paid plans) | Yes (read-focused tools) | Yes (read-focused tools) | Yes (not bundled in the standalone image) |
The Keeper column comes from Keeper's own pricing table and homepage ("Every 30 minutes" / "Every 1 minute"). The ~4-second figure is SYNCDATE's own published propagation time. Both tools also ship an MCP server so you can connect an AI client: Keeper's published tools are read-focused (list_calendars, get_events, get_event_count, over OAuth 2.1), while SYNCDATE's MCP also writes — it can create, update and delete events and manage syncs — on paid plans.
We also read Keeper's repository to understand the mechanism, and want to be clear that this part is our inference rather than a vendor statement: the only webhook route in the codebase handles billing (Polar), there are no Google push channels or Microsoft Graph change-notification subscriptions, and the sync job is declared as a cron poll. The one real-time element is a WebSocket that streams sync progress to the dashboard. That is consistent with the published refresh intervals.
When the interval matters
If a tool reads your calendar to offer bookable slots — Calendly, Cal.com, or a colleague eyeballing your free/busy — the question is how stale the mirrored copy can be. On Keeper Pro that window is about a minute, which is fine for most people. On the Keeper free tier it is up to half an hour, which is long enough to hand out a slot you have already filled and cause a double booking.
If you want a longer explanation of why push and pull behave differently, we wrote one: how calendar sync works.
When it doesn't
Plenty of workflows do not care. If you are mirroring a work calendar into a personal one so evenings look blocked, a 30-minute lag changes nothing. Do not pay for latency you will not notice.
Privacy: the same default, different guarantees
Both tools hide event details by default, and both say so plainly.
Keeper: "By default, only busy/free time blocks are shared. Event titles, descriptions, locations, and attendee lists are stripped before syncing." Keeper also documents "encrypted credentials at rest: CalDAV passwords and OAuth tokens encrypted with configurable key."
SYNCDATE shows synced events as "Busy" unless you deliberately turn on detail copying for a sync. OAuth tokens are encrypted at rest with AES-256-GCM, and the service runs on Hetzner infrastructure in Germany, inside the EU.
The meaningful difference is not the default — it is what backs it. With Keeper you can read the code that implements the default, and if you self-host, the data never leaves your machine. With SYNCDATE you are trusting a hosted service and its published infrastructure description. For a security team that requires source review or on-premises data residency, that is a decisive difference in Keeper's favour.
Open source and self-hosting
Keeper ships a standalone Docker image, ghcr.io/ridafkih/keeper-standalone:2, which its README describes as containing "the cron, worker, web, api services as well as a configured redis, database, and caddy". Keeper states that "self-hosted instances get Pro-tier features by default" and that "by hosting Keeper yourself, you get all premium features for free."
That is a genuine advantage and we are not going to talk around it. SYNCDATE is not open source and cannot be self-hosted. If auditability, forking, or data sovereignty is a requirement, Keeper is the tool between these two.
What self-hosting costs you is the usual: a server, a domain, updates, backups, and being the person who gets paged when it stops. For a developer comfortable with Docker that is an evening. For someone who wants calendar sync to be someone else's problem, it is the wrong trade.
As Peer Richelsen, co-founder of Cal.com, put it about the open-source scheduling ecosystem: "Governments, healthcare, and other highly regulated industries not only prefer but are often required to self-host, which open source makes possible in the most secure and trusted manner." — Peer Richelsen, Co-founder of Cal.com (Cal.com Blog)
Pricing
Keeper
| Option | Price | Refresh interval |
|---|---|---|
| **Free** | $0 | 30 minutes |
| **Pro** | $5/month, or $42/year (Keeper states −30% on annual) | 1 minute |
| **Self-hosted** | $0 — "Pro-tier features by default" | 1 minute |
Keeper's published free-tier limits are "2 linked accounts, 2 calendars per account, 30-minute sync intervals, aggregated iCal feed."
SYNCDATE
| Plan | Monthly (EUR) | Accounts | Calendars in sync |
|---|---|---|---|
| **Free** | €0 | 2 | 2 |
| **Plus** | €8.99 | 5 | 20 |
| **Pro** | €16.99 | 20 | 100 |
Annual billing is two months free on both paid plans. Prices are charged in EUR (USD equivalents are $8.99 and $16.99); see the pricing page for the live figures in your currency, and the calendar sync pricing guide for the wider market.
Which is cheaper
At the free end the two are close and the shape differs: Keeper gives you 2 accounts with 2 calendars each on a 30-minute refresh; SYNCDATE gives you 2 accounts and 2 calendars in one sync, event-driven. At the paid entry point, price isn't the deciding input either way — pick on push-vs-poll sync and managed-vs-self-hosted. And self-hosted Keeper costs nothing at all, if your own time is also free.
Where the money question actually turns is scale. SYNCDATE Pro covers 20 connected accounts and 100 calendars for €16.99/month. Keeper's published limits describe its free tier; check their current pricing page for what Pro allows before you plan around it.
| Feature | Keeper | SYNCDATE |
|---|---|---|
| Sync Method | OAuth + CalDAV pull-compare-push, incremental sync tokens | Provider push notifications (webhooks) + API writes |
| Change Propagation | Fixed refresh interval: 30 min (Free) / 1 min (Pro, self-hosted) | ~4 seconds, with a 15-minute poll as fallback |
| Free Tier | Yes — 2 linked accounts, 2 calendars per account, 30-min interval | Yes — 2 accounts, 2 calendars, event-driven |
| Cloud Price | Pro $5/month ($42/year, vendor states −30%) | Free, or Plus €8.99/month · Pro €16.99/month |
| Google Calendar | Yes — vendor states "full read/write" | Yes (native API, two-way) |
| Outlook | Yes — vendor states "full read/write via Microsoft Graph API" | Yes (native API, two-way) |
| CalDAV (iCloud, Fastmail, Nextcloud) | Yes — "any CalDAV-compatible server" | Yes (two-way) |
| iCal / ICS feeds | Yes — "read-only URL-based calendars" | Yes (read-only source) |
| Direction | Vendor: "iCal feeds are pull-only. OAuth and CalDAV calendars support both" | Two-way, with loop-safe deduplication |
| Privacy Default | Busy/free blocks; titles and attendees stripped | "Busy" blocks by default, detail copying opt-in |
| Open Source | Yes (AGPL-3.0) | No |
| Self-Hostable | Yes — Docker, Pro features included | No |
| Credential Encryption | Vendor: CalDAV passwords and OAuth tokens encrypted at rest | AES-256-GCM at rest, EU hosting (Germany) |
Comparison as of February 2026
Self-hosting Keeper: what it involves
If you are weighing the self-hosted route, here is the shape of it based on Keeper's README.
You run ghcr.io/ridafkih/keeper-standalone:2, which brings up the web app, API, cron scheduler, background worker, Redis, database, and a Caddy reverse proxy behind a single port. On first run it generates an environment file with session and encryption keys.
What you need:
- A server or VPS with Docker
- A domain name, for HTTPS via Caddy
- Comfort with Docker and environment variables
What you own afterwards:
- Uptime and monitoring
- Updates and security patches
- Backups
- Scaling, if it ever comes to that
Caddy handles certificates automatically in the common case, so the ongoing burden is mostly patching and backups. Note that the pinned tag is :2 — the separate component images use :latest, but the standalone convenience image does not.
Who should choose SYNCDATE
- You want changes to land in seconds rather than on the next scheduled pass
- You want two-way sync across Google, Outlook, iCloud, Fastmail and Nextcloud without running anything
- You need scale: up to 20 connected accounts and 100 calendars on one plan
- You want EU-hosted infrastructure with published encryption details and no servers of your own
- You want someone else on call when a provider changes an API
Who should choose Keeper
- You want source code you can audit, fork, or hand to a security reviewer
- You want to self-host, and the free-forever Pro-grade self-hosted tier is worth an evening of setup
- A one-minute refresh interval is fast enough for your workflow
- You are on Keeper's free tier and 30-minute freshness genuinely does not bother you
- You want zero recurring SaaS spend and already run infrastructure
Both defaults protect your event details. That is not the deciding factor here — speed, hosting model, and scale are.
Frequently Asked Questions
Is SYNCDATE better than Keeper?
They are good at different things. SYNCDATE propagates changes in about 4 seconds because it listens for provider push notifications, and it runs as a managed service with room for 20 accounts and 100 calendars. Keeper refreshes on a published schedule — 30 minutes on Free, 1 minute on Pro and self-hosted — and is AGPL-3.0 licensed, so you can audit it and run it yourself for free. If latency matters, choose SYNCDATE. If source access or self-hosting matters, choose Keeper.
What is Keeper calendar sync?
Keeper (keeper.sh) is an open-source calendar sync engine licensed under AGPL-3.0. Its documentation describes it as a pull-compare-push engine using incremental sync tokens, with connectors for Google Calendar and Microsoft Outlook (both "full read/write"), generic CalDAV servers, and read-only iCal/ICS feed URLs. By default it shares only busy/free blocks and strips titles, descriptions, locations, and attendees.
How fast does Keeper sync calendars?
Keeper publishes a refresh interval rather than a latency figure: 30 minutes on the free tier, and 1 minute on Pro and on self-hosted instances. Changes are picked up on the next scheduled pass. SYNCDATE instead subscribes to Google Calendar push notifications and Microsoft Graph change notifications, so a change typically lands on the target calendar in about 4 seconds, with a 15-minute poll as a backstop.
Can Keeper sync in both directions?
Keeper's documentation states that "iCal feeds are pull-only. OAuth and CalDAV calendars support both" — meaning a Google, Outlook, or CalDAV calendar can serve as a source and as a destination. It also notes that one source can push to several destinations and one destination can receive from several sources. If you need a specific bidirectional setup, check it against Keeper's current docs. SYNCDATE supports two-way sync with deduplication that prevents events echoing back and forth.
Is Keeper really free?
Yes, in two ways. The hosted free tier costs nothing and covers 2 linked accounts with 2 calendars per account on a 30-minute refresh interval. And self-hosting is free with Pro-tier features included — Keeper states that "by hosting Keeper yourself, you get all premium features for free." The hosted Pro plan is $5/month, or $42/year, which Keeper describes as a 30% annual discount. Self-hosting still costs you a server and your own maintenance time.
Does SYNCDATE support self-hosting?
No. SYNCDATE is a managed service hosted on Hetzner infrastructure in Germany, and there is no on-premises build. If self-hosting is a hard requirement, Keeper is the option between these two tools.
How does Keeper's privacy default compare to SYNCDATE's?
They match. Keeper states that "by default, only busy/free time blocks are shared. Event titles, descriptions, locations, and attendee lists are stripped before syncing." SYNCDATE shows synced events as "Busy" by default and only copies details if you turn that on for a specific sync. Both encrypt stored credentials at rest. The difference is verification: Keeper's implementation is open source and auditable, while SYNCDATE publishes its infrastructure and encryption approach but not its code.
Which tool covers more calendar providers?
The provider lists are close. Keeper documents Google Calendar, Microsoft Outlook, generic CalDAV servers, and read-only iCal feeds. SYNCDATE supports Google Calendar, Microsoft Outlook, and CalDAV (iCloud, Fastmail, Nextcloud) with two-way sync, plus read-only iCal feeds. Both reach Apple and Fastmail calendars through CalDAV rather than a bespoke integration.
Can I switch from Keeper to SYNCDATE?
Yes. Sign up for SYNCDATE (free, no credit card), connect your accounts, and recreate the sync pairs you had in Keeper. Check that events land as you expect before you turn Keeper's syncs off, and remove Keeper's copies through Keeper itself rather than deleting events by hand — that way each tool cleans up what it created. For a step-by-step Google walkthrough, see our Google Calendar sync guide.
Is Keeper's AGPL-3.0 license restrictive?
AGPL-3.0 requires that if you distribute the software or offer it as a network service, your modifications are available under the same license. For personal or internal use, that has no practical effect. If you plan to build a commercial hosted product on Keeper's code, read the license terms carefully.