Cal.com
Excellent self-hosted for your own bookings, and the wrong choice for client bookings — API-key creation is an Enterprise feature on self-hosted, so the free cloud tier is the cheap answer.
- How well we know it
- We ran this in production
- Basis
- Self-hosted for our own bookings; free cloud for client accounts
- Verified
Can you create API keys on self-hosted Cal.com?
Not on the free self-hosted build. API-key creation is an Enterprise feature. If your integration needs to create bookings programmatically, self-hosting does not give you that for free.
What does the paid self-hosted licence cost?
It carries a 30-user minimum. For a solo operator or a small agency provisioning one account per client, that minimum is the whole cost story — you pay for 30 seats to serve far fewer.
Is cal.diy a way around the licence?
No. It is documented as personal and non-production. Using it to serve paying clients is outside what it is offered for.
So what should you actually use?
Free cloud, one account per client. This is the single case in our stack where self-hosting lost on cost — everywhere else self-hosting is the cheaper answer, and here it is not.
Who should use it
- Anyone self-hosting for their OWN bookings — it is genuinely good and genuinely free
- Agencies provisioning one free cloud account per client
- Teams of 30+ where the self-hosted licence minimum stops being a penalty
Who should not
- A small agency wanting programmatic booking creation on a self-hosted instance
- Anyone assuming self-hosted means full-featured — the API is the gap, and it is the feature integrations need
What we did not check
Stated so you can weigh the verdict properly. A page that only lists what it knows is hiding its edges.
- Whether the free cloud tier limits bite at client volume — we have not yet run enough client accounts to find out
- What the paid self-hosted licence actually costs per seat above the 30 minimum
Related evaluations
- GoHighLevelRejected
We exited after the per-sub-account costs made client pricing impossible to quote, and the AU rate card was never supplied after two written requests.
- n8nConditional
We run it and rate it — and hosting client workflows on it requires a commercial agreement that the Sustainable Use Licence does not cover, confirmed to us in writing.