# Letterboxd — Zapi reference > Jejaring sosial film: detail film, rating komunitas, film populer, dan profil member. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/movie/letterboxd - Endpoint catalog: https://zpi.web.id/category/movie - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Letterboxd **Category:** movie · **Slug:** `letterboxd` **Detail page:** https://zpi.web.id/api/movie/letterboxd Jejaring sosial film: detail film, rating komunitas, film populer, dan profil member. **Tags:** movie, rating, social ### Film Letterboxd Film Detail — info lengkap satu film by slug. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:letterboxd/film/:slug` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `slug` | string | path | yes | Slug film Letterboxd (mis. parasite-2019). Boleh tempel URL film penuh — slug di-ekstrak otomatis | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:letterboxd/film/:slug" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:letterboxd/film/:slug", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:letterboxd/film/:slug", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://letterboxd.com/film/parasite-2019/", "cast": [ "Song Kang-ho", "Lee Sun-kyun", "Cho Yeo-jeong", "Choi Woo-shik", "Park So-dam", "Lee Jung-eun", "Jang Hye-jin", "Park Myung-hoon", "Jung Zi-so", "Jung Hyeon-jun", "Park Keun-rok", "Jung Yi-seo", "Cho Jae-myung", "Jeong Ik-han", "Kim Kyu-baek", "Lee Dong-yong", "Ahn Seong-bong", "Yoon Young-woo", "Park Jae-wook", "Jeon Eun-mi", "Kim Geon", "Lee Joo-hyung", "Kim Yeong-jo", "Kim Jung-woo", "Baek Seung-hwan", "Je Seung-hyun", "Park Hye-sook", "Choi Ji-won", "Lee Sang-kyung", "Kim Ha-eon" ], "slug": "parasite-2019", "year": 2019, "title": "Parasite", "genres": [ "Thriller", "Comedy", "Drama" ], "imdbId": "tt6751668", "poster": "https://a.ltrbxd.com/resized/film-poster/4/2/6/4/0/6/426406-parasite-0-230-0-345-crop.jpg?v=8f5653f710", "rating": 4.52, "runtime": 133, "studios": [ "Barunson E&A" ], "tagline": "Act like you own the place.", "director": [ "Bong Joon Ho" ], "synopsis": "All unemployed, Ki-taek's family takes peculiar interest in the wealthy and glamorous Parks for their livelihood until they get entangled in an unexpected incident.", "countries": [ "South Korea" ], "ratingCount": 5432632, "ratingScale": 5 } ``` --- ### Member Letterboxd Member Profile — profil seorang member by username. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:letterboxd/member/:username` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `username` | string | path | yes | Username Letterboxd. Boleh tempel URL profil penuh — username di-ekstrak otomatis | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:letterboxd/member/:username" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:letterboxd/member/:username", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:letterboxd/member/:username", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "bio": "Member since 12/11/2011 My 4 favourites are the last 4 films I rated 5 stars (including rewatches). Looking at my average ratings I might seem a bit too generous... The thing is, I started choosing movies to watch in a different way since I started using Letterboxd. Lots of classics were added to (and ticked off) my watchlist as I'm more serious about films because of this awesome site. And since I only rate the ones with diary entries, the percentage of high ratings is quite substantial...", "url": "https://letterboxd.com/dave/", "films": 2567, "lists": 156, "avatar": "https://secure.gravatar.com/avatar/b7b59a60d69cdb2ff36f363fb953cdbc?rating=PG&size=1000&border=&default=https%3A%2F%2Fs.ltrbxd.com%2Fstatic%2Fimg%2Favatar1000-BdGBhe59.png", "username": "dave", "followers": 35064, "following": 77, "displayName": "Dave Vis", "filmsThisYear": 78 } ``` --- ### Popular Letterboxd Popular Films — daftar film terpopuler. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:letterboxd/popular` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `period` | enum(week|month|year|all) | query | no | Rentang popularitas: week=minggu ini, month=bulan ini, year=tahun ini, all=sepanjang masa. Default all | | `limit` | number | query | no | Jumlah film maksimum. Default 20, max 30 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:letterboxd/popular?period=week&limit=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:letterboxd/popular?period=week&limit=20", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:letterboxd/popular?period=week&limit=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 20, "period": "week", "results": [ { "url": "https://letterboxd.com/film/backrooms-2026/", "slug": "backrooms-2026", "year": 2026, "title": "Backrooms", "rating": 3.38 }, { "url": "https://letterboxd.com/film/obsession-2025-2/", "slug": "obsession-2025-2", "year": 2025, "title": "Obsession", "rating": 4.15 }, { "url": "https://letterboxd.com/film/scary-movie-2026/", "slug": "scary-movie-2026", "year": 2026, "title": "Scary Movie", "rating": 2.6 }, { "url": "https://letterboxd.com/film/masters-of-the-universe-2026/", "slug": "masters-of-the-universe-2026", "year": 2026, "title": "Masters of the Universe", "rating": 3.21 }, { "url": "https://letterboxd.com/film/project-hail-mary/", "slug": "project-hail-mary", "year": 2026, "title": "Project Hail Mary", "rating": 4.31 }, { "url": "https://letterboxd.com/film/the-drama/", "slug": "the-drama", "year": 2026, "title": "The Drama", "rating": 3.7 }, { "url": "https://letterboxd.com/film/michael-2026/", "slug": "michael-2026", "year": 2026, "title": "Michael", "rating": 3.62 }, { "url": "https://letterboxd.com/film/hoppers/", "slug": "hoppers", "year": 2026, "title": "Hoppers", "rating": 3.75 }, { "url": "https://letterboxd.com/film/hokum/", "slug": "hokum", "year": 2026, "title": "Hokum", "rating": 3.38 }, { "url": "https://letterboxd.com/film/the-amazing-digital-circus-the-last-act/", "slug": "the-amazing-digital-circus-the-last-act", "year": 2026, "title": "The Amazing Digital Circus: The Last Act", "rating": 3.5 }, { "url": "https://letterboxd.com/film/star-wars-the-mandalorian-and-grogu/", "slug": "star-wars-the-mandalorian-and-grogu", "year": 2026, "title": "Star Wars: The Mandalorian and Grogu", "rating": 3.11 }, { "url": "https://letterboxd.com/film/the-devil-wears-prada-2/", "slug": "the-devil-wears-prada-2", "year": 2026, "title": "The Devil Wears Prada 2", "rating": 3.2 }, { "url": "https://letterboxd.com/film/ladies-first-2026/", "slug": "ladies-first-2026", "year": 2026, "title": "Ladies First", "rating": 2.28 }, { "url": "https://letterboxd.com/film/send-help/", "slug": "send-help", "year": 2026, "title": "Send Help", "rating": 3.33 }, { "url": "https://letterboxd.com/film/the-sheep-detectives/", "slug": "the-sheep-detectives", "year": 2026, "title": "The Sheep Detectives", "rating": 3.81 }, { "url": "https://letterboxd.com/film/i-love-boosters/", "slug": "i-love-boosters", "year": 2026, "title": "I Love Boosters", "rating": 3.81 }, { "url": "https://letterboxd.com/film/tuner/", "slug": "tuner", "year": 2025, "title": "Tuner", "rating": 3.74 }, { "url": "https://letterboxd.com/film/the-crash-2026/", "slug": "the-crash-2026", "year": 2026, "title": "The Crash", "rating": 2.84 }, { "url": "https://letterboxd.com/film/bugonia/", "slug": "bugonia", "year": 2025, "title": "Bugonia", "rating": 3.84 }, { "url": "https://letterboxd.com/film/fight-club/", "slug": "fight-club", "year": 1999, "title": "Fight Club", "rating": 4.27 } ] } ``` --- ### Search Letterboxd Film Search — cari film by kata kunci. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:letterboxd/search` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Kata kunci pencarian judul film | | `limit` | number | query | no | Jumlah hasil maksimum. Default 12, max 30 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:letterboxd/search?q=parasite&limit=12" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:letterboxd/search?q=parasite&limit=12", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:letterboxd/search?q=parasite&limit=12", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 2, "query": "parasite", "results": [ { "url": "https://letterboxd.com/film/parasite-2/", "slug": "parasite-2", "title": "Parasite" }, { "url": "https://letterboxd.com/film/the-parasite-1/", "slug": "the-parasite-1", "title": "The Parasite" } ] } ``` --- _Generated: 2026-08-02T14:30:04.263Z_