🧩

ICS to JSON

Parse an iCalendar (.ics) feed into JSON events.

POST 1 credit /v1/convert/ics-to-json
curl -X POST "https://convert.toolkitapi.io/v1/convert/ics-to-json" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"ics": "BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Team Sync\nDTSTART:20260420T150000Z\nDTEND:20260420T160000Z\nEND:VEVENT\nEND:VCALENDAR"}'
import httpx

resp = httpx.post(
    "https://convert.toolkitapi.io/v1/convert/ics-to-json",
    json={"ics": "BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Team Sync\nDTSTART:20260420T150000Z\nDTEND:20260420T160000Z\nEND:VEVENT\nEND:VCALENDAR"},
)
print(resp.json())
const resp = await fetch("https://convert.toolkitapi.io/v1/convert/ics-to-json", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"ics": "BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Team Sync\nDTSTART:20260420T150000Z\nDTEND:20260420T160000Z\nEND:VEVENT\nEND:VCALENDAR"}),
});
const data = await resp.json();
console.log(data);
# See curl example
Response 200 OK
{
  "events": [
    {"summary": "Team Sync", "dtstart": "2026-04-20T15:00:00Z", "dtend": "2026-04-20T16:00:00Z"}
  ],
  "count": 1
}

Description

Parse an iCalendar (.ics) feed into JSON events.

How to Use

1

1. POST a JSON body with `ics` (inline) or `url`.

2

2. Read `events[]` and `count` from the response.

About This Tool

Parses an iCalendar (`.ics`) feed into a JSON array of event objects. Standard event fields — summary, description, start/end time, location, organizer, attendees, recurrence rule — become keys in a JSON object.

Recurring events are represented with their `RRULE`; individual occurrences are not expanded.

Why Use This Tool

Frequently Asked Questions

Are recurring events expanded?
No — the RRULE is returned as-is. Expand locally with a library like `rrule`.
Are timezones preserved?
Yes — DTSTART/DTEND retain their timezone identifier when present; UTC times end with `Z`.
What fields are extracted?
`summary`, `description`, `dtstart`, `dtend`, `location`, `organizer`, `attendees`, `rrule`, `uid`, and common extensions.

Start using ICS to JSON now

Get your free API key and make your first request in under a minute.