getcal.link

Generate universal calendar links from a single URL. Works with Apple Calendar, Google Calendar, Outlook, and Yahoo.

Build a link

Your links

API Reference

Two endpoints, same query parameters. /event.ics returns a downloadable ICS file. /links returns JSON with pre-built URLs for Google, Outlook, Yahoo, and a direct ICS link.

ParameterRequiredDescription
titleYesEvent title
startYesStart datetime — ISO 8601 (2026-02-15T14:00:00Z) or compact (20260215T140000Z)
endYesEnd datetime — same formats as start
descriptionNoEvent description (newlines supported)
locationNoEvent location or meeting URL
urlNoA URL to attach to the event
organizerNoOrganizer display name
organizer_emailNoOrganizer email address
reminderNoMinutes before event to trigger an alarm, e.g. 15
uidNoUnique event ID — auto-generated if omitted
rruleNoRecurrence rule, e.g. FREQ=WEEKLY;COUNT=10

Endpoints

GET /event.ics?... → Downloads a .ics file (RFC 5545). Works as a direct link in emails, websites, or anywhere a URL is accepted.

GET /links?... → Returns JSON with ics_url, google_url, outlook_url, and yahoo_url. CORS-enabled for client-side use.

Usage examples

<!-- Simple .ics 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">
  Add to Calendar
</a>

<!-- Or fetch JSON links for a dropdown -->
<script>
  fetch('https://api.getcal.link/links?title=Team+standup&start=2026-02-15T14:00:00Z&end=2026-02-15T14:30:00Z')
    .then(r => r.json())
    .then(links => {
      console.log(links.google_url);
      console.log(links.outlook_url);
      console.log(links.ics_url);
    });
</script>

MCP Integration

getcal.link exposes an MCP server at /mcp, letting AI assistants like Claude create calendar events and generate links via tool calls.

Available tools

ToolDescription
validate_eventValidates and normalises event parameters. Returns the parsed event object.
generate_icsGenerates an RFC 5545 ICS file as text for the given event.
generate_linksReturns JSON with deep links for Google Calendar, Outlook, Yahoo, and a direct ICS download URL.

Connect your client

For Claude Desktop, Cursor, or any MCP client that supports remote servers:

{
  "mcpServers": {
    "getcal-link": {
      "url": "https://api.getcal.link/mcp"
    }
  }
}

For clients that only support local stdio transports, use the mcp-remote proxy:

{
  "mcpServers": {
    "getcal-link": {
      "command": "npx",
      "args": ["mcp-remote", "https://api.getcal.link/mcp"]
    }
  }
}