Universal Add to Calendar links from a single URL
Generate RFC 5545 ICS files and deep links for Google Calendar, Outlook, and Yahoo. Free API, no signup, no tracking.
GET /event.ics?title=Team+standup&start=2026-02-15T14:00:00Z&end=2026-02-15T14:30:00Z Why getcal.link
One URL, every calendar
A single link generates downloads for Apple Calendar, Google Calendar, Outlook, and Yahoo.
No signup, no API key
Completely free and stateless. Build a URL, share it. Works from any HTTP client or browser.
RFC 5545 compliant
Generated ICS files follow the iCalendar standard. Reminders, recurrence rules, and organizer fields supported.
MCP server for AI agents
AI assistants like Claude can create calendar events via the built-in MCP endpoint at /mcp.
CORS enabled
Fetch links from any frontend with the /links JSON endpoint. No proxy or server-side code needed.
Edge-fast on Cloudflare
Runs on Cloudflare Workers for sub-50ms responses globally. No cold starts, no infrastructure to manage.
How it works
- 1
Build your URL
Add event details as query parameters:
title,start,end, plus optional fields likelocationandreminder. - 2
Choose your endpoint
Use
/event.icsfor a direct ICS download, or/linksfor JSON with deep links to Google, Outlook, and Yahoo. - 3
Share it anywhere
Paste the link in an email, embed it on a website, or fetch it from your app. No JavaScript, no SDK, no account needed.
Use cases
Email campaigns
Drop an "Add to Calendar" link into any email template. Works with Mailchimp, Braze, SendGrid, and plain HTML emails.
Read guide →Event websites
Embed calendar links on conference pages, meetup sites, or ticketing platforms. No JavaScript required.
Read guide →Developer tooling
Generate calendar links programmatically from your backend, CI pipeline, or automation scripts.
Read guide →Quick example
HTML — direct download link
<a href="https://api.getcal.link/event.ics?title=Team+standup&start=2026-02-15T14:00:00Z&end=2026-02-15T14:30:00Z&reminder=15">
Add to Calendar
</a> JavaScript — fetch calendar links
const res = await fetch(
'https://api.getcal.link/links?title=Team+standup&start=2026-02-15T14:00:00Z&end=2026-02-15T14:30:00Z'
);
const links = await res.json();
// links.google_url, links.outlook_url, links.yahoo_url, links.ics_url Frequently asked questions
- Is getcal.link free?
- Yes. The API is free to use with no signup or API key required.
- Does getcal.link store my event data?
- No. All processing happens in-memory. Nothing is logged, stored, or shared. See our privacy policy.
- What calendar apps are supported?
- The /event.ics endpoint works with any app that supports ICS files, including Apple Calendar, Google Calendar, Outlook, Thunderbird, and more. The /links endpoint also returns deep links for Google, Outlook, and Yahoo.
- Can I use this in production?
- Absolutely. getcal.link runs on Cloudflare Workers with global edge distribution. It's designed for production use in emails, websites, and applications.
- What is the MCP endpoint?
- MCP (Model Context Protocol) lets AI assistants create calendar events. Connect your AI client to
/mcpand it can validate events, generate ICS files, and build calendar links. Learn more.