# Ics To Json — REST API endpoint `ics-to-json`

Parse an iCalendar (.ics) export from Google Calendar, Apple Calendar or Outlook into JSON: one object per event with uid, summary, description, location, start, end, all_day, timezone, status, url, organizer, attendees, categories, rrule, exdate, recurrence_id, created, last_modified, sequence and alarms, plus a calendar block with the name, PRODID, METHOD and the VTIMEZONE ids. Folded lines and escaped text are decoded. Times are wall-clock ISO-8601 exactly as the file states them, never converted between zones; the zone is its own field. The end is the exclusive iCalendar end, derived from DURATION when DTEND is absent. A recurrence rule stays as RRULE text and is never expanded. To-dos and journal entries are skipped and counted unless include_todos is true.

- Category: productivity
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/ics-to-json/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/ics-to-json/
- Same tool on the other surface: https://findutils.com/mcp/ics-to-json/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/ics-to-json/execute \
  -H "Content-Type: application/json" \
  -d '{
    "input": "BEGIN:VCALENDAR\nX-WR-CALNAME:Work\nBEGIN:VEVENT\nUID:a@example.com\nDTSTART;TZID=Europe/Istanbul:20260903T093000\nDTEND;TZID=Europe/Istanbul:20260903T101500\nSUMMARY:Standup\nLOCATION:Room 4\nRRULE:FREQ=WEEKLY;BYDAY=TU\nEND:VEVENT\nEND:VCALENDAR\n"
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/ics-to-json
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `input` | string | yes | The .ics file contents. |
| `include_todos` | boolean | no | Also return VTODO and VJOURNAL components, typed by their kind. Default false: events only, the rest counted as skipped. Default: `false`. |

Example arguments (verified):

```json
{
  "input": "BEGIN:VCALENDAR\nX-WR-CALNAME:Work\nBEGIN:VEVENT\nUID:a@example.com\nDTSTART;TZID=Europe/Istanbul:20260903T093000\nDTEND;TZID=Europe/Istanbul:20260903T101500\nSUMMARY:Standup\nLOCATION:Room 4\nRRULE:FREQ=WEEKLY;BYDAY=TU\nEND:VEVENT\nEND:VCALENDAR\n"
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Then ask the client to call `findutils:ics_to_json`. Full MCP reference: https://findutils.com/mcp/ics-to-json/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
