If you’re an iCloud user, and you’ve found a need to share out a calendar to an application via a URL, you’ve probably come up against a number of hurdles. With a calendar URL, you can use it to subscribe to a calendar in an application outside of the Apple universe (such as with Google or Thunderbird/Lightning). Locating the URL for a Public Calendar is really simple:

  • Log into iCloud.
  • Open the Calendar app.
  • Click on the grayed out “wireless” icon.
  • Click Public Calendar.
  • Copy the given URL (it’ll start with webcal).

You can then use that URL to subscribe to the calendar in question. But what if you don’t want to make that calendar public? Or what if you want more than read-only permissions? If you’re looking to share a calendar privately, the steps required to locate the address are a bit more complicated. Let me show you how it’s done.

What you’ll need

You’ll need to be able to log into your iCloud account. You’ll also need Firefox, and if you have two-factor authentication setup for iCloud, which you should, you’ll need to generate an app password from Apple ID, which only applies when you’re configuring third-party software to sync with the calendar.

Let’s get to work.

Finding out the necessary bits

The URL we’re looking for is in the form:

https://pXX-caldav.icloud.com/DSID/calendars/CALNAME

We have to locate the pXX and the DSID. To do that, open up iCloud in Firefox (I know, it’s crazy … play along). Click on the calendar you want to share and then open the Firefox debugging console by hitting F12. When the console opens, select the calendar you want to share, and generate a test calendar appointment to generate some traffic. When you see a POST entry in the console (Figure A), select it.

Figure A

In the right pane, click Params and scroll down until you find the dsid entry (Figure B). Copy that ID into a note or document (you’ll need it later).

Figure B

Close the debugging console and click the grayed out “wireless” icon associated with the calendar you want to share. Temporarily select Public Calendar to reveal the next bit of information we need (the base URL for the calendar – Figure C).

Figure C

This will reveal the pXX part of the URL. In this case, it’s p11. So now all we have to do is fill in the blanks. Let’s say we’re going to share out a Calendar named work. To do that, the URL would be:

https://p11-caldav.icloud.com/DSID/calendars/work

NOTE: Your calendar might have a different pXX number than mine.

The above URL can then be used with tools like Thunderbird to sync the iCloud Calendar (without having to settle for public/read-only calendars). Do remember, once you have the pXX part of the URL, you should uncheck the Public option for that calendar.

Useful information

If you’ve ever had the need to find the URL for an iCloud calendar, you now have the means. The process is a bit convoluted, but now that you know how to get all the necessary information, you won’t have any problem sharing out those private calendars with third-party software.

Subscribe to the Cloud Insider Newsletter

This is your go-to resource for the latest news and tips on the following topics and more, XaaS, AWS, Microsoft Azure, DevOps, virtualization, the hybrid cloud, and cloud security. Delivered Mondays and Wednesdays

Subscribe to the Cloud Insider Newsletter

This is your go-to resource for the latest news and tips on the following topics and more, XaaS, AWS, Microsoft Azure, DevOps, virtualization, the hybrid cloud, and cloud security. Delivered Mondays and Wednesdays