Export Letterboxd diary to iCalendar format

7.0.3 2024-03-21 14:48 UTC


letterboxd-ics is a package to render a Letterboxd diary in iCalendar format.

Build Status

How to install (Heroku)

Deploy to Heroku

The installation will prompt you to set the LETTERBOXD_USERNAME and LETTERBOXD_PASSWORD secrets.

How to install (standalone)

If you want to use the standalone package, you can do the following:

git clone
cd letterboxd-ics
composer install

Once you have the package and its dependencies, set environment variables LETTERBOXD_USERNAME and LETTERBOXD_PASSWORD to your credentials, then point a Web server at the public folder.

How to install (Packagist)

Alternatively, letterboxd-ics is available on Packagist, so it can be specified as a dependency using Composer:

    "require": {
        "cmbuckley/letterboxd-ics": "^7.0"

How to use

You can specify your own options:

require 'vendor/autoload.php';

$calendar = new Starsquare\Letterboxd\Calendar(array(
    'auth' => array(
        'username' => '',
        'password' => 'password',

echo $calendar;

Other configuration options:

  • calendar: Config for the calendar.
    • name: Name of the calendar.
    • description: Full description of the calendar.
    • timezone: Timezone of the calendar.
  • output: Config for the output.
    • headers: Whether to send response headers.
    • errors: Whether to display errors.
    • content-type: Content-Type sent with the response. Defaults to text/calendar, but text/plain will work for most clients.
    • charset: Character set sent with the response.

Alternatively, you can define your configuration options in a JSON-encoded config file, and pass the file path to the Calendar object. An example is provided in the public folder.