Skip to main content

Python 3 wrapper for the Letterboxd API

Project description


Python 3 implementation of the Letterboxd API v0.

Python ≥3.6 is required.

Letterboxd API Access

Letterboxd has posted an example Ruby client, but as they say in the readme there:

Although the Letterboxd API isn’t public yet (as at 2017-06-12), we have seeded some developers with API keys.

If you need more information about API access, please see


All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.


[0.3.0] - 2018-07-22


  • Issue and pull request templates

  • Code of Conduct

  • Coverage for Letterboxd API endpoints
    • /auth/forgotten-password-request

    • /auth/username-check

    • /list/{id}

    • /list/{id} [PATCH]

    • /list/{id} [DELETE]

    • /list/{id}/comments

    • /list/{id}/comments [POST]

    • /list/{id}/entries

    • /list/{id}/me

    • /list/{id}/me [PATCH]

    • /list/{id}/report [POST]

    • /list/{id}/statistics

    • /lists

    • /lists [POST]

    • /me [PATCH]

  • A TON more pytest unit tests, and made existing ones more comprehensive


  • Internally refactored API object definitions into their own file, for pytest

  • Internally changed some variable names to better reflect Letterboxd API nomenclature (I don’t think this affects any method arguments.)


  • Removed mutable default arguments on several methods

[0.2.6] - 2018-07-04


  • Getting the Travis CI integration with PyPI to work properly.

[0.2.5] - 2018-07-04 [YANKED]

[0.2.4] - 2018-07-04


  • Getting bumpversion to work properly.

[0.2.3] - 2018-07-04 [YANKED]

[0.2.2] - 2018-07-04 [YANKED]

[0.2.1] - 2018-07-04 [YANKED]

[0.2.0] - 2018-07-04


  • This CHANGELOG.rst

  • Converted to .rst

  • Documentation written with reStructuredText and Sphinx, being built to Read the Docs

  • Added a number of defaults and tests as provided in cookiecutter-pypackage

  • Added an easy initializer with import letterboxd and then

  • User.refresh_token() to refresh the user authentication oAuth token

  • Coverage for Letterboxd API endpoints:
    • /film/{id}/members

    • /film/{id}/report

    • /film/{id}/statistics

    • /films

    • /films/film-services

    • /films/genres

    • /film-collection/{id}

    • /search


  • All api-calling methods now return the dictionary from the response JSON, instead of the entire requests.Response.

[0.1.0] - 2018-06-24


  • First public version! Version 0.1.0a tagged on GitHub, and posted to PyPI.

  • letterboxd, api, user, auth, member, and film modules.

  • coverage for Letterboxd API endpoints:
    • film

    • /film/{id}

    • /film/{id}/availability — this data is first-party only

    • /film/{id}/me

    • /me

    • /member/{id}/watchlist

Changelog format

  • Each version should:
    • List its release date in ISO 8601 format (YYYY-MM-DD).

    • Group changes to describe their impact on the project, as follows:
      • Added for new features.

      • Changed for changes in existing functionality.

      • Deprecated for once-stable features removed in upcoming releases.

      • Removed for deprecated features removed in this release.

      • Fixed for any bug fixes.

      • Security to invite users to upgrade in case of vulnerabilities.

    • Take a look at this checklist for packaging a new version, and this one

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

letterboxd-0.3.0.tar.gz (28.3 kB view hashes)

Uploaded Source

Built Distribution

letterboxd-0.3.0-py2.py3-none-any.whl (16.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page