1from apify_client import ApifyClient
2
3
4
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7
8run_input = {
9 "sources": [{
10 "sourceId": "operations-calendar",
11 "fileName": "operations.ics",
12 "mediaType": "text/calendar",
13 "encoding": "utf8",
14 "content": """BEGIN:VCALENDAR\r
15VERSION:2.0\r
16PRODID:-//Example Corp//Operations//EN\r
17BEGIN:VEVENT\r
18UID:maintenance-42@example.com\r
19DTSTAMP:20260901T090000Z\r
20DTSTART:20261005T090000Z\r
21DTEND:20261005T100000Z\r
22RRULE:FREQ=WEEKLY;COUNT=2\r
23SUMMARY:Maintenance review\r
24LOCATION:Operations room\r
25STATUS:CONFIRMED\r
26SEQUENCE:1\r
27ORGANIZER;CN=Ops Lead:mailto:ops-lead@example.com\r
28END:VEVENT\r
29BEGIN:VEVENT\r
30UID:offsite-7@example.com\r
31DTSTAMP:20260901T090000Z\r
32DTSTART;VALUE=DATE:20261020\r
33DTEND;VALUE=DATE:20261021\r
34SUMMARY:Team offsite\r
35DESCRIPTION:Quarterly planning - bring your badge\r
36TRANSP:TRANSPARENT\r
37END:VEVENT\r
38END:VCALENDAR\r
39""",
40 }],
41 "dateWindow": {
42 "start": "2026-10-01T00:00:00Z",
43 "end": "2026-11-01T00:00:00Z",
44 },
45 "targetTimeZone": "Europe/London",
46 "deduplication": {
47 "enabled": True,
48 "mode": "uid_or_fingerprint",
49 },
50 "conflictDetection": {
51 "enabled": True,
52 "includeTransparentEvents": False,
53 },
54 "limits": {
55 "maxInstances": 100,
56 "maxSourceBytes": 10485760,
57 },
58}
59
60
61run = client.actor("first_watch/ical-calendar-feed-parsing").call(run_input=run_input)
62
63
64print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
65for item in client.dataset(run.default_dataset_id).iterate_items():
66 print(item)
67
68