# Social Fetch API - Letterboxd endpoints # Base URL: https://api.socialfetch.dev # Auth: x-api-key header (sfk_...) # Full catalog: https://www.socialfetch.dev/llms-endpoints.txt | JSON: https://www.socialfetch.dev/llms.json # Docs hub: https://www.socialfetch.dev/docs/api | OpenAPI: https://www.socialfetch.dev/openapi.json 16 documented Letterboxd operations. Do not invent paths - only the routes below (and their linked markdown pages) are supported. ## GET /v1/letterboxd/films/{slug} Get Letterboxd film Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/films/slug/get.mdx SDK: client.letterboxd.getFilm({ slug: "parasite-2019" }) Parameters: - slug (required, string) - Letterboxd film slug: letters, digits and hyphens, e.g. `parasite-2019`. Input is lowercased. Required, no default; 1 to 200 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/films/parasite-2019" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/people/{role}/{slug}/films List Letterboxd person or studio films Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/people/role/slug/films/get.mdx SDK: client.letterboxd.listPersonFilms({ role: "director", slug: "bong-joon-ho" }) Parameters: - role (required, string, enum: director | actor | writer | composer | studio | producer | executive-producer | editor | cinematography | original-writer | story | production-design | art-direction | set-decoration | costume-design | makeup | hairstyling | sound | visual-effects | stunts | casting | lighting | camera-operator | assistant-director | additional-directing | additional-photography | special-effects | songs) - Crew role the person is filed under, e.g. `director`, `actor`, `producer`, `editor`, `cinematography` or `studio`. - slug (required, string) - Letterboxd person or studio slug: letters, digits and hyphens, or `contributor:` with digits, e.g. `bong-joon-ho`. Input is lowercased. Required, no default; 1 to 200 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/people/director/bong-joon-ho/films" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username} Get Letterboxd member Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/get.mdx SDK: client.letterboxd.getUser({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/films List Letterboxd member watched films Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/films/get.mdx SDK: client.letterboxd.listUserFilms({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/films" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/diary List Letterboxd member diary Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/diary/get.mdx SDK: client.letterboxd.listUserDiary({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/diary" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/reviews List Letterboxd member reviews Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/reviews/get.mdx SDK: client.letterboxd.listUserReviews({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/reviews" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/films/{slug}/review Get Letterboxd review Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/films/slug/review/get.mdx SDK: client.letterboxd.getReview({ username: "davidehrlich", slug: "batman-v-superman-dawn-of-justice" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. - slug (required, string) - Letterboxd film slug: letters, digits and hyphens, e.g. `parasite-2019`. Input is lowercased. Required, no default; 1 to 200 characters. - entry (optional, integer) - Entry number from the review URL (`/{username}/film/{slug}/{entry}/`). Omit it for the viewing without a number; `rewatch` tells you whether it is a rewatch. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/films/batman-v-superman-dawn-of-justice/review" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/watchlist List Letterboxd member watchlist Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/watchlist/get.mdx SDK: client.letterboxd.listUserWatchlist({ username: "dave" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found`, `restricted` curl "https://api.socialfetch.dev/v1/letterboxd/users/dave/watchlist" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/followers List Letterboxd member followers Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/followers/get.mdx SDK: client.letterboxd.listUserFollowers({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/followers" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/following List Letterboxd member following Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/following/get.mdx SDK: client.letterboxd.listUserFollowing({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/following" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/activity List Letterboxd member recent activity Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/activity/get.mdx SDK: client.letterboxd.getUserActivity({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/activity" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/stats Get Letterboxd member statistics Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/stats/get.mdx SDK: client.letterboxd.getUserStats({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `restricted`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/stats" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/members/popular List popular Letterboxd members Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/members/popular/get.mdx SDK: client.letterboxd.listPopularMembers() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/members/popular" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/tags List Letterboxd member tags Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/tags/get.mdx SDK: client.letterboxd.listUserTags({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/tags" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/lists List Letterboxd member lists Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/lists/get.mdx SDK: client.letterboxd.listUserLists({ username: "davidehrlich" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/lists" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/letterboxd/users/{username}/lists/{slug} Get Letterboxd list Credit cost: 1 credit. Failed requests are free. A not-found answer is still charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/letterboxd/users/username/lists/slug/get.mdx SDK: client.letterboxd.getList({ username: "davidehrlich", slug: "christopher-nolan-films-ranked" }) Parameters: - username (required, string) - Letterboxd username: letters, digits and `_`, e.g. `davidehrlich`. Input is lowercased. Required, no default; at most 64 characters. - slug (required, string) - Letterboxd list slug: letters, digits, `-`, `_`, `.`, `~` or `:`, e.g. `letterboxds-top-500-films`. Required, no default; 1 to 200 characters. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/letterboxd/users/davidehrlich/lists/christopher-nolan-films-ranked" \ -H "x-api-key: YOUR_API_KEY"