skillfed

jellyfin-apiclient-python

Python API client for Jellyfin

jellyfin-apiclient-python v1.18.0 83.5K downloads/30d#14,069 on PyPI149
Copyleft license ### GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) Active released

What it is and what it does

jellyfin-apiclient-python is a Python wrapper around the Jellyfin media server REST API, extracted from the Jellyfin Kodi addon to enable standalone use. It handles server authentication via username/password or API key, session management, and provides methods to search media, fetch metadata, control playback, and manage user data. The client depends on requests, urllib3, websocket_client, and certifi for HTTP communication and WebSocket support.

The package is intentionally incomplete—it exposes common Jellyfin API operations but may require manual additions for less-used endpoints. It supports timesync, SyncPlay, remote session control, and backup APIs. Configuration is done through a config object, and API calls return dictionaries with Items, TotalRecordCount, and StartIndex fields.

Use it for:

  • Build a custom media player or remote control application that communicates with a Jellyfin server
  • Automate media library management tasks such as searching, fetching metadata, or updating user playback state
  • Integrate Jellyfin into a home automation or media center workflow without relying on Kodi
  • Create a CLI tool or bot that queries and controls Jellyfin playback across multiple sessions
  • Develop a third-party interface to browse and stream from a Jellyfin instance

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for interacting with Jellyfin media server APIs, enabling programmatic access to search, browse, authenticate, and control Jellyfin instances.

Yes, if you need programmatic access to a Jellyfin server and accept GPLv3 copyleft terms. The package is actively maintained, has low dependency friction, and covers most common use cases. Be aware that the API is intentionally incomplete—you may need to extend it for specialized endpoints. Not suitable for proprietary applications due to GPLv3 licensing.

Install

jellyfin-apiclient-python on PyPI

pip

pip install jellyfin-apiclient-python

uv

uv add jellyfin-apiclient-python

poetry

poetry add jellyfin-apiclient-python

Installing jellyfin-apiclient-python

Before you install

Low install friction with standard HTTP dependencies (requests, urllib3, websocket_client, certifi). Package is actively maintained with recent releases; last commit 2026-07-31, 14 days before current snapshot.

License in practice

GPLv3 copyleft license requires that any derivative work or distribution must also be licensed under GPLv3 and include source code. Suitable for open-source projects; proprietary applications cannot use this without licensing implications.

Quickstart

pip install jellyfin-apiclient-python

from jellyfin_apiclient_python import JellyfinClient
client = JellyfinClient()
client.config.app('your_app', '0.0.1', 'machine_name', 'unique_id')
client.auth.connect_to_address('server_url')
client.auth.login('server_url', 'username', 'password')
results = client.jellyfin.search_media_items(term="search_term", media="Videos")

Verify before relying

  • Whether the API client covers all current Jellyfin server endpoints or remains incomplete as stated
  • Compatibility with specific Jellyfin server versions beyond the general Python 3.6+ requirement

Package facts

License ### GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) (copyleft)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 4 — requests, urllib3, websocket_client, certifi
Maintenance actively maintained — 14 days since the last release
Last repo commit
First released
Downloads 83,532/month — #14,069 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jellyfin_apiclient_python-1.18.0-py3-none-any.whl

License :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 3

Tags

jellyfin api clientjellyfin python librarymedia server api clientjellyfin authenticationjellyfin media searchjellyfin server integrationjellyfin remote control
media-serverjellyfinrest-api

More WWW/HTTP packages