Trakt
Trakt is the personal media database for movies and TV. Its API v2 (api.trakt.tv) exposes ~150 endpoints across movies, shows, seasons, episodes, people, search, lists, calendars, recommendations, comments, notes, scrobble, checkin, and full per-user sync (history, watchlist, ratings, collection, favorites, playback progress). Authentication is OAuth 2.0 via Authorization Code or Device flows. The platform powers the Trakt website, official Android/iOS apps, and a large third-party ecosystem of media-center plugins and trackers.
1 APIs
11 Features
VideoMoviesTelevisionMedia TrackingScrobbleRecommendationsSocialOAuth2Public APIs
Comprehensive media catalog
Movies, shows, seasons, episodes, people, studios, networks, certifications — all keyed by trakt/imdb/tmdb/tvdb ids.
Per-user sync
history, watchlist, collection, favorites, ratings, and playback progress with /sync/last_activities delta detection.
Scrobble lifecycle
Start/pause/stop API with 80% completion semantics, dedupe, and resume-from-pause via /sync/playback.
Personalized recommendations
/recommendations/movies and /recommendations/shows return tailored suggestions per-user with hide/dismiss support.
Calendars
Public (all) and personal (my) calendars for shows, new shows, season premieres, finales, and movie releases.
Discovery surfaces
trending, popular, anticipated, hot, box office, streaming for both movies and shows.
Social graph
Follow/unfollow, friends, social activity feeds, comments, replies, likes, reactions, sentiments.
Lists
Trending and popular lists plus full CRUD for personal lists with sorting and item-level notes.
Notes (VIP)
Attach private notes to movies, shows, seasons, episodes, people, or history items.
Checkin
Lightweight social "now watching" status that auto-expires after the runtime.
OAuth 2.0
Authorization Code flow for web/server apps and Device Code flow for TV/console/CLI apps.
Media center scrobbling
Plex, Kodi, Jellyfin, and custom media centers report playback to /scrobble so a user's watch history stays accurate across devices.
Personal media tracker
Mobile and web apps showing what a user has watched, what's next, and what's anticipated.
Recommendation engines
Apps that combine Trakt history with their own ranking to suggest the next thing to watch.
Watchlist management
Cross-device watchlist with VIP-only note attachments per item.
Calendar integrations
Subscribe to per-user calendars and surface upcoming episodes in third-party calendars or notifications.
Social discovery
Browse trending lists, follow other users, and comment on shows.
AI agents / MCP
Multiple community MCP servers expose Trakt to LLM agents for "what should I watch next" workflows.
TMDB
Trakt cross-references TMDB IDs and recommends TMDB as the upstream metadata source for media reports.
IMDB
All movies and many shows include their IMDB ID for downstream lookup.
TVDB
Shows and episodes include TVDB IDs for legacy media-center compatibility.
JustWatch
/movies/{id}/watchnow/justwatch_links/{country} returns deep links into JustWatch for streaming availability.
Plex
Official Plex-Trakt-Scrobbler bridges Plex playback events to /scrobble.
Twitter / Mastodon / Tumblr
Scrobble + checkin requests accept a sharing object that crossposts the activity.
Discord
Official trakt/discord-presence project surfaces Trakt activity as Discord rich presence.
Free
Personal use with the 2026 limits — 250 watchlist items, 5 personal lists, 100k history items, 10k ratings, 100 notes.
Trakt VIP
$30 first year, $60 renewal — 5000 watchlist items, 100 personal lists, watchlist notes, year-in-review reports, no ads.
Trakt VIP EP
$1500 lifetime support tier.
Commercial use
Approval-required for apps that monetize Trakt data or generate significant traffic — contact support via the Trakt forums.
aid: trakt
name: Trakt
description: >-
Trakt is the personal media database for movies and TV. Its API v2 (api.trakt.tv) exposes ~150 endpoints across
movies, shows, seasons, episodes, people, search, lists, calendars, recommendations, comments, notes, scrobble,
checkin, and full per-user sync (history, watchlist, ratings, collection, favorites, playback progress).
Authentication is OAuth 2.0 via Authorization Code or Device flows. The platform powers the Trakt website, official
Android/iOS apps, and a large third-party ecosystem of media-center plugins and trackers.
url: https://trakt.tv
humanURL: https://trakt.docs.apiary.io/
baseURL: https://api.trakt.tv
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-30'
x-source: public-apis/public-apis
x-category: Video
x-type: company
x-tier: 2
x-tier-reason: full-pipeline-enrichment
tags:
- Video
- Movies
- Television
- Media Tracking
- Scrobble
- Recommendations
- Social
- OAuth2
- Public APIs
apis:
- name: Trakt API v2
description: >-
RESTful JSON API for the full Trakt platform. Supports OAuth 2.0 Authorization Code and Device flows, Title-Case
operation summaries, and standard pagination (page/limit). All requests require headers trakt-api-version=2 and
trakt-api-key={client_id}.
humanURL: https://trakt.docs.apiary.io/
baseURL: https://api.trakt.tv
tags:
- Video
- Movies
- Television
- Sync
- Scrobble
properties:
- type: Documentation
url: https://trakt.docs.apiary.io/
- type: OpenAPI
url: openapi/trakt-openapi.yml
- type: JSONSchema
url: json-schema/trakt-movie-schema.json
- type: JSONSchema
url: json-schema/trakt-show-schema.json
- type: JSONSchema
url: json-schema/trakt-episode-schema.json
- type: JSONSchema
url: json-schema/trakt-user-schema.json
- type: JSONSchema
url: json-schema/trakt-scrobble-schema.json
- type: JSONStructure
url: json-structure/trakt-movie-structure.json
- type: JSONStructure
url: json-structure/trakt-show-structure.json
- type: JSONStructure
url: json-structure/trakt-history-structure.json
- type: Example
url: examples/trakt-getTrendingMovies-example.json
- type: Example
url: examples/trakt-getMovie-example.json
- type: Example
url: examples/trakt-generateDeviceCode-example.json
- type: Example
url: examples/trakt-pollDeviceToken-example.json
- type: Example
url: examples/trakt-scrobbleStart-example.json
- type: Example
url: examples/trakt-addToHistory-example.json
- type: Example
url: examples/trakt-searchText-example.json
- type: Example
url: examples/trakt-getShowWatchedProgress-example.json
- type: Authentication
url: https://trakt.docs.apiary.io/#reference/authentication-oauth
- type: APIReference
url: https://trakt.docs.apiary.io/
common:
- type: Website
url: https://trakt.tv
- type: DeveloperPortal
url: https://trakt.tv/oauth/applications
- type: Documentation
url: https://trakt.docs.apiary.io/
- type: SignUp
url: https://trakt.tv/auth/join
- type: Pricing
url: https://trakt.tv/vip
- type: Plans
url: plans/trakt-plans-pricing.yml
- type: RateLimits
url: rate-limits/trakt-rate-limits.yml
- type: TermsOfService
url: https://trakt.tv/terms
- type: PrivacyPolicy
url: https://trakt.tv/privacy
- type: Support
url: https://forums.trakt.tv
- type: FAQ
url: https://forums.trakt.tv/c/questions-help/8
- type: Blog
url: https://blog.trakt.tv
- type: StatusPage
url: https://status.trakt.tv
- type: ChangeLog
url: https://forums.trakt.tv/c/announcements/3
- type: GitHubOrganization
url: https://github.com/trakt
- type: GitHubRepository
url: https://github.com/trakt/trakt-api
- type: SpectralRules
url: rules/trakt-rules.yml
- type: JSON-LD
url: json-ld/trakt-context.jsonld
- type: Vocabulary
url: vocabulary/trakt-vocabulary.yml
- type: Resources
url: finops/trakt-finops.yml
- type: SDK
name: trakt-api (TypeScript / Deno)
url: https://github.com/trakt/trakt-api
- type: SDK
name: PyTrakt (Python)
url: https://github.com/moogar0880/PyTrakt
- type: SDK
name: nodeless-trakt (JavaScript)
url: https://github.com/trakt/nodeless-trakt
- type: SDK
name: oauth2-trakt (PHP)
url: https://github.com/Bogstag/oauth2-trakt
- type: SDK
name: Auth.js Trakt provider
url: https://authjs.dev/reference/core/providers/trakt
- type: Tools
name: trakt-android (Official Android client)
url: https://github.com/trakt/trakt-android
- type: Tools
name: trakt-apple (Official iOS / tvOS client)
url: https://github.com/trakt/trakt-apple
- type: Tools
name: trakt-rippple (Open source iOS/iPadOS/macOS client)
url: https://github.com/trakt/trakt-rippple
- type: Tools
name: Plex-Trakt-Scrobbler
url: https://github.com/trakt/Plex-Trakt-Scrobbler
- type: Tools
name: Showly (Kotlin movie/TV manager)
url: https://github.com/trakt/showly
- type: Tools
name: trakt-web
url: https://github.com/trakt/trakt-web
- type: Tools
name: discord-presence (Rich presence for Trakt)
url: https://github.com/trakt/discord-presence
- type: Tools
name: kud/mcp-trakt — community MCP server (36 tools)
url: https://github.com/kud/mcp-trakt
- type: Tools
name: kofort9/trakt-mcp-go — community MCP server (Go)
url: https://github.com/kofort9/trakt-mcp-go
- type: Tools
name: fab-codes/trakt-mcp-server — community MCP server
url: https://github.com/fab-codes/trakt-mcp-server
- type: Tools
name: phhusson/trakt-mcp-server — community MCP server
url: https://github.com/phhusson/trakt-mcp-server
- type: Tools
name: popcornemil/trakt-mcp — community MCP server
url: https://github.com/popcornemil/trakt-mcp
- type: Tools
name: pipeworx-io/mcp-trakt — community MCP server
url: https://github.com/pipeworx-io/mcp-trakt
- type: Features
data:
- name: Comprehensive media catalog
description: >-
Movies, shows, seasons, episodes, people, studios, networks, certifications — all keyed by
trakt/imdb/tmdb/tvdb ids.
- name: Per-user sync
description: >-
history, watchlist, collection, favorites, ratings, and playback progress with /sync/last_activities delta
detection.
- name: Scrobble lifecycle
description: Start/pause/stop API with 80% completion semantics, dedupe, and resume-from-pause via /sync/playback.
- name: Personalized recommendations
description: >-
/recommendations/movies and /recommendations/shows return tailored suggestions per-user with hide/dismiss
support.
- name: Calendars
description: Public (all) and personal (my) calendars for shows, new shows, season premieres, finales, and movie releases.
- name: Discovery surfaces
description: trending, popular, anticipated, hot, box office, streaming for both movies and shows.
- name: Social graph
description: Follow/unfollow, friends, social activity feeds, comments, replies, likes, reactions, sentiments.
- name: Lists
description: Trending and popular lists plus full CRUD for personal lists with sorting and item-level notes.
- name: Notes (VIP)
description: Attach private notes to movies, shows, seasons, episodes, people, or history items.
- name: Checkin
description: Lightweight social "now watching" status that auto-expires after the runtime.
- name: OAuth 2.0
description: Authorization Code flow for web/server apps and Device Code flow for TV/console/CLI apps.
- type: UseCases
data:
- name: Media center scrobbling
description: >-
Plex, Kodi, Jellyfin, and custom media centers report playback to /scrobble so a user's watch history stays
accurate across devices.
- name: Personal media tracker
description: Mobile and web apps showing what a user has watched, what's next, and what's anticipated.
- name: Recommendation engines
description: Apps that combine Trakt history with their own ranking to suggest the next thing to watch.
- name: Watchlist management
description: Cross-device watchlist with VIP-only note attachments per item.
- name: Calendar integrations
description: Subscribe to per-user calendars and surface upcoming episodes in third-party calendars or notifications.
- name: Social discovery
description: Browse trending lists, follow other users, and comment on shows.
- name: AI agents / MCP
description: Multiple community MCP servers expose Trakt to LLM agents for "what should I watch next" workflows.
- type: Integrations
data:
- name: TMDB
description: Trakt cross-references TMDB IDs and recommends TMDB as the upstream metadata source for media reports.
- name: IMDB
description: All movies and many shows include their IMDB ID for downstream lookup.
- name: TVDB
description: Shows and episodes include TVDB IDs for legacy media-center compatibility.
- name: JustWatch
description: /movies/{id}/watchnow/justwatch_links/{country} returns deep links into JustWatch for streaming availability.
- name: Plex
description: Official Plex-Trakt-Scrobbler bridges Plex playback events to /scrobble.
- name: Twitter / Mastodon / Tumblr
description: Scrobble + checkin requests accept a sharing object that crossposts the activity.
- name: Discord
description: Official trakt/discord-presence project surfaces Trakt activity as Discord rich presence.
- type: Solutions
data:
- name: Free
description: >-
Personal use with the 2026 limits — 250 watchlist items, 5 personal lists, 100k history items, 10k ratings,
100 notes.
- name: Trakt VIP
description: >-
$30 first year, $60 renewal — 5000 watchlist items, 100 personal lists, watchlist notes, year-in-review
reports, no ads.
- name: Trakt VIP EP
description: $1500 lifetime support tier.
- name: Commercial use
description: >-
Approval-required for apps that monetize Trakt data or generate significant traffic — contact support via the
Trakt forums.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com