FetchArr is a powerful metadata aggregation and enrichment tool for your media library. It integrates with Jellyfin, Radarr, Sonarr, and external APIs like TMDb, IMDb, and TVDb to fetch, enrich, and store metadata for movies and TV shows.
| Feature | Status | Description |
|---|---|---|
| Integrations | ✅ Implemented | Fetch metadata from Jellyfin, Radarr, and Sonarr. |
| Metadata Enrichment | ✅ Implemented | Enhance data using TMDb, IMDb, and TVDb. |
| Efficient Caching | ✅ Implemented | Redis-backed caching for fast responses. |
| Persistent Storage | ✅ Implemented | PostgreSQL-based long-term metadata storage. |
| REST API | ✅ Implemented | Simple API for querying and managing metadata. |
- Python 3.13+
- Docker and Docker Compose
- API keys for TMDb, IMDb, TVDb, Jellyfin, Radarr, and Sonarr
-
Clone the Repository:
git clone https://github.com/yourusername/fetcharr.git cd fetcharr -
Set Up Environment Variables: Create a
.envfile in the root directory and add:DATABASE_URL=postgresql://user:password@db/media_aggregator REDIS_URL=redis://redis:6379 TMDB_API_KEY=your_tmdb_api_key IMDB_API_KEY=your_imdb_api_key TVDB_API_KEY=your_tvdb_api_key JELLYFIN_API_KEY=your_jellyfin_api_key RADARR_API_KEY=your_radarr_api_key SONARR_API_KEY=your_sonarr_api_key TZ=your_timezone UID=your_user_id GID=your_group_id
-
Build and Start the Application:
docker-compose up --build -d
-
Access the API:
- Visit
http://localhost:8000/docsfor the interactive API documentation. - Access
http://localhost:8000to use FetchArr.
- Visit
GET /metadata- List all stored metadata.POST /metadata/enrich/{title}- Enrich metadata for a specific title.
GET /jellyfin/library- Fetch the media library from Jellyfin.
GET /radarr/movies- Retrieve movie metadata from Radarr.
GET /sonarr/series- Retrieve TV show metadata from Sonarr.
| Feature | Status | Description |
|---|---|---|
| Plex Integration | ⏳ Planned | Add metadata support for Plex. |
| Emby Integration | ⏳ Planned | Add metadata support for Emby. |
| Advanced Filtering | ⏳ Planned | Filter by genre, rating, and release year. |
| Frontend UI | ⏳ Planned | Web dashboard for metadata visualization. |
| Enhanced Notifications | ⏳ Planned | Custom notifications for new content. |
Contributions are welcome! Fork the repository, create a feature branch, and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
If you like this project, consider buying me a coffee to support further development:
Made with ❤️ by Stephen Jacobs