Skip to content

Getting Started

Why immichpy?

Looking for a stable, ecosystem-aligned API client? Read the adoption rationale.

Installation

You need Python 3.10–3.14 installed to be able to use this library.

uv add immichpy
pip install immichpy

Structure

This client is async-only. It exposes API groups as attributes, and endpoints as methods on those groups. Groups and endpoints are documented in the Reference section. See the Immich API documentation for more information.

Setup

  1. Have your Immich server running or use the demo server.
  2. Get an API key from your Immich account settings.

Basic Usage

You can use the client with or without a context manager.

main.py
import asyncio
from immichpy import AsyncClient

async def main():
    async with AsyncClient(api_key="your-immich-api-key", base_url="http://localhost:2283/api") as client:
        await client.server.get_about_info()

asyncio.run(main())
main.py
import asyncio
from immichpy import AsyncClient

async def main():
    client = AsyncClient(api_key="your-immich-api-key", base_url="http://localhost:2283/api")
    try:
        await client.server.get_about_info()
    finally:
        await client.close()

asyncio.run(main())

Run it with

$ python main.py

{
  "build": "20375083601",
  "version": "v2.4.1",
}