# Ics To Csv — REST API endpoint `ics-to-csv`

Convert an iCalendar (.ics) export from Google Calendar, Apple Calendar or Outlook into CSV, one row per event. Folded lines, escaped text, TZID and UTC stamps, all-day dates, DURATION and X-WR-CALNAME are read. Times stay exactly as the file states them and are never converted between zones; the zone travels in its own column. A recurrence rule is written as text in the rrule column, not expanded into every occurrence. The outlook layout writes the nine-column header Google Calendar and Outlook accept on import. To-dos, journals and events with no readable start are skipped and counted.

- 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-csv/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/ics-to-csv/
- Same tool on the other surface: https://findutils.com/mcp/ics-to-csv/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/ics-to-csv/execute \
  -H "Content-Type: application/json" \
  -d '{
    "input": "BEGIN:VCALENDAR\nBEGIN:VEVENT\nDTSTART;TZID=Europe/Istanbul:20260903T093000\nDTEND;TZID=Europe/Istanbul:20260903T101500\nSUMMARY:Standup\nLOCATION:Room 4\nEND:VEVENT\nEND:VCALENDAR\n"
  }'

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

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `input` | string | yes | The .ics file contents. |
| `layout` | string (spreadsheet \| outlook) | no | spreadsheet (default): summary, start, end, all_day, timezone, location, description, organizer, status, categories, rrule, uid with ISO dates. outlook: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location, Private with MM/DD/YYYY dates, the header Google Calendar and Outlook import. Default: `"spreadsheet"`. |
| `delimiter` | string | no | Output field separator. Default: a comma. Default: `","`. |
| `sort_by_start` | boolean | no | Order rows by start time. Default true; false keeps file order. Default: `true`. |

Example arguments (verified):

```json
{
  "input": "BEGIN:VCALENDAR\nBEGIN:VEVENT\nDTSTART;TZID=Europe/Istanbul:20260903T093000\nDTEND;TZID=Europe/Istanbul:20260903T101500\nSUMMARY:Standup\nLOCATION:Room 4\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_csv`. Full MCP reference: https://findutils.com/mcp/ics-to-csv/

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