seerr

Search for movies and TV shows via a Seerr instance and request them for download. Use when the user asks to download, find, request, or queue a movie or TV show. Requires a running Seerr instance with Sonarr/Radarr configured.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "seerr" with this command: npx skills add ximga/seerr

Seerr Media Requests

Search and request movies/TV shows through Seerr's API. Seerr routes movie requests to Radarr and TV requests to Sonarr automatically.

Setup

The agent needs two environment variables. Store them in your OpenClaw environment or .env file:

  • SEERR_URL — Base URL of the Seerr instance (e.g. http://localhost:5055 if running locally, or http://<server-ip>:5055 for remote)
  • SEERR_API_KEY — API key from Seerr → Settings → General

Important: Always use $SEERR_URL (not hardcoded localhost) in API calls so it works regardless of where Seerr is hosted.

API Reference

All requests require the header X-Api-Key: <SEERR_API_KEY>.

Search

curl -s -H "X-Api-Key: $SEERR_API_KEY" \
  "$SEERR_URL/api/v1/search?query=PERCENT_ENCODED_QUERY&page=1&language=en"

Results array. Key fields per result:

  • mediaTypemovie, tv, or person
  • id — TMDB id (used for requests)
  • title (movies) / name (TV)
  • releaseDate / firstAirDate
  • overview
  • mediaInfo.status1 (unknown), 2 (pending), 3 (processing), 4 (partially available), 5 (available). Absent if never requested.

Filter results to mediaType of movie or tv only.

Request a Movie

curl -s -X POST -H "X-Api-Key: $SEERR_API_KEY" -H "Content-Type: application/json" \
  "$SEERR_URL/api/v1/request" \
  -d '{"mediaType":"movie","mediaId":TMDB_ID}'

Request a TV Show

All seasons:

curl -s -X POST -H "X-Api-Key: $SEERR_API_KEY" -H "Content-Type: application/json" \
  "$SEERR_URL/api/v1/request" \
  -d '{"mediaType":"tv","mediaId":TMDB_ID,"seasons":"all"}'

Specific seasons:

curl -s -X POST -H "X-Api-Key: $SEERR_API_KEY" -H "Content-Type: application/json" \
  "$SEERR_URL/api/v1/request" \
  -d '{"mediaType":"tv","mediaId":TMDB_ID,"seasons":[1,3]}'

Check Status

# Movie
curl -s -H "X-Api-Key: $SEERR_API_KEY" "$SEERR_URL/api/v1/movie/TMDB_ID"

# TV
curl -s -H "X-Api-Key: $SEERR_API_KEY" "$SEERR_URL/api/v1/tv/TMDB_ID"

Workflow

  1. Search for the title
  2. Filter to movie/tv results
  3. For each result, send a separate Discord message with:
    • Poster image via media field
    • Title, year, rating, genres
    • Brief overview
    • Status emoji + text
    • Seerr link
  4. Check availability and auto-request if not available:
    • If mediaInfo.status = 5 (available), just show status
    • Otherwise, request via API and confirm
  5. Send each result as its own message (don't combine into one message)

Discord Integration

When responding in Discord, send plain text messages with inline links and optional poster images. Do not use interactive components — OpenClaw doesn't support them yet.

Discord Message Format

Send each result as its own separate message. Use the media field to embed the poster.

{
  "action": "send",
  "channel": "discord",
  "to": "channel:<CHANNEL_ID>",
  "message": "<emoji> **<title>** (<year>) — ⭐ <rating>\n<genre1>, <genre2>\n\n<overview (truncated to 1-2 sentences)>\n\n<status emoji> <status text>\n\n🔗 [View in Seerr]($SEERR_URL/<mediaType>/<tmdbId>)",
  "media": "https://image.tmdb.org/t/p/w500/<posterPath>"
}

Key Points

  • Send each search result as a separate message (one message per result)
  • Use media field for the poster image (TMDB URL format: https://image.tmdb.org/t/p/w500/<posterPath>)
  • Include status emoji: ✅ available, ⏳ pending, 🔄 processing/partially available
  • Auto-request if not available, then update the message or send follow-up confirmation

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

yuqing-bitable-and-label

Incrementally sync data from XiaoAi API to Feishu Bitable and optionally auto-label records with machine-based type and sentiment annotations.

Registry SourceRecently Updated
General

张律师综合套装

张律师法律AI中台 - 中国首个开源法律AI技能库,涵盖刑事辩护、民商事诉讼、合同审查全流程

Registry SourceRecently Updated
General

刑事辩护

刑事辩护全流程AI助手 - 6大阶段21个模板,从接案到执行全覆盖

Registry SourceRecently Updated