Skip to content

AIOMetadata

AIOMetadata is a free, open-source Stremio addon that supplies what you browse: catalogues, posters, descriptions and ratings. It finds no streams itself, so most people pair it with AIOStreams. It aggregates and enriches movie, series, and anime metadata from multiple sources (TMDB, TVDB, MyAnimeList, AniList, IMDb, TVmaze, Fanart.tv, MDBList, and more), giving you full control over catalog sources, artwork, and search

ElfHosted runs a free public instance at https://aiometadata.elfhosted.com, with TMDB, TVDB and Fanart.tv keys built in, and private instances with pre-warming. To compare public instances, see AIOMetadata instances compared.

ElfHosted sponsors the AIOMetadata developer ❤

The AIOMetadata developer maintains an active support channel (#elf-aiometadata) in our Discord community, the app itself is tuned to work well with ElfHosted defaults, and ElfHosted maintain an ongoing sponsorship of the developer.

Get a 7-day trial of ElfHosted AIOMetadata! 🪄

How do I access AIOMetadata?

AIOMetadata is available:

Signed-in users see their own URLs

The addresses above show the general pattern. Sign in and these become your personal, clickable links.

Info

This service integrates with cloud storage providers. ElfHosted provides hosting infrastructure only. Users are responsible for their use of this service in compliance with applicable laws and third-party terms of service.

How do I use it?

Install in Stremio

  1. Open your AIOMetadata address with /configure on the end.
  2. Pick your catalogs, metadata sources and artwork, then Save Configuration. Keep the UUID and password it shows you: you need both to edit this configuration later.
  3. Press Install, then either open it straight in Stremio, or copy the manifest link and paste it into Stremio's addon search box.

The manifest link looks like https://<your AIOMetadata address>/stremio/<uuid>/manifest.json. Treat it as private: anyone with it can use your configuration.

Pre-warming

AIOMetadata, by default, will "pre-warm" its catalogs on TMDB for movies, TVDB for series and MAL for anime, in English. ElfHosted private instances route supported metadata lookups through the managed in-cluster metadata cache, so you do not need to bring your own TMDB or TVDB API keys for the default setup. If the AIOMetadata configurator exposes an optional provider key for a specific personal list or quota, you can still add your own key there.

To tailor pre-warming to your own setup, generate a UUID by doing a complete setup, and then pass that UUID to AIOMetadata as an environment variable, using ElfBot. You can repeat this warm-up for up to 5 UUIDs, comma-separated.

Quick-paste into AIOMetadata's environment variables using ElfBot
CACHE_WARMUP_UUIDS=<your uuid>,<next uuid>,<third uuid>,<fourth uuid>,<fifth uuid>

Connecting Trakt

Trakt is already set up on your instance, so there is no need to register a Trakt application of your own.

  1. Open AIOMetadata's configure page and pick the Trakt integration.
  2. Under Connect with a code, click Get a Trakt code.
  3. Sign in on the Trakt page that opens, type the code in, and come back to AIOMetadata. It picks the authorization up on its own.

Connecting Trakt twice costs you one connection, not two

A free Trakt account may keep a single community application connected. AIOMetadata and JellyStreams both connect through the same ElfHosted application, so authorizing each of them still leaves you inside that limit.

AIOMetadata no longer records what you watch on Trakt

Trakt still powers your catalogs, lists and watchlist here, but AIOMetadata stopped sending plays to Trakt in v3.2.1. To keep your Trakt history up to date, watch through JellyStreams, which records plays on Trakt for each profile. Simkl and MDBList watch tracking still work in AIOMetadata.

If you would rather use your own Trakt application, set its credentials with ElfBot and AIOMetadata will use yours in place of ours. Add TRAKT_AUTH_MODE=both alongside them to bring back the browser authorization button, which needs your application to carry https://<your-aiometadata-url>/api/auth/trakt/callback as a redirect URI.

Quick-paste into AIOMetadata's environment variables using ElfBot
TRAKT_CLIENT_ID=<your trakt client id>
TRAKT_CLIENT_SECRET=<your trakt client secret>
TRAKT_AUTH_MODE=both

TRAKT_AUTH_MODE=both belongs with your own credentials

Trakt refuses a browser authorization whose redirect URI is not registered against the application making the request, and the ElfHosted application carries no redirect URI for your hostname. On our credentials, leave the mode alone and connect with a code.

Connecting Simkl

Simkl signs you in through an app you register yourself, because Simkl checks each sign-in against the address it was registered for, and that address is your own AIOMetadata URL. It takes a couple of minutes:

  1. Sign in to Simkl and open Simkl's developer settings.
  2. Register a new app as Server apps & services, and give it this redirect URI: https://<your-aiometadata-url>/api/auth/simkl/callback
  3. Copy the app's client ID and client secret, and set them in AIOMetadata's environment variables with ElfBot. AIOMetadata restarts with them:

    Quick-paste into AIOMetadata's environment variables using ElfBot
    SIMKL_V2_CLIENT_ID=<your simkl client id>
    SIMKL_V2_CLIENT_SECRET=<your simkl client secret>
    
  4. Open AIOMetadata's configure page, pick the Simkl integration and connect. Simkl opens in your browser, you approve it, and you land back on the configure page.

Your Simkl requests count against your own daily Simkl allowance (500 on a free account, more on PRO and VIP, shared with any other apps you've connected to Simkl), and the Simkl integration shows how much of it is left today.

No redirect URI? Leave out the secret

If you register the app without a client secret, set only SIMKL_V2_CLIENT_ID. AIOMetadata then offers Simkl's code sign-in instead: it shows a code, you enter it at simkl.com/pin, and AIOMetadata picks the connection up on its own.

Your private instance includes AI Search, with nothing to set up and no AI key of your own. On the configure page, switch AI Search on under Search and save. An AI Search row then appears alongside your normal search results, so a search like "films about lighthouses" finds films that are about lighthouses, not only films with the word in their title.

The Model and Web Search choices don't apply to the included AI: ElfHosted picks the model, and web search isn't available through it. The included AI carries a monthly allowance that's generous for searching. If you would rather use your own Gemini or OpenRouter API key, add it to your configuration and AI Search uses yours instead.

Can I use AIOMetadata as a Jellyfin server?

Yes. AIOMetadata can present your configuration as a Jellyfin server, so Jellyfin apps (Infuse, Swiftfin, Findroid, and the Jellyfin web and TV apps) can sign in to it and browse your catalogs and collections, with Continue Watching, Next Up, watched ticks and a watchlist. Nothing is transcoded or stored on your instance. AIOMetadata answers the browsing, and the app plays each title straight from the stream addon in your configuration, so add one (AIOStreams is the usual choice) or titles will browse but not play.

The Jellyfin server is off by default. Switch it on by setting JELLYFIN_API_ENABLED to true with ElfBot, and AIOMetadata restarts with it on:

Quick-paste into AIOMetadata's environment variables using ElfBot
JELLYFIN_API_ENABLED=true

Then connect an app:

  1. Open AIOMetadata's configure page and save your configuration.
  2. Press Jellyfin, next to Install. The dialog shows your server address, which looks like https://<your-aiometadata-url>/jellyfin/<configuration id>.
  3. In your Jellyfin app, add a server with that address, and sign in with your configuration password. If your app supports Quick Connect, it shows a code instead: enter that code in the Jellyfin dialog and the app signs in without a password.

Treat the Jellyfin server address like your install URL

Anyone holding the address and a password can browse your catalogs. To sign every app out at once, replace the client password in the Jellyfin dialog.

Plays through the Jellyfin server are recorded on the trackers you've connected (MDBList, Simkl, PublicMetaDB, AniList or MyAnimeList), when watch tracking is on for them. The upstream Jellyfin server guide covers users, libraries, the version picker and subtitles in depth.

To switch the Jellyfin server off again, remove JELLYFIN_API_ENABLED with ElfBot.

Dashboard

Your addon dashboard will be accessible at https://<your-aiometadata-url>/addon/. No password is required in the browser, because the URL is protected with your ElfHosted SSO login.

Admin dashboard

A private instance also carries an admin dashboard, at https://<your-aiometadata-url>/dashboard. It reports what your instance has served, what was recently played and when, how the cache is behaving, and which configurations are in use.

The admin-only views need an admin key, which you choose yourself and set with ElfBot:

Quick-paste into AIOMetadata's environment variables using ElfBot
ADMIN_KEY=<a long random string of your own>

Open the dashboard once it restarts, and enter that key when it asks. Treat it like a password: anyone holding it can read your instance's analytics and clear its caches.

Frequently asked questions

What is AIOMetadata?

AIOMetadata is a free, open-source Stremio addon, written by cedya77, that supplies what you browse: catalogues, posters, logos, descriptions, ratings and episode lists, drawn from TMDB, TVDB, MyAnimeList, AniList, IMDb, Fanart.tv, MDBList and more. It finds no streams itself; pair it with an addon such as AIOStreams for those.

How do I install AIOMetadata in Stremio?

Open https://aiometadata.elfhosted.com/configure (or your own instance's address with /configure on the end), pick your catalogues and sources, choose Save Configuration, then Install. Keep the UUID and password it shows you: you need both to edit the configuration later.

Does AIOMetadata replace Cinemeta?

It can. Cinemeta is the metadata addon built into Stremio, and many people use AIOMetadata in its place for richer catalogues and artwork.

Do I need TMDB or TVDB API keys for AIOMetadata?

Not on ElfHosted's instances, which supply TMDB, TVDB and Fanart.tv keys. Some other public instances don't: AIOMetadata instances compared shows which.

Does AIOMetadata work with Nuvio?

Yes. Nuvio uses Stremio addons, so install AIOMetadata with the same manifest link and put it at the top of your addon list. See the Nuvio addons guide.

Is AIOMetadata down?

Check the instance you use: ElfHosted's is on status.elfhosted.com, and opening https://aiometadata.elfhosted.com/manifest.json in a browser shows whether it answers. Is AIOMetadata down? has more checks.

What does a private AIOMetadata instance add?

Pre-warmed catalogues and cached posters so rows load quickly, Trakt search, AI Search with the provider included, a virtual Jellyfin server, and an admin dashboard. It costs $9 a month after a $1, 7-day trial.

AIOMetadata also works with

How do I get support for AIOMetadata?

  1. For general use of AIOMetadata, refer to the official site or to one of the links in the resources section below.

  2. For specific support re your ElfHosted configuration / account, see the ElfHosted support options!

You can contribute directly to the development of AIOMetadata using the following:

AIOMetadata resources

What users say..

We're rocking some excellent ⭐⭐⭐⭐⭐ TrustPilot Reviews, and here's what some of our usersfriends say..

I am new here, but today I learned realized that Elfhosted is one of the best free and open source software communities I've seen, and FOSS communities have been at the center of my life since the 90s (Perl, PHP, Symfony, Drupal, Ethereum, etc.). Great open software built by great people who care = great community, and that is something special.

You've done an amazing job @Funky Penguelf with the platform you provide and this place has an awesome mix of active community caretakers and software creators that I've seen here so far like BSM, Spoked, LayeZee and other elf vengers. Keep up the energy, productivity and community and take time to enjoy it and appreciate each other!

⭐⭐⭐⭐⭐ @skwah (Discord)

As a happy Elfhosted customer—who also self hosts MANY things across about 10 severs (dedicated, VPSes, and VMs running on Synology), I wouldn’t switch to self hosting the services I get from Elfhosted. They just work with very little effort configuring things, and the support the owner and his team provides is second to none. Plus I love being part of a fledgling—but quickly growing—enterprise.

⭐⭐⭐⭐⭐ /u/jatguy. (Reddit)

I’ve been using this service for a while now, and honestly, it’s a game-changer compared to anything else I’ve tried for managing my media library. The support is fantastic—super quick, and if the staff aren’t around (which rarely happens), the community steps up right away. I can’t imagine going back to any other platform.

Before this, I had my own setup with a NUC, NAS, and tools like Sonarr and Radarr. It worked pretty well for a while, and my internet speed was high enough to stream without any buffering. But in the end, it wasn’t worth the time or headache of managing all the storage and keeping everything running smoothly.

Now, with this service, everything runs smoothly in 1080p+ with no buffering issues. The interface is really easy to use, which makes managing everything a breeze. Plus, having a whole community of smart people available for guidance is a huge bonus.

I was sold from the start, which is why I quickly upgraded from a 1-month to a 3-month subscription, and I’m planning to switch to a 1-year plan soon. This service totally pays for itself, and I’m sure you won’t be disappointed. It’s been really impressive.

⭐⭐⭐⭐⭐ @seapound (Discord)

Best possible options for anyone looking for the do-it-all option along with the best customer service ive experienced in this space so far. Id rate it a 6 if I could but its limited to 5/5...

⭐⭐⭐⭐⭐ @hashmelters (Discord)

(responding to a discussion re the cost of ElfHosted vs mainstream streaming / self-hosting):

I didn't know that the goal of this project was to compete with large companies running/renting entire DCs. I was under the impression that the goal of this project was to manage the updating of almost selfhosted applications on a shared platform with other users. Basically, be my sysadmin for me.

That being said, paying for services is the 'easy button'. There is a real world cost incurred for the time saved. Time is money. Time is the most valuable currency that exists. Once time is spent, it's forever lost, one cannot retrieve it again (yet). In my mind, there are 3 options for use of time with respect to: mainstream, selfhosting, elfhosted.

  • mainstream - my time is valuable and I don't want curated content and I don't care what content that I have the ability to consume. I only like what's popular.

  • elfhosted - my time is valuable, I want my own curated content without being forced to browse past the same damn entry 500 times just to find out that I can't watch the movie I want because it's not available in my current location or was removed last week from mainstream providers.

  • selfhost - I care about costs and I have nothing but time to waste or I want to learn about the backend of the systems involved. I'll pay for my own VPS/homelab, electricity, manage the OS, manage app updates, figure out how to make the apps talk nice to each other, create my own beautiful frontend.

I know how much my time is worth, does that reddit poster know how much their time is worth? Without knowing what you are worth, you can't make effective capital expenditures with respect to the time it will take to recoup the capital.

I know I don't need elfhosted at all for my use case. I choose to stay with elfhosted because it's my 'easy button'. It's an efficient capital expense for the amount of time it saves me managing my own hardware, apps and saves me electricity costs. I'm also in a situation where I don't have upload bandwidth from my home to serve HD content to myself remotely. If I lived back in a city, I would still be here. My time is worth $$/hr.

⭐⭐⭐⭐⭐ @cobra2 (Discord)

"Just wanted to check in here and let @Darth-Penguini and anyone/everyone else know...WOW. I have been struggling with storage for years, maintenance of Docker containers, upkeep, all of it. Elfhosted is so freeing. It's an amazing service that I hope to be a member of for a long, long time!"

⭐⭐⭐⭐⭐ @Fingers91 (Discord)

"I would recommend ElfHosted to anyone. It has been great so far and made life a lot easier than running my own setups. If you’re in the fence give them a try and help support this great community."

⭐⭐⭐⭐⭐ Zestyclose_Teacher20 (Reddit)

"thanks for the help and must say this is the best host I every had for my server 🙂 10/10 🙂 All other places I have try have I got a lot buff etc. Your host can even give me full power on a 4K Remux on 200GB big movie file . That's damn awesome 😄"

⭐⭐⭐⭐⭐ @tjelite (Discord)

"What an amazing support system these guys have Chris and Layzee i think it was! Both are very patient with me even though I am a newbie at all this. Very thorough and explained everything step by step with me

I couldn’t ask for anything better than the service I have received by these guys! Happy happy client❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"Very happy customer. Great service"

⭐⭐⭐⭐⭐ @ronney67 (Discord)

"Very good customer service, frequent updates, and excelent uptime!!!!!"

⭐⭐⭐⭐⭐ @ed.guim (Discord)

"I had my own plex-arrs setup on hetzner for years. Yesterday I deleted everything as elfhosted has gone above and beyond it. And it has a fantastic, active community as well! Very friendly, helpful and like-minded folks always willing to help and improve the system. Top notch!"

⭐⭐⭐⭐⭐ @alon.hearter (Discord)

"Absolutely Amazed with the patience and professionalism of all Elf-Venger Staff including bossman penguin❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"@BSM went above and beyond to make sure I had all the one on one support needed with my sub. Thank you for your patience! Elfhosted continues to be Elftastic !!"

⭐⭐⭐⭐⭐ @bfmc1 (Discord)

"really enjoying the service from elfhosted. The setup is really easy from the guides on the website. And the help on the discord channel is really quick."

⭐⭐⭐⭐⭐ @jrhd13 (Discord)

"Support is amazing, and once you find a setup which works best for you it works perfectly, very happy 😊"

⭐⭐⭐⭐⭐ @fiendclub (Discord)

"great fast service, resolved my problem and really friendly"

⭐⭐⭐⭐⭐ @allan.st.minimum (Discord)

"Great service and sorted out a billing issue super quick and easy."

⭐⭐⭐⭐⭐ @scottcall707 (Discord)

"Very friendly support, resolved a problem with my account! I also appreciate the community that has been built around the service!"

⭐⭐⭐⭐⭐ @leo1305 (Discord)

"excellent customer service and very fast replies"

⭐⭐⭐⭐⭐ @yo.hohoho (Discord)

"Loved the simplicity, experience and support"

⭐⭐⭐⭐⭐ @y.adhish (Discord)

"Very friendly help as always, problem solved, one happy elf here!"

⭐⭐⭐⭐⭐ @badfurday0 (Discord)

"Great Helpful and Fast support. Thanks!"

⭐⭐⭐⭐⭐ @.mxrcy (Discord)