Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Usage Milestone: Time Field for Drupal 8+ Module time_field crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Jellyfin Integration

No security coverage Drupal 9–11
View on drupal.org

This module integrates your Drupal site with Jellyfin, a free media system. It allows you to display and manage your media libraries directly within Drupal by connecting to Jellyfin's API. You can browse libraries, view item details, and generate links for streaming media.

Overview

The Jellyfin Integration module provides a comprehensive Service-Oriented Architecture (SOA)
integration with Jellyfin, the free software media system. This module allows
Drupal developers to easily interact with Jellyfin's REST API to display and manage media libraries within their
Drupal sites.

Features

  • 30+ API Methods - Complete coverage of Jellyfin's key API endpoints
  • AJAX Connection Testing - Verify your configuration instantly from the admin UI
  • Library Browser - Built-in interface for browsing media libraries
  • Movie Grid - Visual display of your movie collection with posters
  • Item Details - Full metadata display including ratings, runtime, genres, and overview
  • Image URL Generation - Methods for posters, backdrops, and thumbnails
  • Stream URL Generation - Direct video streaming URLs

Available API Methods

System Operations

  • testConnection() - Verify server connectivity
  • getServerInfo() - Get server information
  • getPublicInfo() - Get public server info (no auth)

Library Operations

  • getLibraries() - List all media libraries
  • refreshLibrary() - Trigger library refresh
  • getMediaFolders() - Get media folders

Item Operations

  • getItems($params) - Query items with filters
  • getItem($itemId) - Get specific item details
  • getMovies($params) - Get movies
  • getSeries($params) - Get TV series
  • getEpisodes($params) - Get episodes
  • getLatestMedia($userId) - Get recently added
  • getSimilarItems($itemId) - Get similar items

Search & Metadata

  • search($query) - Search library
  • getGenres() - List genres
  • getStudios() - List studios
  • getArtists() - List artists
  • getPersons() - List persons (actors, directors)

Image & Playback

  • getPosterUrl($itemId) - Get poster image URL
  • getBackdropUrl($itemId) - Get backdrop image URL
  • getStreamUrl($itemId) - Get video stream URL

Requirements

  • Drupal 9.4, 10, or 11
  • A running Jellyfin server (10.x recommended)
  • API key with appropriate permissions

Installation

  1. Download and install the module
  2. Navigate to Configuration → Media → Jellyfin Integration
  3. Enter your Jellyfin server URL and API key
  4. Click "Test Connection" to verify
  5. Save configuration

Usage Example

// Get the Jellyfin client service
$jellyfin = \Drupal::service('jellyfin_integration.client');

// Get all movies
$movies = $jellyfin->getMovies(['Limit' => 20]);

// Display movie posters
foreach ($movies['Items'] as $movie) {
  $poster = $jellyfin->getPosterUrl($movie['Id'], 300);
  // Use $poster URL in your template
}

Related Modules

Credits

Developed following Service-Oriented Architecture patterns for clean, maintainable code.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Jan 2026
Latest release
7 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core Release date
1.0.1 Stable 9–11 Jan 13, 2026
1.0.0 Stable 9–11 Jan 7, 2026