Important Notice: As of June 2025, active development and maintenance of AIOCatalogs has been discontinued. While the project will remain available for use, no further updates, bug fixes, or support will be provided. Users are encouraged to explore alternative solutions for their catalog management needs. We thank the community for their support throughout the project's lifespan.
Note
AIOCatalogs is an open-source addon that combines multiple catalog addons into a single one. It offers enhanced performance, user-friendly configuration, and supports various platforms like Stremio, Omni, Vidi, Fusion and more. Developed for maximum flexibility and compatibility.
Public Instance: https://aiocatalogs.jqrw92fchz.workers.dev/configure or https://aio.pantelx.com/configure
Discord Server: Join our Discord for community discussions and support
Self-Hosting: Check out the Self-Hosting Guide
Support the Project: Buy Me A Coffee or Become a GitHub Sponsor
- Multi-level caching system to minimize API calls
- D1 database integration for persistent storage
- Cloudflare Workers for serverless architecture and global edge network
- Development with Wrangler CLI
- Rate limiting to protect API endpoints
- Enhanced logging capabilities for better debugging and monitoring
- Discord error logging for real-time issue tracking
- Combine multiple catalog addons into a single addon
- User-friendly configuration via modern, intuitive web interface
- Dynamic loading and caching of catalog data
- Intelligent request routing to the appropriate source addons
- Drag-and-drop functionality for reordering catalogs
- Add MDBList catalogs with one click through direct API integration (requires MDBList API key)
- See RPDB ratings on posters (requires RPDB API key)
- Advanced catalog organization tools
- TMDB (Elfhosted addon) support for additional content sources (requires TMDB Elfhosted addon)
- MDBList Integration: Seamlessly integrate with MDBList catalogs by simply adding your API key. Browse and import any of your MDBList collections directly within the configuration interface.
- RPDB Rating Posters: Display movie and TV show ratings directly on the posters for quick visual reference. Ratings are fetched from reliable sources to help you make better viewing decisions at a glance.
- Custom Catalogs: Create and manage your own catalogs with ease, including support for custom sorting and filtering options.
- Customizable Display Options: Configure how content appears in your catalogs with various sorting and filtering options.
- Seamless integration with various streaming platforms
- Optimized for multi platform compatibility
- Unified API for consistent results
- This addon should work on all platforms that support the addon manifest.
For optimal performance and privacy compared to the public instance, you can self-host the addon using Cloudflare Workers:
Note
AIOCatalogs must be deployed on Cloudflare's infrastructure for production use. As we are using the D1 database, we need to use wrangler to add data to the database.
Deploy to Cloudflare's global edge network for optimal performance:
# Clone the repository
$ git clone https://github.com/pantelx/aiocatalogs.git && cd aiocatalogs
# Install dependencies
$ npm i
# Copy the example wrangler.toml file
$ cp wrangler.toml.example wrangler.toml
# Edit the wrangler.toml file with your own values
# Log in to Cloudflare
$ wrangler login
# Create D1 database
$ wrangler d1 create aiocatalogs
# Insert the returned database ID in `wrangler.toml`
# Apply migrations
$ wrangler d1 migrations apply aiocatalogs --remote
# Deploy to Cloudflare
$ npm run deploy# Clone the repository
$ git clone https://github.com/pantelx/aiocatalogs.git && cd aiocatalogs
# Install dependencies
$ npm i
# Build the addon
$ npm run build
# Copy the example wrangler.toml file
$ cp wrangler.toml.example wrangler.toml
# Edit the wrangler.toml file with your own values
# Apply local migrations
$ wrangler d1 migrations apply aiocatalogs
# Cloudflare worker development with locally simulated D1 database
$ npm run devNote
The development mode uses a locally simulated Cloudflare D1 database. You only need to deploy to Cloudflare when moving to production.
Preview your changes before deploying to Cloudflare:
$ npm run previewBump the version, release and publish to npm:
$ npm run releaseAIOCatalogs is an addon that combines multiple catalog addons into a single addon. It allows you to search and discover content from various sources in a single addon, without having to install multiple addons individually.
From now on, AIOCatalogs will no longer be possible to self-host via docker or from source (with node). This step is necessary to achieve a standardised structure of the code and to make it easier to add features or fix bugs. Due to the different data storage approaches, I had to implement most functions twice, which led to bugs and significantly more debugging. Starting now, AIOCatalogs will only use the cloudflare D1 database, which means I will have to use wrangler to add data to the database. The alternative would be to use the cloudflare API, but this leads to a significant increase in latency, so I decided against it. The addon can still be self-hosted via cloudflare workers.
You can configure the addon using environment variables:
-
Cloudflare Configuration: Configure the D1 database in the
wrangler.tomlfile -
Environment Variables:
-
AIOCATALOGS_API_CACHE_EXPIRATION_MDBLIST: Cache expiration time in minutes for MDBList API (default: 60) -
AIOCATALOGS_API_CACHE_EXPIRATION_RPDB: Cache expiration time in days for RPDB API (default: 7) -
AIOCATALOGS_API_MAX_ITEMS_MDBLIST: Maximum number of items to fetch from MDBList API (default: 100) -
AIOCATALOGS_API_MAX_REQUESTS: Maximum number of requests per minute (default: 60) -
AIOCATALOGS_API_RATE_LIMIT: Enable rate limiting (default: true) -
AIOCATALOGS_TRUSTED_ORIGINS: List of trusted origins for redirects (comma-separated URLs) -
LOG_LEVEL: Log level (default: info) -
LOG_ENABLE_TIMESTAMPS: Enable timestamps in logs (default: true) -
LOG_TIMESTAMP_FORMAT: Timestamp format (default: dd.MM.yyyy HH:mm:ss) -
LOG_TIMEZONE: Timezone for timestamps (default: Europe/Berlin) -
DISCORD_WEBHOOK_URL: Discord webhook URL for notifications - Add encrypted value to your Cloudflare worker instance (default: null - which means no notifications will be sent) -
DISCORD_BOT_NAME: Discord bot name (default: AIOCatalogs - Error Logger) -
DISCORD_BOT_AVATAR: Discord bot avatar (default: null)
-
- Open the addon's web interface at your installation URL
- Click "Create New Configuration" to create a new user ID
- Add catalog addons by entering their manifest URLs or by clicking the "Add MDBList Catalog" button
- Configure display options like RPDB rating posters for enhanced visual feedback
- Install the addon in Stremio using the displayed URL
If you can't find specific content, check the following:
- Is the source addon correctly configured?
- Is the source addon currently accessible?
- Does the source addon offer the desired content at all?
To use the MDBList integration:
- Obtain an API key from MDBList
- Enter your API key in the configuration panel
- Browse and select from MDBList Top100 collections or search for specific collections
- The selected collections will be automatically added as catalogs
RPDB (Rating Posters Database) adds visual rating indicators directly on content posters. This feature:
- Makes it easier to identify highly-rated content at a glance
- Pulls ratings from trusted sources
- Can be toggled on/off per catalog configuration
Your support helps maintain and improve this project! Please consider:
- Buy me a coffee
- Become a GitHub Sponsor
- Join our Discord community for support and updates
- Contribute on GitHub
Special thanks to:
- All contributors who have contributed through code, testing, and ideas
- The community for their feedback, support, and patience
- Project supporters who have financially supported this initiative
MIT
Note
This is an independent, fan-made addon. It connects to other source addons but has no direct connection to their operators.
