Request media on Overseerr

# Overseerr Request Media Skill ## Purpose Request a movie or TV show using the user's Overseerr instance. Overseerr forwards the request to Sonarr/Radarr. ## Requirements Environment variables: - OVERSEERR_URL (example: https://overseerr.yourdomain.com) - OVERSEERR_API_KEY Authentication header: - X-Api-Key: $OVERSEERR_API_KEY Overseerr can detect if media is already available or already requested based on your configured Plex + Sonarr/Radarr connections. ## What this skill handles User examples: - "Request Interstellar" - "Add Interstellar to overseerr" - "Request Reacher season 2" - "Request The Office seasons 2-4" ## Workflow (ALWAYS FOLLOW) ### 1) Parse the user's request Extract: - Title - Optional type hint: movie or tv - Optional season request: - "season 2" - "seasons 1-3" - "season 1 and 4" ### 2) Search Overseerr GET: $OVERSEERR_URL/api/v1/search?query=<urlencoded title> Example: curl -s -H "X-Api-Key: $OVERSEERR_API_KEY" \ "$OVERSEERR_URL/api/v1/search?query=interstellar" ### 3) Clarify if the result is ambiguous (movie vs show with same name) If the search results include BOTH: - a movie match AND - a tv match with the same (or extremely similar) title, THEN ask the user to choose before requesting. Show 2-4 options max, like: - Movie: Title (Year) - TV: Title (Year) If the user provided an obvious hint like "movie", "show", "tv", "season 2", then pick the matching type automatically. ### 4) Pick the best match Rules: - Prefer exact title match - Prefer the highest popularity match when multiple results exist - Respect the user's type hint if provided (movie vs tv) ### 5) Check if it already exists (available or already requested) Before creating a request: - Inspect the selected result for availability/request status info returned by Overseerr (library/availability/request indicators). - If it indicates the media is already available in the library: - Do NOT request it - Reply: "Already available ✅" - If it indicates the media is already requested (pending/processing/approved/requested): - Do NOT request it again - Reply: "Already requested ✅" If the API response does NOT clearly indicate status: - Proceed with creating the request - If the POST fails due to duplicate/existing request, reply "Already requested ✅" ### 6) Create the request POST: $OVERSEERR_URL/api/v1/request Movie JSON: { "mediaType": "movie", "mediaId": <tmdbId> } TV JSON (full series): { "mediaType": "tv", "mediaId": <tmdbId> } TV JSON (specific seasons): { "mediaType": "tv", "mediaId": <tmdbId>, "seasons": [2,3] } Examples: Movie: curl -s -X POST \ -H "X-Api-Key: $OVERSEERR_API_KEY" \ -H "Content-Type: application/json" \ "$OVERSEERR_URL/api/v1/request" \ -d '{"mediaType":"movie","mediaId":157336}' TV (full): curl -s -X POST \ -H "X-Api-Key: $OVERSEERR_API_KEY" \ -H "Content-Type: application/json" \ "$OVERSEERR_URL/api/v1/request" \ -d '{"mediaType":"tv","mediaId":71912}' TV (season 2): curl -s -X POST \ -H "X-Api-Key: $OVERSEERR_API_KEY" \ -H "Content-Type: application/json" \ "$OVERSEERR_URL/api/v1/request" \ "$OVERSEERR_URL/api/v1/request" \ -d '{"mediaType":"tv","mediaId":71912,"seasons":[2]}' ### 7) Respond cleanly - Confirm what was requested - If TV request was partial, list seasons - If already requested/available, say so - If no results, ask for alternate spelling or more context ## Output style Short confirmations: - "✅ Requested: Interstellar (2014)" - "✅ Requested: Reacher (Season 2)" - "Already requested ✅" - "Already available ✅" ## Error handling - If search returns 0 results: - Ask for alternate title or year - If multiple equally good matches remain: - Ask the user to pick from 2-4 options

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 "Request media on Overseerr" with this command: npx skills add trialskid/overseerr-request-media

Overseerr Request Media Skill

Purpose

Request a movie or TV show using the user's Overseerr instance. Overseerr forwards the request to Sonarr/Radarr.

Requirements

Environment variables:

Authentication header:

  • X-Api-Key: $OVERSEERR_API_KEY

Overseerr can detect if media is already available or already requested based on your configured Plex + Sonarr/Radarr connections.

What this skill handles

User examples:

  • "Request Interstellar"
  • "Add Interstellar to overseerr"
  • "Request Reacher season 2"
  • "Request The Office seasons 2-4"

Workflow (ALWAYS FOLLOW)

1) Parse the user's request

Extract:

  • Title
  • Optional type hint: movie or tv
  • Optional season request:
    • "season 2"
    • "seasons 1-3"
    • "season 1 and 4"

2) Search Overseerr

GET: $OVERSEERR_URL/api/v1/search?query=<urlencoded title>

Example: curl -s -H "X-Api-Key: $OVERSEERR_API_KEY"
"$OVERSEERR_URL/api/v1/search?query=interstellar"

3) Clarify if the result is ambiguous (movie vs show with same name)

If the search results include BOTH:

  • a movie match AND
  • a tv match with the same (or extremely similar) title,

THEN ask the user to choose before requesting.

Show 2-4 options max, like:

  • Movie: Title (Year)
  • TV: Title (Year)

If the user provided an obvious hint like "movie", "show", "tv", "season 2", then pick the matching type automatically.

4) Pick the best match

Rules:

  • Prefer exact title match
  • Prefer the highest popularity match when multiple results exist
  • Respect the user's type hint if provided (movie vs tv)

5) Check if it already exists (available or already requested)

Before creating a request:

  • Inspect the selected result for availability/request status info returned by Overseerr (library/availability/request indicators).
  • If it indicates the media is already available in the library:
    • Do NOT request it
    • Reply: "Already available ✅"
  • If it indicates the media is already requested (pending/processing/approved/requested):
    • Do NOT request it again
    • Reply: "Already requested ✅"

If the API response does NOT clearly indicate status:

  • Proceed with creating the request
  • If the POST fails due to duplicate/existing request, reply "Already requested ✅"

6) Create the request

POST: $OVERSEERR_URL/api/v1/request

Movie JSON: { "mediaType": "movie", "mediaId": <tmdbId> }

TV JSON (full series): { "mediaType": "tv", "mediaId": <tmdbId> }

TV JSON (specific seasons): { "mediaType": "tv", "mediaId": <tmdbId>, "seasons": [2,3] }

Examples:

Movie: curl -s -X POST
-H "X-Api-Key: $OVERSEERR_API_KEY"
-H "Content-Type: application/json"
"$OVERSEERR_URL/api/v1/request"
-d '{"mediaType":"movie","mediaId":157336}'

TV (full): curl -s -X POST
-H "X-Api-Key: $OVERSEERR_API_KEY"
-H "Content-Type: application/json"
"$OVERSEERR_URL/api/v1/request"
-d '{"mediaType":"tv","mediaId":71912}'

TV (season 2): curl -s -X POST
-H "X-Api-Key: $OVERSEERR_API_KEY"
-H "Content-Type: application/json"
"$OVERSEERR_URL/api/v1/request"
"$OVERSEERR_URL/api/v1/request"
-d '{"mediaType":"tv","mediaId":71912,"seasons":[2]}'

7) Respond cleanly

  • Confirm what was requested
  • If TV request was partial, list seasons
  • If already requested/available, say so
  • If no results, ask for alternate spelling or more context

Output style

Short confirmations:

  • "✅ Requested: Interstellar (2014)"
  • "✅ Requested: Reacher (Season 2)"
  • "Already requested ✅"
  • "Already available ✅"

Error handling

  • If search returns 0 results:
    • Ask for alternate title or year
  • If multiple equally good matches remain:
    • Ask the user to pick from 2-4 options

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

Mult Call

多路召回skill ,用于将意图识别skill中的指标和维度信息进行分析,通过向量知识库召回QA问答对,通过图数据库召回表的定义结构。

Registry SourceRecently Updated
General

Grok Api Search

使用 Grok API 进行网络搜索。默认使用中转端点节省成本。

Registry SourceRecently Updated
General

Qq Music

Provides summary data for public QQ Music playlists, songs, and artists including plays, favorites, and ranking trends without download or bulk scraping.

Registry SourceRecently Updated
General

Rewrite Question

补全上下文并重写用户提问

Registry SourceRecently Updated