Tsarr Documentation - v2.11.0
    Preparing search index...

    Class SeerrClient

    Seerr API client for media request management

    Works with Seerr, Jellyseerr, and Overseerr. Uses API key authentication via the X-Api-Key header.

    const seerr = new SeerrClient({
    baseUrl: 'http://localhost:5055',
    apiKey: 'your-api-key'
    });

    const requests = await seerr.getRequests();
    const results = await seerr.search('The Matrix');
    Index

    Constructors

    Methods

    • Returns Promise<
          (
              | { data: undefined; error: unknown }
              | {
                  data: {
                      version?: string;
                      commitTag?: string;
                      updateAvailable?: boolean;
                      commitsBehind?: number;
                      restartRequired?: boolean;
                  };
                  error: undefined;
              }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      • Optionaloptions: {
            take?: number;
            skip?: number;
            filter?:
                | "pending"
                | "failed"
                | "completed"
                | "all"
                | "deleted"
                | "approved"
                | "available"
                | "processing"
                | "unavailable";
            sort?: "added"
            | "modified";
            sortDirection?: "asc" | "desc";
        }

      Returns Promise<
          (
              | { data: undefined; error: unknown }
              | {
                  data: { pageInfo?: PageInfo; results?: MediaRequest[] };
                  error: undefined;
              }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      • requestId: string

      Returns Promise<
          (
              | { data: undefined; error: unknown }
              | { data: MediaRequest; error: undefined }
          ) & { request?: Request; response?: Response },
      >

    • Returns Promise<
          (
              | { data: undefined; error: unknown }
              | {
                  data: {
                      total?: number;
                      movie?: number;
                      tv?: number;
                      pending?: number;
                      approved?: number;
                      declined?: number;
                      processing?: number;
                      available?: number;
                      completed?: number;
                  };
                  error: undefined;
              }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      • query: string
      • Optionalpage: number
      • Optionallanguage: string

      Returns Promise<
          (
              | { data: undefined; error: unknown }
              | {
                  data: {
                      page?: number;
                      totalPages?: number;
                      totalResults?: number;
                      results?: (MovieResult | TvResult | PersonResult)[];
                  };
                  error: undefined;
              }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      • Optionaloptions: {
            take?: number;
            skip?: number;
            sort?: "created" | "updated" | "requests" | "displayname";
        }

      Returns Promise<
          (
              | { data: undefined; error: unknown }
              | { data: { pageInfo?: PageInfo; results?: User[] }; error: undefined }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      • userId: number

      Returns Promise<
          ({ data: undefined; error: unknown } | { data: User; error: undefined }) & {
              request?: Request;
              response?: Response;
          },
      >

    • Parameters

      • Optionaloptions: { take?: number; skip?: number }

      Returns Promise<
          (
              | { data: undefined; error: unknown }
              | {
                  data: { pageInfo?: PageInfo; results?: MediaInfo[] };
                  error: undefined;
              }
          ) & { request?: Request; response?: Response },
      >

    • Parameters

      Returns {
          baseUrl: string;
          apiKey: string;
          timeout?: number;
          retry?: RetryOptions;
          headers?: Record<string, string>;
      }

      • baseUrl: string
      • apiKey: string
      • Optionaltimeout?: number

        Request timeout in milliseconds (default: 30000)

      • Optionalretry?: RetryOptions

        Retry configuration for transient failures

      • Optionalheaders?: Record<string, string>