Seerr (Overseerr + Jellyseerr) API

Seerr (Overseerr + Jellyseerr) API as documented publicly: 39 operations. Contract generated from the documentation by API Evangelist (2026-10-28); not the provider's own document.

Operations 39

GET /auth/me Returns the currently logged-in user. #
GET /discover/movies Discover movies #
GET /discover/movies/upcoming Upcoming movies #
GET /discover/tv Discover TV shows #
GET /issue Get all issues #
POST /issue Creates a new issue #
DELETE /issue/{issueid} Removes an issue. #
GET /issue/{issueid} Get issue #
POST /issue/{issueid}/comment Creates a comment and returns associated issue in JSON format. #
GET /issueComment/{commentid} Get issue comment #
GET /keyword/{keywordid} Get keyword #
GET /media Get media #
DELETE /media/{mediaid} Delete media item #
DELETE /media/{mediaid}/file Delete media file #
GET /movie/{movieid} Get movie details #
GET /movie/{movieid}/ratings Get movie ratings #
GET /overrideRule Get override rules #
GET /person/{personid} Get person details #
GET /request Get all requests #
POST /request Create new request #
DELETE /request/{requestid} Delete request #
GET /request/{requestid} Get MediaRequest #
GET /settings/about Returns current server stats in a JSON object. #
POST /settings/discover/add Add a new slider #
GET /settings/jellyfin/users Returns a list of Jellyfin Users in a JSON array. #
GET /settings/jobs Returns list of all scheduled jobs and details about their next execution time in a JSON array. #
GET /settings/logs Returns list of all log items and details #
GET /settings/main Retrieves all main settings in a JSON object. #
GET /settings/plex Retrieves current Plex settings. #
GET /settings/plex/library Get Plex libraries #
GET /settings/plex/users Get Plex users #
GET /status Get Seerr status #
GET /tv/{tvid} Get TV details #
GET /tv/{tvid}/ratings Get TV ratings #
GET /user Get all users #
POST /user Creates a new user. Requires the MANAGE_USERS permission. #
DELETE /user/{userid} Deletes the user with the provided userId. #
GET /user/{userid} Retrieves user details in a JSON object. Requires the MANAGE_USERS permission. #
GET /user/{userid}/watch_data Get watch data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/seerr:seerr-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

seerr-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Seerr (Overseerr + Jellyseerr) API
  version: '2026-10-28'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-28: 39 operation(s) read from 40 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Seerr (Overseerr + Jellyseerr) has published no machine-readable
    contract that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 0
    documentation: 39
    pages-with-code: 0
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-28'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.seerr.dev/api/get-issue
  - https://docs.seerr.dev/api/get-media
  - https://docs.seerr.dev/api/get-keyword
  - https://docs.seerr.dev/api/delete-issue
  - https://docs.seerr.dev/api/returns-logs
  - https://docs.seerr.dev/api/get-all-users
  - https://docs.seerr.dev/api/delete-request
  - https://docs.seerr.dev/api/get-all-issues
  - https://docs.seerr.dev/api/get-plex-users
  - https://docs.seerr.dev/api/get-tv-details
  - https://docs.seerr.dev/api/get-tv-ratings
  - https://docs.seerr.dev/api/get-user-by-id
  - https://docs.seerr.dev/api/get-watch-data
  - https://docs.seerr.dev/api/create-new-user
  - https://docs.seerr.dev/api/discover-movies
  - https://docs.seerr.dev/api/upcoming-movies
  - https://docs.seerr.dev/api/add-a-new-slider
  - https://docs.seerr.dev/api/create-a-comment
  - https://docs.seerr.dev/api/create-new-issue
  - https://docs.seerr.dev/api/get-all-requests
  - https://docs.seerr.dev/api/get-seerr-status
  - https://docs.seerr.dev/api/get-server-stats
  - https://docs.seerr.dev/api/delete-media-file
  - https://docs.seerr.dev/api/delete-media-item
  - https://docs.seerr.dev/api/delete-user-by-id
  - https://docs.seerr.dev/api/discover-tv-shows
  - https://docs.seerr.dev/api/get-issue-comment
  - https://docs.seerr.dev/api/get-main-settings
  - https://docs.seerr.dev/api/get-media-request
  - https://docs.seerr.dev/api/get-movie-details
  - https://docs.seerr.dev/api/get-movie-ratings
  - https://docs.seerr.dev/api/get-plex-settings
  - https://docs.seerr.dev/api/gets-issue-counts
  - https://docs.seerr.dev/api/create-new-request
  - https://docs.seerr.dev/api/get-jellyfin-users
  - https://docs.seerr.dev/api/get-logged-in-user
  - https://docs.seerr.dev/api/get-override-rules
  - https://docs.seerr.dev/api/get-person-details
  - https://docs.seerr.dev/api/get-plex-libraries
  - https://docs.seerr.dev/api/get-scheduled-jobs
paths:
  /auth/me:
    get:
      operationId: get_auth_me
      tags:
      - Auth
      summary: Returns the currently logged-in user.
      x-source: https://docs.seerr.dev/api/get-logged-in-user
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAuthMeResponse'
      x-evidence:
        kind: documentation
  /discover/movies:
    get:
      operationId: get_discover_movies
      tags:
      - Discover
      summary: Discover movies
      x-source: https://docs.seerr.dev/api/discover-movies
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDiscoverMoviesResponse'
      x-evidence:
        kind: documentation
  /discover/movies/upcoming:
    get:
      operationId: get_discover_movies_upcoming
      tags:
      - Discover
      summary: Upcoming movies
      description: Returns a list of movies in a JSON object.
      x-source: https://docs.seerr.dev/api/upcoming-movies
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /discover/tv:
    get:
      operationId: get_discover_tv
      tags:
      - Discover
      summary: Discover TV shows
      description: Returns a list of TV shows in a JSON object.
      x-source: https://docs.seerr.dev/api/discover-tv-shows
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /issue:
    get:
      operationId: get_issue
      tags:
      - Issue
      summary: Get all issues
      description: Returns a list of issues in JSON format.
      x-source: https://docs.seerr.dev/api/get-all-issues
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_issue
      tags:
      - Issue
      summary: Creates a new issue
      x-source: https://docs.seerr.dev/api/create-new-issue
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /issue/{issueid}:
    delete:
      operationId: delete_issue_issueid
      tags:
      - Issue
      summary: Removes an issue.
      x-source: https://docs.seerr.dev/api/delete-issue
      parameters:
      - name: issueid
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_issue_issueid
      tags:
      - Issue
      summary: Get issue
      description: Returns a single issue in JSON format.
      x-source: https://docs.seerr.dev/api/get-issue
      parameters:
      - name: issueid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /issue/{issueid}/comment:
    post:
      operationId: post_issue_issueid_comment
      tags:
      - Issue
      summary: Creates a comment and returns associated issue in JSON format.
      x-source: https://docs.seerr.dev/api/create-a-comment
      parameters:
      - name: issueid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /issueComment/{commentid}:
    get:
      operationId: get_issueComment_commentid
      tags:
      - Issuecomment
      summary: Get issue comment
      description: Returns a single issue comment in JSON format.
      x-source: https://docs.seerr.dev/api/get-issue-comment
      parameters:
      - name: commentid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /keyword/{keywordid}:
    get:
      operationId: get_keyword_keywordid
      tags:
      - Keyword
      summary: Get keyword
      description: Returns a single keyword in JSON format.
      x-source: https://docs.seerr.dev/api/get-keyword
      parameters:
      - name: keywordid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /media:
    get:
      operationId: get_media
      tags:
      - Media
      summary: Get media
      description: Returns all media (can be filtered and limited) in a JSON object.
      x-source: https://docs.seerr.dev/api/get-media
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /media/{mediaid}:
    delete:
      operationId: delete_media_mediaid
      tags:
      - Media
      summary: Delete media item
      description: Removes a media item. The MANAGE_REQUESTS permission is required to perform this action.
      x-source: https://docs.seerr.dev/api/delete-media-item
      parameters:
      - name: mediaid
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /media/{mediaid}/file:
    delete:
      operationId: delete_media_mediaid_file
      tags:
      - Media
      summary: Delete media file
      description: Removes a media file from radarr/sonarr. The ADMIN permission is required to perform this action.
      x-source: https://docs.seerr.dev/api/delete-media-file
      parameters:
      - name: mediaid
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /movie/{movieid}:
    get:
      operationId: get_movie_movieid
      tags:
      - Movie
      summary: Get movie details
      x-source: https://docs.seerr.dev/api/get-movie-details
      parameters:
      - name: movieid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMovieMovieidResponse'
      x-evidence:
        kind: documentation
  /movie/{movieid}/ratings:
    get:
      operationId: get_movie_movieid_ratings
      tags:
      - Movie
      summary: Get movie ratings
      description: Returns ratings based on the provided movieId in a JSON object.
      x-source: https://docs.seerr.dev/api/get-movie-ratings
      parameters:
      - name: movieid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /overrideRule:
    get:
      operationId: get_overrideRule
      tags:
      - Overriderule
      summary: Get override rules
      description: Returns a list of all override rules with their conditions and settings
      x-source: https://docs.seerr.dev/api/get-override-rules
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /person/{personid}:
    get:
      operationId: get_person_personid
      tags:
      - Person
      summary: Get person details
      description: Returns person details based on provided personId in a JSON object.
      x-source: https://docs.seerr.dev/api/get-person-details
      parameters:
      - name: personid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /request:
    get:
      operationId: get_request
      tags:
      - Request
      summary: Get all requests
      description: Returns all requests if the user has the ADMIN or MANAGE_REQUESTS permissions. Otherwise, only the logged-in user's requests
        are returned.
      x-source: https://docs.seerr.dev/api/get-all-requests
      parameters:
      - name: requestedBy
        in: query
        required: false
        schema:
          type: string
        description: If specified, only requests from that particular user ID will be returned.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_request
      tags:
      - Request
      summary: Create new request
      description: Creates a new request with the provided media ID and type. The REQUEST permission is required. If the user has the ADMIN or
        AUTO_APPROVE permissions, their request will be automatically approved.
      x-source: https://docs.seerr.dev/api/create-new-request
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /request/{requestid}:
    delete:
      operationId: delete_request_requestid
      tags:
      - Request
      summary: Delete request
      x-source: https://docs.seerr.dev/api/delete-request
      parameters:
      - name: requestid
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_request_requestid
      tags:
      - Request
      summary: Get MediaRequest
      description: Returns a specific MediaRequest in a JSON object.
      x-source: https://docs.seerr.dev/api/get-media-request
      parameters:
      - name: requestid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/about:
    get:
      operationId: get_settings_about
      tags:
      - Settings
      summary: Returns current server stats in a JSON object.
      x-source: https://docs.seerr.dev/api/get-server-stats
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/discover/add:
    post:
      operationId: post_settings_discover_add
      tags:
      - Settings
      summary: Add a new slider
      x-source: https://docs.seerr.dev/api/add-a-new-slider
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostSettingsDiscoverAddResponse'
      x-evidence:
        kind: documentation
  /settings/jellyfin/users:
    get:
      operationId: get_settings_jellyfin_users
      tags:
      - Settings
      summary: Returns a list of Jellyfin Users in a JSON array.
      x-source: https://docs.seerr.dev/api/get-jellyfin-users
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/jobs:
    get:
      operationId: get_settings_jobs
      tags:
      - Settings
      summary: Returns list of all scheduled jobs and details about their next execution time in a JSON array.
      x-source: https://docs.seerr.dev/api/get-scheduled-jobs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/logs:
    get:
      operationId: get_settings_logs
      tags:
      - Settings
      summary: Returns list of all log items and details
      x-source: https://docs.seerr.dev/api/returns-logs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/main:
    get:
      operationId: get_settings_main
      tags:
      - Settings
      summary: Retrieves all main settings in a JSON object.
      x-source: https://docs.seerr.dev/api/get-main-settings
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/plex:
    get:
      operationId: get_settings_plex
      tags:
      - Settings
      summary: Retrieves current Plex settings.
      x-source: https://docs.seerr.dev/api/get-plex-settings
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/plex/library:
    get:
      operationId: get_settings_plex_library
      tags:
      - Settings
      summary: Get Plex libraries
      description: Returns a list of Plex libraries in a JSON array.
      x-source: https://docs.seerr.dev/api/get-plex-libraries
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /settings/plex/users:
    get:
      operationId: get_settings_plex_users
      tags:
      - Settings
      summary: Get Plex users
      description: Returns a list of Plex users in a JSON array. Requires the MANAGE_USERS permission.
      x-source: https://docs.seerr.dev/api/get-plex-users
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSettingsPlexUsersResponse'
      x-evidence:
        kind: documentation
  /status:
    get:
      operationId: get_status
      tags:
      - Status
      summary: Get Seerr status
      description: Returns the current Seerr status in a JSON object. updateAvailable and commitsBehind are omitted when checkUpdateAvailable
        is false.
      x-source: https://docs.seerr.dev/api/get-seerr-status
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /tv/{tvid}:
    get:
      operationId: get_tv_tvid
      tags:
      - Tv
      summary: Get TV details
      description: Returns full TV details in a JSON object.
      x-source: https://docs.seerr.dev/api/get-tv-details
      parameters:
      - name: tvid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /tv/{tvid}/ratings:
    get:
      operationId: get_tv_tvid_ratings
      tags:
      - Tv
      summary: Get TV ratings
      description: Returns ratings based on provided tvId in a JSON object.
      x-source: https://docs.seerr.dev/api/get-tv-ratings
      parameters:
      - name: tvid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /user:
    get:
      operationId: get_user
      tags:
      - User
      summary: Get all users
      x-source: https://docs.seerr.dev/api/get-all-users
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_user
      tags:
      - User
      summary: Creates a new user. Requires the MANAGE_USERS permission.
      x-source: https://docs.seerr.dev/api/create-new-user
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostUserResponse'
      x-evidence:
        kind: documentation
  /user/{userid}:
    delete:
      operationId: delete_user_userid
      tags:
      - User
      summary: Deletes the user with the provided userId.
      x-source: https://docs.seerr.dev/api/delete-user-by-id
      parameters:
      - name: userid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_user_userid
      tags:
      - User
      summary: Retrieves user details in a JSON object. Requires the MANAGE_USERS permission.
      x-source: https://docs.seerr.dev/api/get-user-by-id
      parameters:
      - name: userid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserUseridResponse'
      x-evidence:
        kind: documentation
  /user/{userid}/watch_data:
    get:
      operationId: get_user_userid_watch_data
      tags:
      - User
      summary: Get watch data
      description: Returns play count, play duration, and recently watched media. Requires the ADMIN permission to fetch results for other users.
      x-source: https://docs.seerr.dev/api/get-watch-data
      parameters:
      - name: userid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetAuthMeResponse:
      type: object
      properties:
        '200':
          type: string
          description: Object containing the logged-in user in JSON
    GetDiscoverMoviesResponse:
      type: object
      properties:
        '200':
          type: string
          description: Results
    GetMovieMovieidResponse:
      type: object
      properties:
        '200':
          type: string
          description: Movie details
    PostSettingsDiscoverAddResponse:
      type: object
      properties:
        '200':
          type: string
          description: Returns newly added discovery slider
    GetSettingsPlexUsersResponse:
      type: object
      properties:
        Plex users:
          type: array
          description: Returns a list of Plex users in a JSON array.
    GetUserResponse:
      type: object
      properties:
        '200':
          type: string
          description: A JSON array of all users
    PostUserResponse:
      type: object
      properties:
        '201':
          type: string
          description: The created user
    GetUserUseridResponse:
      type: object
      properties:
        '200':
          type: string
          description: Users details in JSON
tags:
- name: Auth
- name: Discover
- name: Issue
- name: Issuecomment
- name: Keyword
- name: Media
- name: Movie
- name: Overriderule
- name: Person
- name: Request
- name: Settings
- name: Status
- name: Tv
- name: User