> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/letterboxd/users-username-diary>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/letterboxd/users-username-diary.mdx>

---

# Letterboxd Diary API

Every diary entry with its watched date, rating, like, rewatch flag and review link.

`GET /v1/letterboxd/users/{username}/diary` returns `data.user`, `data.totalEntries`, and `data.entries`. Each entry has `viewingId`, a `film` reference, `watchedDate` as an ISO date, `rating`, `liked`, `rewatch`, `hasReview`, `entry`, `entryUrl` and `reviewUrl`. `entry` is the viewing number from `entryUrl` (null for the first viewing), so a rewatch can be passed to the review route as `entry`. The diary is the dated record of what a member watched, so it is the right source for a viewing history or a year-in-review, not the watched films route, which is a single all-time grid.

One call returns the 50 most recent entries; there is no `page` or `cursor` parameter and no next page, so a long diary is not returned in full. `hasReview` tells you whether the entry has a review before you call the review route; `entryUrl` is the viewing's own link and `reviewUrl` is the link to the review.

## Request

- **Endpoint:** `GET /v1/letterboxd/users/{username}/diary`
- **Credits:** 1 credit
Failed requests are free
A not-found answer is still charged
- **Input:** by username
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/diary/get)
- **Platform page:** [/platforms/letterboxd](https://www.socialfetch.dev/platforms/letterboxd)

## FAQ

### What is the difference between diary and watched films?

The diary is dated: it records each viewing, including rewatches, with watchedDate and viewingId. The watched films route is a single grid of films the member has seen, with the current rating and like.

### How do I know an entry has a review?

Read hasReview. When it is true, reviewUrl links to the review. To fetch the full review text, call GET /v1/letterboxd/users/{username}/films/{slug}/review and add entry when the URL carries a rewatch number.

### How many entries does one call return?

50. The route takes no page or cursor. totalEntries is the member's full count.

### How many credits does a diary lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.

### What does lookupStatus mean here?

found means the member exists, even if the diary is empty. not_found means the username does not exist, and data.user is null.
