Trakt logo

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

APIs

Trakt API v2

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 r...

Features

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.

Use Cases

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.

Integrations

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.

Solutions

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.

Semantic Vocabularies

Trakt Context

35 classes · 1 properties

JSON-LD

API Governance Rules

Trakt API Rules

8 rules · 1 errors 7 warnings

SPECTRAL

Resources

🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
Documentation
Documentation
📝
SignUp
SignUp
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
💬
FAQ
FAQ
📰
Blog
Blog
🟢
StatusPage
StatusPage
📄
ChangeLog
ChangeLog
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
SpectralRules
SpectralRules
🔗
JSON-LD
JSON-LD
🔗
Vocabulary
Vocabulary
🔗
Resources
Resources
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools

Sources

Raw ↑
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