Headless Booking

that just syncs!

One API for Google, Outlook, iCloud - no lock-in.

// get free slots
const scheduling = await recal.scheduling.user({
	userId: "alex",
	startDate: new Date("2025-09-27"),
	endDate: new Date("2025-09-28"),
	options: {
		padding: 10,
		slotDuration: 30,
		earliestTimeEachDay: "09:00",
		latestTimeEachDay: "17:00",
		provider: "google",
		timeZone: "Europe/Berlin",
	},
});
// create a new event
const newEvent = await recal.calendar.createEvent({
	userId: "alex",
	provider: "google",
	newEvent: {
		subject: "Rubber Duck Debugging Summit with Alex",
		location: "Berlin, Germany",
		start: new Date("2025-09-27T11:30:00.000Z"),
		end: new Date("2025-09-27T12:00:00.000Z"),
		attendees: [
			{
				email: "torben@recal.dev",
			},
		],
	},
	options: {
		timeZone: "Europe/Berlin",
	},
});

// get free slots
const scheduling = await recal.scheduling.user({
	userId: "alex",
	startDate: new Date("2025-09-27"),
	endDate: new Date("2025-09-28"),
	options: {
		padding: 10,
		slotDuration: 30,
		earliestTimeEachDay: "09:00",
		latestTimeEachDay: "17:00",
		provider: "google",
		timeZone: "Europe/Berlin",
	},
});

Headless Booking

that just syncs!

One API for Google, Outlook, iCloud - no lock-in.

// create a new event
const newEvent = await recal.calendar.createEvent({
	userId: "alex",
	provider: "google",
	newEvent: {
		subject: "Rubber Duck Debugging Summit with Alex",
		location: "Berlin, Germany",
		start: new Date("2025-09-27T11:30:00.000Z"),
		end: new Date("2025-09-27T12:00:00.000Z"),
		attendees: [
			{
				email: "torben@recal.dev",
			},
		],
	},
	options: {
		timeZone: "Europe/Berlin",
	},
});

// get free slots
const scheduling = await recal.scheduling.user({
	userId: "alex",
	startDate: new Date("2025-09-27"),
	endDate: new Date("2025-09-28"),
	options: {
		padding: 10,
		slotDuration: 30,
		earliestTimeEachDay: "09:00",
		latestTimeEachDay: "17:00",
		provider: "google",
		timeZone: "Europe/Berlin",
	},
});

Used by startups & enterprise teams

Support Google, Outlook & co, but never think about them.

36M+

Events Created

36M+

Events Created

36M+

Events Created

85%

Uptime

85%

Uptime

85%

Uptime

92K+

Bookings by Agents

92K+

Bookings by Agents

92K+

Bookings by Agents

Uses the Trainer's Calendar
synced over Recal!

Integrates into the Doctor's
Office Calendar using Recal!

Supporting a variety of services and add-ons
synced into the salon's calendar with Recal!

Use Cases

Healthcare

Healthcare

Healthcare

Reliable appointment booking flows with real-time provider availability

Reliable appointment booking flows with real-time provider availability

Fitness & classes

Fitness & classes

Fitness & classes

Create class slots, cap capacity, add meeting links and more.

Create class slots, cap capacity, add meeting links and more.

Beauty & salons

Beauty & salons

Beauty & salons

Adaptive slot durations, spacings, and distribution for businesses of any scale.

Adaptive slot durations, spacings, and distribution for businesses of any scale.

Ship today

Focus on your product and not on calendar edge cases.
Integrate Recal into any system.

API

Headless booking capabilities for any usecase.

API

Headless booking capabilities for any usecase.

API

Headless booking capabilities for any usecase.

Node SDK

Typesafe fast to integrate SDK.

Node SDK

Typesafe fast to integrate SDK.

Node SDK

Typesafe fast to integrate SDK.

MCP

Agent ready MCP server.

MCP

Agent ready MCP server.

MCP

Agent ready MCP server.

Build

Get up to speed with developer first documentation and dedicated features.

No Vendor Lock In.

You deserve flexibility, that's why you can

always access your users tokens.

You deserve flexibility, that's why you can always access your users tokens and switch providers easily.


UX control

Full control over your scheduling use case with a UI that feels and is native.

Organizations

Nest customer orgs inside your main org for multi-tenant calendar management.

SOC2 coming

Already secure by design. Certification by October '25. OAuth 2.0 and permissions today.

Get Insights

Track booking patterns, peak hours, and usage metrics. Built-in dashboard.

Unified Solution for All Providers

Don't juggle calendar magic; get up to speed with predictable responses and unified types.

Exactly For You

You know your users better than any pre-built solution.
Shape Recal's open design to match your exact vision.

Scale

Sync with hundreds of calendars in under two seconds to check availability using adaptive slots and opening times.

Scale

Sync with hundreds of calendars in under two seconds to check availability using adaptive slots and opening times.

Scale

Sync with hundreds of calendars in under two seconds to check availability using adaptive slots and opening times.

Agents

Enable AI-native systems. Powering booking via voice assistants, chat bots, and customer service agents.

Agents

Enable AI-native systems. Powering booking via voice assistants, chat bots, and customer service agents.

Agents

Enable AI-native systems. Powering booking via voice assistants, chat bots, and customer service agents.

Integrate into your pipeline

Don't mess up your flows by using flexible, non-opinionated flows that work for you.

Integrate into your pipeline

Don't mess up your flows by using flexible, non-opinionated flows that work for you.

Integrate into your pipeline

Don't mess up your flows by using flexible, non-opinionated flows that work for you.

Connect the dots

Build platforms that connect users with businesses, synchronize calendars, facilitate multi-calendar bookings, and match users with availabilities.

Connect the dots

Build platforms that connect users with businesses, synchronize calendars, facilitate multi-calendar bookings, and match users with availabilities.

Connect the dots

Build platforms that connect users with businesses, synchronize calendars, facilitate multi-calendar bookings, and match users with availabilities.

How it works

Our Pricing

Predictable base pricing + flexible overage.

Simple math: the more you scale, the more discount you get.

Starter

Free

50 Calendar Connections

100 Monthly Bookings

Advanced analytics

Priority email support

text

text

Starter

Free

50 Calendar Connections

100 Monthly Bookings

Advanced analytics

Priority email support

text

text

Starter

Free

50 Calendar Connections

100 Monthly Bookings

Advanced analytics

Priority email support

text

text

Growth

$49/m

250 Calendar connections

500 monthly bookings

Dedicated support channel

One-on-one developer calls

text

text

Growth

$49/m

250 Calendar connections

500 monthly bookings

Dedicated support channel

One-on-one developer calls

text

text

Growth

$49/m

250 Calendar connections

500 monthly bookings

Dedicated support channel

One-on-one developer calls

text

text

Enterprise

Volume discounts

Custom SLAs

Advanced integrations

Expedited features

text

text

Enterprise

Volume discounts

SLAs & SAML SSO

Advanced integrations

Expedited features

text

text

Enterprise

Volume discounts

Custom SLAs

Advanced integrations

Expedited features

text

text

Your Questions

Quick answers to the stuff you're actually wondering about.
Anything missing? Click that chat-bubble.

How do I get started?

Sign up, create your organization and API key in the dashboard, then run npm install recal-sdk and try your first request with our quick start guide.

How do I get started?

Sign up, create your organization and API key in the dashboard, then run npm install recal-sdk and try your first request with our quick start guide.

How do I get started?

Sign up, create your organization and API key in the dashboard, then run npm install recal-sdk and try your first request with our quick start guide.

Is Recal Open Source?

Is Recal Open Source?

Is Recal Open Source?

Do I handle OAuth?

Do I handle OAuth?

Do I handle OAuth?

Do I need to upgrade if I go over my limits?

Do I need to upgrade if I go over my limits?

Do I need to upgrade if I go over my limits?

Contact Us

You can always contact us, but

we love helping you right now.

Use the chat-bubble to get an

instant answer.

First name

Last name

Email

Company name

How can we help?