Trakt logo Trakt automation

Log watched Trakt episodes in bulk

You watched a weekend of episodes on a TV that does not sync to Trakt, and now every one of them has to be marked watched with the right date.

Cotlet does it in your own Trakt account with search_titles, get_history and add_to_history, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can Trakt do this on its own?

The Trakt REST API adds watched items with a watched_at date, and Trakt documents that it does not check item and watched_at for duplicates, so the client has to (checked 17 Oct 2026). Scrobble and Checkin are for live playback from apps. Neither has an official MCP server for agents.

How you do it in Trakt today

  1. Open the show on Trakt and go to the season.
  2. Mark each episode as watched, setting the date of the watch when it was not today.
  3. Open your history afterwards to check that every episode appears once.

How to log watched Trakt episodes in bulk

Prompt

Mark Slow Horses season 4, episodes 1 to 3 as watched on 2026-10-10. Check my history first so nothing is logged twice.
  1. 01

    Find the episodes

    search_titles resolves the show by title and year, then the season and episode numbers in your prompt are attached to it.

  2. 02

    Look for earlier plays

    get_history for the show shows what is already logged, so an episode with a play on the same date is skipped and a rewatch on another date stays.

  3. 03

    Log with the real date

    add_to_history sends the remaining episodes with the watched_at you gave. If you gave no date, the agent asks once before using today.

  4. 04

    Report and offer the undo

    The agent lists what it logged and what it skipped. A wrong batch is undone with remove_from_history.

What you get back

Example data

Episodes requested: 3 (Slow Horses S4E1 to E3)
Logged 3, watched on 2026-10-10
Skipped as duplicates: 0
Not found: 0

Other ways to ask

  • Mark every episode of season 2 as watched, spread over the last two weeks.
  • I rewatched this movie yesterday, add a second play.
  • List what I logged in the last 7 days so I can check it.

What Trakt allows, and what to know first

  • Trakt documents that adding a show with no seasons adds every episode of that show to history, so name the season and episodes when you mean a few.
  • A watched_at date in the past is accepted, which is how Trakt expects past watches from media centers to be logged.
  • Trakt does not verify that an item and watched_at pair is unique; sending the same play twice creates two plays.
  • Checkin is a separate manual action for what you are watching right now; the item switches to watched when its duration has elapsed.

add_to_history changes only your own Trakt data and reach no one else, so it runs without asking first.

Sources: Trakt API: Introduction (history, scrobble, checkin) · Trakt API: About Checkin · Trakt API: About Scrobble

Call add_to_history from a script

curl

curl -X POST https://cotlet.dev/api/v1/trakt/histories \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"type":"episode","title":"Slow Horses","year":2022,"season":4,"episode":1,"watched_at":"2026-10-10T20:00:00Z"},{"type":"episode","title":"Slow Horses","year":2022,"season":4,"episode":2,"watched_at":"2026-10-10T20:50:00Z"},{"type":"episode","title":"Slow Horses","year":2022,"season":4,"episode":3,"watched_at":"2026-10-10T21:40:00Z"}]}'

Example response

{
  "added": {
    "movies": 0,
    "episodes": 3
  },
  "skipped_duplicates": 0,
  "not_found": []
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is trakt_write → add_to_history. Example data.

Schedule it in n8n, Make, Zapier or cron

Trakt tools this automation uses

Cotlet Trakt tools used to log watched Trakt episodes in bulk
Tool Parameters
search_titles query, type, year
get_history type, start_at, end_at, page, limit
add_to_history items
All 15 Trakt tools with descriptions

Frequently asked questions

Is it safe to connect Trakt to Cotlet?

Yes. You sign in to Trakt yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Trakt once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to Trakt.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Trakt.