Developer API
Listick never exposes upstream media API keys to clients. Authenticate with a scrobbler token (lstk_…) or a Supabase session JWT. Create tokens under Settings → Scrobbler API tokens.
Authentication
Send Authorization: Bearer <token> on protected routes. API tokens are prefixed with lstk_ and shown once at creation. Revoke unused tokens in Settings.
curl -sS "https://listick.tv/api/v1/health"
curl -sS "https://listick.tv/api/v1/stremio/catalogs" \
-H "Authorization: Bearer lstk_…"Health
/api/v1/healthnoneProbe for uptime checks and client bootstrap.
{ "ok": true, "service": "listick", "version": "v1", "time": "…" }Title metadata
/api/v1/title?id=tmdb-movie-550noneResolve catalog metadata for deep links and clients. Also accepts ?type=movie&externalId=550 or ?slug=movie/550.
curl -sS "https://listick.tv/api/v1/title?id=tmdb-movie-550"Scrobble
/api/v1/scrobbleBearerReport playback from Stremio, Kodi, or custom players. At least one id is required: imdb, tmdb (+ tmdbType), or kitsu. TV and anime need season and episode for scrobble / unscrobble.
Actions: start, progress, scrobble (≥80% progress), unscrobble.
curl -sS -X POST "https://listick.tv/api/v1/scrobble" \
-H "Authorization: Bearer lstk_…" \
-H "Content-Type: application/json" \
-d '{
"action": "scrobble",
"ids": { "imdb": "tt0903747", "tmdb": 1396, "tmdbType": "tv" },
"season": 1,
"episode": 1,
"progress": 92
}'Stremio content ids like tt1234567:1:5 map to IMDb + season + episode. Shared types live in @listick/sdk (ScrobbleRequestSchema).
Stremio addon API
The official community addon in apps/stremio-addon wraps these endpoints. Mark lists Public or subscribe on /l/[id] to publish catalogs.
/api/v1/stremio/catalogsBearerReturns catalog definitions for your manifest (own public lists + subscriptions).
/api/v1/stremio/catalog/{listId}?type=movie|series&skip=0BearerPaginated Stremio metas. Subscribed lists use id prefix sub__+ list UUID. Smart lists are cached server-side (6h TTL).
/api/v1/poster?src=…&tmdb=…&imdb=…&rt=…noneComposited poster with rating badges. TMDB (all plans), IMDb (Plus+), RT (Pro+) — gated by the token owner's plan when fetched through the addon.
curl -sS "https://listick.tv/api/v1/stremio/catalogs" \
-H "Authorization: Bearer lstk_…"
curl -sS "https://listick.tv/api/v1/stremio/catalog/sub__<list-uuid>?type=movie&skip=0" \
-H "Authorization: Bearer lstk_…"Public lists (no auth)
/api/lists/public/{listId}noneJSON for share pages at /l/[id]. Smart lists use the same cached list_items rows as Stremio.
{ "list", "owner", "items", "lastRefreshedAt" }Rate limits
Metered routes return 429 with plan details when daily caps are exceeded. Limits vary by plan (Free / Plus / Pro); owner accounts are unlimited.
scrobble— per token ownersmart-list— preview, refresh, cronsearch— discover / BFF search
Other read endpoints (health, public lists, episode guides) are cached and not user-metered.
Need the Stremio addon locally? See apps/stremio-addon/README.md in the repo.